diff --git a/404.html b/404.html new file mode 100644 index 000000000..30990ba61 --- /dev/null +++ b/404.html @@ -0,0 +1,565 @@ + + + + + + + + + + + + + + + + + + + + + + ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ +

404 - Not found

+ +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/api/allclasses-index.html b/api/allclasses-index.html new file mode 100644 index 000000000..23120fdc5 --- /dev/null +++ b/api/allclasses-index.html @@ -0,0 +1,7606 @@ + + + + + +All Classes (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes

+
+
+ +
+
+ + + diff --git a/api/allclasses.html b/api/allclasses.html new file mode 100644 index 000000000..aba4aed98 --- /dev/null +++ b/api/allclasses.html @@ -0,0 +1,1272 @@ + + + + + +All Classes (ProGuardCORE) + + + + + + + + + + + + +
+

All Classes

+
+ +
+
+ + diff --git a/api/allpackages-index.html b/api/allpackages-index.html new file mode 100644 index 000000000..0396e6470 --- /dev/null +++ b/api/allpackages-index.html @@ -0,0 +1,568 @@ + + + + + +All Packages (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
+ +
+
+ + + diff --git a/api/com/example/SampleClassWithArray.html b/api/com/example/SampleClassWithArray.html new file mode 100644 index 000000000..b74666250 --- /dev/null +++ b/api/com/example/SampleClassWithArray.html @@ -0,0 +1,305 @@ + + + + + +SampleClassWithArray (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package com.example
+

Class SampleClassWithArray

+
+
+ +
+
    +
  • +
    +
    public class SampleClassWithArray
    +extends java.lang.Object
    +
    This is a sample class that can be processed.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static intgetAnswer() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SampleClassWithArray

        +
        public SampleClassWithArray()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAnswer

        +
        public static int getAnswer()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/com/example/SampleClassWithConstantComputation.html b/api/com/example/SampleClassWithConstantComputation.html new file mode 100644 index 000000000..3c4e289d0 --- /dev/null +++ b/api/com/example/SampleClassWithConstantComputation.html @@ -0,0 +1,305 @@ + + + + + +SampleClassWithConstantComputation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package com.example
+

Class SampleClassWithConstantComputation

+
+
+ +
+
    +
  • +
    +
    public class SampleClassWithConstantComputation
    +extends java.lang.Object
    +
    This is a sample class that can be processed.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static intgetAnswer() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SampleClassWithConstantComputation

        +
        public SampleClassWithConstantComputation()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAnswer

        +
        public static int getAnswer()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/com/example/SampleClassWithObjects.html b/api/com/example/SampleClassWithObjects.html new file mode 100644 index 000000000..b495c8d94 --- /dev/null +++ b/api/com/example/SampleClassWithObjects.html @@ -0,0 +1,305 @@ + + + + + +SampleClassWithObjects (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package com.example
+

Class SampleClassWithObjects

+
+
+ +
+
    +
  • +
    +
    public class SampleClassWithObjects
    +extends java.lang.Object
    +
    This is a sample class that can be processed.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static java.lang.NumbergetAnswer​(java.lang.Number answer) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SampleClassWithObjects

        +
        public SampleClassWithObjects()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAnswer

        +
        public static java.lang.Number getAnswer​(java.lang.Number answer)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/com/example/SampleClassWithRangeComputation.html b/api/com/example/SampleClassWithRangeComputation.html new file mode 100644 index 000000000..d5ffc72cc --- /dev/null +++ b/api/com/example/SampleClassWithRangeComputation.html @@ -0,0 +1,305 @@ + + + + + +SampleClassWithRangeComputation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package com.example
+

Class SampleClassWithRangeComputation

+
+
+ +
+
    +
  • +
    +
    public class SampleClassWithRangeComputation
    +extends java.lang.Object
    +
    This is a sample class that can be processed.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static intgetAnswer() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SampleClassWithRangeComputation

        +
        public SampleClassWithRangeComputation()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAnswer

        +
        public static int getAnswer()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/com/example/SampleClassWithVariableComputation.html b/api/com/example/SampleClassWithVariableComputation.html new file mode 100644 index 000000000..56d6a2174 --- /dev/null +++ b/api/com/example/SampleClassWithVariableComputation.html @@ -0,0 +1,307 @@ + + + + + +SampleClassWithVariableComputation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package com.example
+

Class SampleClassWithVariableComputation

+
+
+ +
+
    +
  • +
    +
    public class SampleClassWithVariableComputation
    +extends java.lang.Object
    +
    This is a sample class that can be processed.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static intgetAnswer​(int f1, + int f2) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SampleClassWithVariableComputation

        +
        public SampleClassWithVariableComputation()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAnswer

        +
        public static int getAnswer​(int f1,
        +                            int f2)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/com/example/package-summary.html b/api/com/example/package-summary.html new file mode 100644 index 000000000..f166248ee --- /dev/null +++ b/api/com/example/package-summary.html @@ -0,0 +1,190 @@ + + + + + +com.example (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.example

+
+
+ +
+
+ + + diff --git a/api/com/example/package-tree.html b/api/com/example/package-tree.html new file mode 100644 index 000000000..cb9652c2a --- /dev/null +++ b/api/com/example/package-tree.html @@ -0,0 +1,165 @@ + + + + + +com.example Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.example

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/constant-values.html b/api/constant-values.html new file mode 100644 index 000000000..ae8c69f97 --- /dev/null +++ b/api/constant-values.html @@ -0,0 +1,10418 @@ + + + + + +Constant Field Values (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Constant Field Values

+
+

Contents

+ +
+
+
+ + +
+

proguard.analysis.*

+ + + +
    +
  • + + + + + + + + + + + + + + + + + + + +
    proguard.analysis.cpa.util.StateNames 
    Modifier and TypeConstant FieldValue
    + +public static final java.lang.StringJvm"Jvm"
    + +public static final java.lang.StringReference"Reference"
    +
  • +
+
    +
  • + + + + + + + + + + + + + + +
    proguard.analysis.datastructure.Location 
    Modifier and TypeConstant FieldValue
    + +public static final intUNKNOWN_LINE-1
    +
  • +
+
+ + + +
+

proguard.classfile.*

+ + + + + + + + + + +
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    proguard.classfile.util.AccessUtil 
    Modifier and TypeConstant FieldValue
    + +public static final intPACKAGE_VISIBLE1
    + +public static final intPRIVATE0
    + +public static final intPROTECTED2
    + +public static final intPUBLIC3
    +
  • +
  • + + + + + + + + + + + + + + + + + + + +
    proguard.classfile.util.BranchTargetFinder 
    Modifier and TypeConstant FieldValue
    + +public static final intNO_SUBROUTINE-2
    + +public static final intUNKNOWN-1
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    proguard.classfile.util.DynamicClassReferenceInitializer 
    Modifier and TypeConstant FieldValue
    + +public static final intA1073741827
    + +public static final intB1073741828
    + +public static final intC1073741829
    + +public static final intD1073741830
    + +public static final intX1073741824
    + +public static final intY1073741825
    + +public static final intZ1073741826
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    proguard.classfile.util.InstructionSequenceMatcher 
    Modifier and TypeConstant FieldValue
    + +public static final intA1073741827
    + +public static final intB1073741828
    + +public static final intC1073741829
    + +public static final intD1073741830
    + +public static final intE1073741831
    + +public static final intF1073741832
    + +public static final intG1073741833
    + +public static final intH1073741834
    + +public static final intI1073741835
    + +public static final intJ1073741836
    + +public static final intK1073741837
    + +public static final intL1073741838
    + +public static final intM1073741839
    + +public static final intN1073741840
    + +public static final intO1073741841
    + +public static final intP1073741842
    + +public static final intQ1073741843
    + +public static final intR1073741844
    + +public static final intX1073741824
    + +public static final intY1073741825
    + +public static final intZ1073741826
    +
  • +
+
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + +
    proguard.classfile.util.kotlin.KotlinNameUtil 
    Modifier and TypeConstant FieldValue
    + +public static final java.lang.StringGET_PREFIX"get"
    + +public static final java.lang.StringIS_PREFIX"is"
    + +public static final java.lang.StringSET_PREFIX"set"
    +
  • +
+
+ + + +
+

proguard.dexfile.*

+ +
    +
  • + + + + + + + + + + + + + + + + + + + +
    proguard.dexfile.ir.expr.Value 
    Modifier and TypeConstant FieldValue
    + +public static final intCAN_THROW8
    + +public static final intMAY_THROW16
    +
  • +
+ +
    +
  • + + + + + + + + + + + + + + +
    proguard.dexfile.ir.ts.an.BaseAnalyze<T extends AnalyzeValue> 
    Modifier and TypeConstant FieldValue
    + +protected static final booleanDEBUGfalse
    +
  • +
+ +
+ + + +
+

proguard.evaluation.*

+ + +
+ + + +
+

proguard.examples.*

+ +
+ + + +
+

proguard.exception.*

+ +
+ + + +
+

proguard.io.*

+ +
+ + + +
+

proguard.util.*

+ +
+
+
+ + + diff --git a/api/deprecated-list.html b/api/deprecated-list.html new file mode 100644 index 000000000..f8565fe5f --- /dev/null +++ b/api/deprecated-list.html @@ -0,0 +1,387 @@ + + + + + +Deprecated List (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Deprecated API

+

Contents

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + diff --git a/api/element-list b/api/element-list new file mode 100644 index 000000000..658f0616b --- /dev/null +++ b/api/element-list @@ -0,0 +1,102 @@ +com.example +proguard.analysis +proguard.analysis.cpa.algorithms +proguard.analysis.cpa.bam +proguard.analysis.cpa.defaults +proguard.analysis.cpa.domain.taint +proguard.analysis.cpa.interfaces +proguard.analysis.cpa.jvm.cfa +proguard.analysis.cpa.jvm.cfa.edges +proguard.analysis.cpa.jvm.cfa.nodes +proguard.analysis.cpa.jvm.cfa.visitors +proguard.analysis.cpa.jvm.domain.memory +proguard.analysis.cpa.jvm.domain.reference +proguard.analysis.cpa.jvm.domain.taint +proguard.analysis.cpa.jvm.domain.value +proguard.analysis.cpa.jvm.operators +proguard.analysis.cpa.jvm.state +proguard.analysis.cpa.jvm.state.heap +proguard.analysis.cpa.jvm.state.heap.tree +proguard.analysis.cpa.jvm.transfer +proguard.analysis.cpa.jvm.util +proguard.analysis.cpa.jvm.witness +proguard.analysis.cpa.state +proguard.analysis.cpa.util +proguard.analysis.datastructure +proguard.analysis.datastructure.callgraph +proguard.backport +proguard.classfile +proguard.classfile.attribute +proguard.classfile.attribute.annotation +proguard.classfile.attribute.annotation.target +proguard.classfile.attribute.annotation.target.visitor +proguard.classfile.attribute.annotation.visitor +proguard.classfile.attribute.module +proguard.classfile.attribute.module.visitor +proguard.classfile.attribute.preverification +proguard.classfile.attribute.preverification.visitor +proguard.classfile.attribute.visitor +proguard.classfile.constant +proguard.classfile.constant.visitor +proguard.classfile.editor +proguard.classfile.exception +proguard.classfile.instruction +proguard.classfile.instruction.visitor +proguard.classfile.io +proguard.classfile.io.kotlin +proguard.classfile.io.visitor +proguard.classfile.kotlin +proguard.classfile.kotlin.flags +proguard.classfile.kotlin.reflect +proguard.classfile.kotlin.reflect.util +proguard.classfile.kotlin.reflect.visitor +proguard.classfile.kotlin.visitor +proguard.classfile.kotlin.visitor.filter +proguard.classfile.util +proguard.classfile.util.kotlin +proguard.classfile.util.renderer +proguard.classfile.util.renderer.core +proguard.classfile.visitor +proguard.dexfile +proguard.dexfile.converter +proguard.dexfile.ir +proguard.dexfile.ir.expr +proguard.dexfile.ir.stmt +proguard.dexfile.ir.ts +proguard.dexfile.ir.ts.an +proguard.dexfile.reader +proguard.dexfile.reader.node +proguard.dexfile.reader.node.analysis +proguard.dexfile.reader.node.insn +proguard.dexfile.reader.util +proguard.dexfile.reader.visitors +proguard.evaluation +proguard.evaluation.exception +proguard.evaluation.executor +proguard.evaluation.executor.instancehandler +proguard.evaluation.util +proguard.evaluation.util.jsonprinter +proguard.evaluation.value +proguard.evaluation.value.object +proguard.evaluation.value.object.model +proguard.evaluation.value.object.model.reflective +proguard.examples +proguard.examples.instrument +proguard.examples.modify +proguard.examples.util +proguard.exception +proguard.io +proguard.io.util +proguard.normalize +proguard.preverify +proguard.resources.file +proguard.resources.file.io +proguard.resources.file.util +proguard.resources.file.visitor +proguard.resources.kotlinmodule +proguard.resources.kotlinmodule.io +proguard.resources.kotlinmodule.util +proguard.resources.kotlinmodule.visitor +proguard.util +proguard.util.kotlin.asserter +proguard.util.kotlin.asserter.constraint diff --git a/api/help-doc.html b/api/help-doc.html new file mode 100644 index 000000000..2ae93c5cf --- /dev/null +++ b/api/help-doc.html @@ -0,0 +1,272 @@ + + + + + +API Help (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

How This API Document Is Organized

+
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
+
+
+ +
+This help file applies to API documentation generated by the standard doclet.
+
+ + + diff --git a/api/index-all.html b/api/index-all.html new file mode 100644 index 000000000..500845aa1 --- /dev/null +++ b/api/index-all.html @@ -0,0 +1,37370 @@ + + + + + +Index (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _ 
All Classes All Packages + + +

A

+
+
a - Variable in class proguard.dexfile.reader.node.insn.BaseSwitchStmtNode
+
 
+
a - Variable in class proguard.dexfile.reader.node.insn.ConstStmtNode
+
 
+
a - Variable in class proguard.dexfile.reader.node.insn.FieldStmtNode
+
 
+
a - Variable in class proguard.dexfile.reader.node.insn.JumpStmtNode
+
 
+
a - Variable in class proguard.dexfile.reader.node.insn.Stmt1RNode
+
 
+
a - Variable in class proguard.dexfile.reader.node.insn.Stmt2RNode
+
 
+
a - Variable in class proguard.dexfile.reader.node.insn.Stmt3RNode
+
 
+
a - Variable in class proguard.dexfile.reader.node.insn.TypeStmtNode
+
 
+
A - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
A - Static variable in class proguard.classfile.util.DynamicClassReferenceInitializer
+
 
+
A - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
AAB_ANDROID_MANIFEST_XML_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_ANDROID_MANIFEST_XML_SUFFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_ASSETS_DEX_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_ASSETS_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_ASSETS_PB_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_BASE - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_BASE_DEX_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_BASE_MANIFEST_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_BASE_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_BASE_RES_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_BASE_ROOT_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_BUNDLE_METADATA_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_BUNDLETOOL_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_CLASSES_DEX_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_DEX_INFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_DYLIB_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_FILE_EXTENSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_LIB_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_MANIFEST_INFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_METADATA_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_NATIVE_PB_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_OBFUSCATION_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_RES_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_RES_XML_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_RESOURCES_ARSC_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_RESOURCES_ARSC_SUFFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_RESOURCES_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_RESOURCES_PB_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_RESOURCES_PB_SUFFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_ROOT - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_ROOT_INFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_ROOT_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAB_XML_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
aaload() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
aaload() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
AAR_FILE_EXTENSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAR_JNI_DYFILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAR_JNI_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAR_JNI_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAR_R_TXT - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AAR_RESOURCE_FILES_ALLOW_SHRINKING - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
aastore() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
aastore() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
abbreviation - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
abbreviationAccept(Clazz, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
abort - Variable in class proguard.analysis.cpa.defaults.ControllableAbortOperator
+
 
+
abort(AbstractState) - Method in class proguard.analysis.cpa.defaults.ControllableAbortOperator
+
 
+
abort(AbstractState) - Method in class proguard.analysis.cpa.defaults.NeverAbortOperator
+
 
+
abort(AbstractState) - Method in interface proguard.analysis.cpa.interfaces.AbortOperator
+
+
The operator receives a newly discovered abstract state and returns whether the analysis should + terminate.
+
+
abortOperator - Variable in class proguard.analysis.cpa.defaults.BamCpaRun.Builder
+
 
+
abortOperator - Variable in class proguard.analysis.cpa.defaults.CpaRun
+
 
+
AbortOperator - Interface in proguard.analysis.cpa.interfaces
+
+
The AbortOperator defines whether the analysis should terminate upon encountering a + specific abstract state.
+
+
ABSTRACT - Static variable in class proguard.classfile.AccessConstants
+
 
+
ABSTRACT - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
AbstractDomain - Interface in proguard.analysis.cpa.interfaces
+
+
The AbstractDomain defines a semilattice over AbstractStates.
+
+
AbstractInvokeExpr - Class in proguard.dexfile.ir.expr
+
 
+
AbstractInvokeExpr(Value.VT, Value[]) - Constructor for class proguard.dexfile.ir.expr.AbstractInvokeExpr
+
 
+
AbstractKotlinMetadataConstraint - Class in proguard.util.kotlin.asserter.constraint
+
 
+
AbstractKotlinMetadataConstraint() - Constructor for class proguard.util.kotlin.asserter.constraint.AbstractKotlinMetadataConstraint
+
 
+
AbstractMethodStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
AbstractMethodStmtNode(Op, int[]) - Constructor for class proguard.dexfile.reader.node.insn.AbstractMethodStmtNode
+
 
+
AbstractSingleWrapperState - Class in proguard.analysis.cpa.defaults
+
+
This AbstractWrapperState wraps a single AbstractState and delegates the + precision getter to it.
+
+
AbstractSingleWrapperState(AbstractState) - Constructor for class proguard.analysis.cpa.defaults.AbstractSingleWrapperState
+
+
Create a single wrapper abstract state around the given state.
+
+
abstractState - Variable in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation.InstructionAbstractInterpreter
+
 
+
AbstractState - Interface in proguard.analysis.cpa.interfaces
+
+
An AbstractState contains information about the program state.
+
+
AbstractWaitlist<CollectionT extends java.util.Collection<AbstractState>> - Class in proguard.analysis.cpa.defaults
+
+
This is a base class for Waitlists parametrized by the carrier CollectionT.
+
+
AbstractWaitlist(CollectionT) - Constructor for class proguard.analysis.cpa.defaults.AbstractWaitlist
+
+
Create a waitlist from a carrier collection.
+
+
AbstractWrapperState - Class in proguard.analysis.cpa.defaults
+
+
This AbstractState wraps an arbitrary number of other AbstractStates.
+
+
AbstractWrapperState() - Constructor for class proguard.analysis.cpa.defaults.AbstractWrapperState
+
 
+
ACC_ABSTRACT - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_ANNOTATION - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_BRIDGE - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_CONSTRUCTOR - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_DECLARED_SYNCHRONIZED - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_DEX_HIDDEN_BIT - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_DEX_HIDDEN_BIT_NATIVE - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_ENUM - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_FINAL - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_INTERFACE - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_NATIVE - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_PRIVATE - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_PROTECTED - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_PUBLIC - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_STATIC - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_STRICT - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_SYNCHRONIZED - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_SYNTHETIC - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_TRANSIENT - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_VARARGS - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_VISIBILITY_FLAGS - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ACC_VOLATILE - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
accept(int, int[], String[], String[], int, String, String) - Method in interface proguard.classfile.io.LibraryClassReader.KotlinMetadataElementValueConsumer
+
 
+
accept(int, int, int) - Method in interface proguard.classfile.attribute.visitor.MaxStackSizeComputer.StackSizeConsumer
+
 
+
accept(Consumer<String>) - Method in interface proguard.dexfile.reader.BaseDexFileReader
+
 
+
accept(Consumer<String>) - Method in class proguard.dexfile.reader.DexContainerReader
+
 
+
accept(Consumer<String>) - Method in class proguard.dexfile.reader.DexFileReader
+
+
Provides the given consumer with all strings in the dex file.
+
+
accept(Clazz, Annotation, ElementValueVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationElementValue
+
 
+
accept(Clazz, Annotation, ElementValueVisitor) - Method in class proguard.classfile.attribute.annotation.ArrayElementValue
+
 
+
accept(Clazz, Annotation, ElementValueVisitor) - Method in class proguard.classfile.attribute.annotation.ClassElementValue
+
 
+
accept(Clazz, Annotation, ElementValueVisitor) - Method in class proguard.classfile.attribute.annotation.ConstantElementValue
+
 
+
accept(Clazz, Annotation, ElementValueVisitor) - Method in class proguard.classfile.attribute.annotation.ElementValue
+
+
Accepts the given visitor.
+
+
accept(Clazz, Annotation, ElementValueVisitor) - Method in class proguard.classfile.attribute.annotation.EnumConstantElementValue
+
 
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.CatchTargetInfo
+
+
Lets the visitor visit, with Method and CodeAttribute null.
+
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.EmptyTargetInfo
+
+
Lets the visitor visit, with Field null.
+
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.FormalParameterTargetInfo
+
+
Lets the visitor visit, with Method null.
+
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo
+
+
Lets the visitor visit, with Method and CodeAttribute null.
+
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.OffsetTargetInfo
+
+
Lets the visitor visit, with Method and CodeAttribute null.
+
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.SuperTypeTargetInfo
+
 
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TargetInfo
+
+
Accepts the given visitor, in the context of a type annotation on a class.
+
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.ThrowsTargetInfo
+
+
Lets the visitor visit, with Method null.
+
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo
+
+
Lets the visitor visit, with Method and CodeAttribute null.
+
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo
+
 
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TypeParameterTargetInfo
+
 
+
accept(Clazz, RecordComponentInfo, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute
+
 
+
accept(Clazz, RecordComponentInfo, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, RecordComponentInfo, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute
+
 
+
accept(Clazz, RecordComponentInfo, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, RecordComponentInfo, AttributeVisitor) - Method in class proguard.classfile.attribute.Attribute
+
+
Accepts the given visitor in the context of the given record component.
+
+
accept(Clazz, RecordComponentInfo, AttributeVisitor) - Method in class proguard.classfile.attribute.SignatureAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.Attribute
+
+
Accepts the given visitor.
+
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.BootstrapMethodsAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.DeprecatedAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.EnclosingMethodAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.InnerClassesAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.module.ModuleMainClassAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.module.ModulePackagesAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.NestHostAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.NestMembersAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.PermittedSubclassesAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.RecordAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.SignatureAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.SourceDebugExtensionAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.SourceDirAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.SourceFileAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.SyntheticAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.UnknownAttribute
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.ClassConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.Constant
+
+
Accepts the given visitor.
+
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.DoubleConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.DynamicConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.FieldrefConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.FloatConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.IntegerConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.InterfaceMethodrefConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.InvokeDynamicConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.LongConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.MethodHandleConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.MethodrefConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.MethodTypeConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.ModuleConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.NameAndTypeConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.PackageConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.PrimitiveArrayConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.StringConstant
+
 
+
accept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.Utf8Constant
+
 
+
accept(Clazz, Field, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.EmptyTargetInfo
+
 
+
accept(Clazz, Field, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TargetInfo
+
+
Accepts the given visitor, in the context of a type annotation on a field.
+
+
accept(Clazz, Field, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.Attribute
+
+
Accepts the given visitor in the context of the given field.
+
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.ConstantValueAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.DeprecatedAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.SignatureAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.SyntheticAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.UnknownAttribute
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.AnnotationValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.ArrayValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.BooleanValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.ByteValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.CharValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.DoubleValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.EnumValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.FloatValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.IntValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.LiteralValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.LongValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.ShortValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.StringValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.UByteValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.UIntValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.ULongValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.UShortValue
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in interface proguard.classfile.kotlin.KotlinAnnotationArgument.Value
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotationVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
accept(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
accept(Clazz, KotlinClassKindMetadata, KotlinConstructorVisitor) - Method in class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
accept(Clazz, KotlinClassKindMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
accept(Clazz, KotlinClassKindMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
accept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
accept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
accept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
accept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
accept(Clazz, KotlinDeclarationContainerMetadata, KotlinFunctionVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
accept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyVisitor) - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
accept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinConstructorMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata, KotlinEffectVisitor) - Method in class proguard.classfile.kotlin.KotlinEffectMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractVisitor) - Method in class proguard.classfile.kotlin.KotlinContractMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinTypeAliasMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
accept(Clazz, KotlinSyntheticClassKindMetadata, KotlinFunctionVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
accept(Clazz, KotlinTypeAliasMetadata, KotlinAnnotationVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
accept(Clazz, KotlinTypeMetadata, KotlinAnnotationVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
accept(Clazz, KotlinTypeParameterMetadata, KotlinAnnotationVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
accept(Clazz, KotlinTypeParameterMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
accept(Clazz, KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
accept(Clazz, KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.KotlinFileFacadeKindMetadata
+
 
+
accept(Clazz, KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.KotlinMetadata
+
 
+
accept(Clazz, KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.KotlinMultiFileFacadeKindMetadata
+
 
+
accept(Clazz, KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.KotlinMultiFilePartKindMetadata
+
 
+
accept(Clazz, KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata
+
 
+
accept(Clazz, KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.UnsupportedKotlinMetadata
+
 
+
accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.EmptyTargetInfo
+
 
+
accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.FormalParameterTargetInfo
+
 
+
accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TargetInfo
+
+
Accepts the given visitor, in the context of a type annotation on a method.
+
+
accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.ThrowsTargetInfo
+
 
+
accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo
+
 
+
accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TypeParameterTargetInfo
+
 
+
accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor) - Method in class proguard.classfile.attribute.preverification.FullFrame
+
 
+
accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor) - Method in class proguard.classfile.attribute.preverification.LessZeroFrame
+
 
+
accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor) - Method in class proguard.classfile.attribute.preverification.MoreZeroFrame
+
 
+
accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor) - Method in class proguard.classfile.attribute.preverification.SameOneFrame
+
 
+
accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor) - Method in class proguard.classfile.attribute.preverification.SameZeroFrame
+
 
+
accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor) - Method in class proguard.classfile.attribute.preverification.StackMapFrame
+
+
Accepts the given visitor.
+
+
accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.DoubleType
+
 
+
accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.FloatType
+
 
+
accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.IntegerType
+
 
+
accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.LongType
+
 
+
accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.NullType
+
 
+
accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.ObjectType
+
 
+
accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.TopType
+
 
+
accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.UninitializedThisType
+
 
+
accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.UninitializedType
+
 
+
accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.VerificationType
+
+
Accepts the given visitor in the context of a method's code, either on a stack or as a + variable.
+
+
accept(Clazz, Method, CodeAttribute, int, InstructionVisitor) - Method in class proguard.classfile.editor.CodeAttributeEditor.Label
+
 
+
accept(Clazz, Method, CodeAttribute, int, InstructionVisitor) - Method in class proguard.classfile.editor.InstructionSequenceReplacer.Label
+
 
+
accept(Clazz, Method, CodeAttribute, int, InstructionVisitor) - Method in class proguard.classfile.instruction.BranchInstruction
+
 
+
accept(Clazz, Method, CodeAttribute, int, InstructionVisitor) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
accept(Clazz, Method, CodeAttribute, int, InstructionVisitor) - Method in class proguard.classfile.instruction.Instruction
+
+
Accepts the given visitor.
+
+
accept(Clazz, Method, CodeAttribute, int, InstructionVisitor) - Method in class proguard.classfile.instruction.LookUpSwitchInstruction
+
 
+
accept(Clazz, Method, CodeAttribute, int, InstructionVisitor) - Method in class proguard.classfile.instruction.SimpleInstruction
+
 
+
accept(Clazz, Method, CodeAttribute, int, InstructionVisitor) - Method in class proguard.classfile.instruction.TableSwitchInstruction
+
 
+
accept(Clazz, Method, CodeAttribute, int, InstructionVisitor) - Method in class proguard.classfile.instruction.VariableInstruction
+
 
+
accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.CatchTargetInfo
+
 
+
accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo
+
 
+
accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.OffsetTargetInfo
+
 
+
accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TargetInfo
+
+
Accepts the given visitor, in the context of a type annotation code.
+
+
accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo
+
 
+
accept(Clazz, Method, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, Method, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, Method, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.Attribute
+
+
Accepts the given visitor in the context of the given code attribute.
+
+
accept(Clazz, Method, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.LineNumberTableAttribute
+
 
+
accept(Clazz, Method, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.LocalVariableTableAttribute
+
 
+
accept(Clazz, Method, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.LocalVariableTypeTableAttribute
+
 
+
accept(Clazz, Method, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.preverification.StackMapAttribute
+
 
+
accept(Clazz, Method, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.preverification.StackMapTableAttribute
+
 
+
accept(Clazz, Method, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.UnknownAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationDefaultAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleParameterAnnotationsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleParameterAnnotationsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.Attribute
+
+
Accepts the given visitor in the context of the given method.
+
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.CodeAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.DeprecatedAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.ExceptionsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.MethodParametersAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.SignatureAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.SyntheticAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.UnknownAttribute
+
 
+
accept(Clazz, MemberVisitor) - Method in class proguard.classfile.LibraryMember
+
 
+
accept(Clazz, MemberVisitor) - Method in interface proguard.classfile.Member
+
+
Accepts the given class visitor.
+
+
accept(Clazz, MemberVisitor) - Method in class proguard.classfile.ProgramMember
+
 
+
accept(CallableReferenceInfoVisitor) - Method in interface proguard.classfile.kotlin.reflect.CallableReferenceInfo
+
 
+
accept(CallableReferenceInfoVisitor) - Method in class proguard.classfile.kotlin.reflect.FunctionReferenceInfo
+
 
+
accept(CallableReferenceInfoVisitor) - Method in class proguard.classfile.kotlin.reflect.JavaReferenceInfo
+
 
+
accept(CallableReferenceInfoVisitor) - Method in class proguard.classfile.kotlin.reflect.LocalVariableReferenceInfo
+
 
+
accept(CallableReferenceInfoVisitor) - Method in class proguard.classfile.kotlin.reflect.PropertyReferenceInfo
+
 
+
accept(LibraryClass, MemberVisitor) - Method in class proguard.classfile.LibraryField
+
 
+
accept(LibraryClass, MemberVisitor) - Method in class proguard.classfile.LibraryMember
+
+
Accepts the given member info visitor.
+
+
accept(LibraryClass, MemberVisitor) - Method in class proguard.classfile.LibraryMethod
+
 
+
accept(ProgramClass, MemberVisitor) - Method in class proguard.classfile.ProgramField
+
 
+
accept(ProgramClass, MemberVisitor) - Method in class proguard.classfile.ProgramMember
+
+
Accepts the given member info visitor.
+
+
accept(ProgramClass, MemberVisitor) - Method in class proguard.classfile.ProgramMethod
+
 
+
accept(ClassPoolVisitor) - Method in class proguard.classfile.ClassPool
+
+
Applies the given ClassPoolVisitor to the class pool.
+
+
accept(ClassVisitor) - Method in interface proguard.classfile.Clazz
+
+
Accepts the given class visitor.
+
+
accept(ClassVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
accept(ClassVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
accept(DexAnnotationAble) - Method in class proguard.dexfile.reader.node.DexAnnotationNode
+
 
+
accept(DexClassVisitor) - Method in class proguard.dexfile.reader.node.DexClassNode
+
 
+
accept(DexClassVisitor) - Method in class proguard.dexfile.reader.node.DexFieldNode
+
 
+
accept(DexClassVisitor) - Method in class proguard.dexfile.reader.node.DexFileNode
+
 
+
accept(DexClassVisitor) - Method in class proguard.dexfile.reader.node.DexMethodNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.ConstStmtNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.DexLabelStmtNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.DexStmtNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.FieldStmtNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.FillArrayDataStmtNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.FilledNewArrayStmtNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.JumpStmtNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.MethodCustomStmtNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.MethodPolymorphicStmtNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.MethodStmtNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.PackedSwitchStmtNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.SparseSwitchStmtNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.Stmt0RNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.Stmt1RNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.Stmt2R1NNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.Stmt2RNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.Stmt3RNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.insn.TypeStmtNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.TryCatchNode
+
 
+
accept(DexDebugVisitor) - Method in class proguard.dexfile.reader.node.DexDebugNode
+
 
+
accept(DexDebugVisitor) - Method in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode
+
 
+
accept(DexDebugVisitor) - Method in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.EndLocal
+
 
+
accept(DexDebugVisitor) - Method in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.Epiogue
+
 
+
accept(DexDebugVisitor) - Method in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.LineNumber
+
 
+
accept(DexDebugVisitor) - Method in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.Prologue
+
 
+
accept(DexDebugVisitor) - Method in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.RestartLocal
+
 
+
accept(DexDebugVisitor) - Method in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.StartLocalNode
+
 
+
accept(DexFieldVisitor) - Method in class proguard.dexfile.reader.node.DexFieldNode
+
 
+
accept(DexFileVisitor) - Method in interface proguard.dexfile.reader.BaseDexFileReader
+
 
+
accept(DexFileVisitor) - Method in class proguard.dexfile.reader.DexContainerReader
+
 
+
accept(DexFileVisitor) - Method in class proguard.dexfile.reader.DexFileReader
+
+ +
+
accept(DexFileVisitor) - Method in class proguard.dexfile.reader.node.DexClassNode
+
 
+
accept(DexFileVisitor) - Method in class proguard.dexfile.reader.node.DexFileNode
+
 
+
accept(DexFileVisitor, int) - Method in interface proguard.dexfile.reader.BaseDexFileReader
+
 
+
accept(DexFileVisitor, int) - Method in class proguard.dexfile.reader.DexContainerReader
+
 
+
accept(DexFileVisitor, int) - Method in class proguard.dexfile.reader.DexFileReader
+
+
Makes the given visitor visit the dex file.
+
+
accept(DexFileVisitor, int, int) - Method in interface proguard.dexfile.reader.BaseDexFileReader
+
 
+
accept(DexFileVisitor, int, int) - Method in class proguard.dexfile.reader.DexContainerReader
+
 
+
accept(DexFileVisitor, int, int) - Method in class proguard.dexfile.reader.DexFileReader
+
+
Makes the given visitor visit the dex file.
+
+
accept(DexMethodVisitor) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
accept(DexMethodVisitor) - Method in class proguard.dexfile.reader.node.DexMethodNode
+
 
+
accept(ResourceFileVisitor) - Method in class proguard.resources.file.ResourceFile
+
 
+
accept(ResourceFileVisitor) - Method in class proguard.resources.kotlinmodule.KotlinModule
+
 
+
accept(KotlinModule, KotlinModulePackageVisitor) - Method in class proguard.resources.kotlinmodule.KotlinModulePackage
+
 
+
accept(KotlinModuleVisitor) - Method in class proguard.resources.kotlinmodule.KotlinModule
+
 
+
acceptAnnotationItem(DexAnnotationVisitor, String, Object) - Static method in class proguard.dexfile.reader.node.DexAnnotationNode
+
 
+
accepted(int, int, int) - Static method in class proguard.classfile.util.AccessUtil
+
+
Returns whether the given access flags match the required set and unset access flags.
+
+
accepts(String) - Method in class proguard.classfile.util.WarningPrinter
+
+
Returns whether the given class name passes the class name filter.
+
+
accepts(String, String) - Method in class proguard.classfile.util.WarningPrinter
+
+
Returns whether the given class names pass the class name filter.
+
+
accepts(DataEntry) - Method in class proguard.classfile.io.visitor.ProcessingFlagDataEntryFilter
+
 
+
accepts(DataEntry) - Method in class proguard.io.DataEntryClassInfoFilter
+
 
+
accepts(DataEntry) - Method in class proguard.io.DataEntryDirectoryFilter
+
 
+
accepts(DataEntry) - Method in interface proguard.io.DataEntryFilter
+
+
Checks whether the filter accepts the given data entry.
+
+
accepts(DataEntry) - Method in class proguard.io.DataEntryNameFilter
+
 
+
accepts(DataEntry) - Method in class proguard.io.DataEntryParentFilter
+
 
+
access - Variable in class proguard.dexfile.reader.node.DexClassNode
+
 
+
access - Variable in class proguard.dexfile.reader.node.DexFieldNode
+
 
+
access - Variable in class proguard.dexfile.reader.node.DexMethodNode
+
 
+
AccessConstants - Class in proguard.classfile
+
+
Access flags for classes, fields, methods, parameters, and modules.
+
+
AccessConstants() - Constructor for class proguard.classfile.AccessConstants
+
 
+
AccessFixer - Class in proguard.classfile.editor
+
+
This ClassVisitor fixes the access modifiers of all classes and class members that are + referenced by the classes that it visits.
+
+
AccessFixer() - Constructor for class proguard.classfile.editor.AccessFixer
+
 
+
accessFlags(int) - Static method in class proguard.classfile.util.AccessUtil
+
+
Returns the corresponding access flags of the given access level.
+
+
accessLevel(int) - Static method in class proguard.classfile.util.AccessUtil
+
+
Returns the corresponding access level of the given access flags.
+
+
AccessUtil - Class in proguard.classfile.util
+
+
Utility methods for working with access flags.
+
+
AccessUtil() - Constructor for class proguard.classfile.util.AccessUtil
+
 
+
aconst_null() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
aconst_null() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
actualMaxSize - Variable in class proguard.evaluation.Stack
+
 
+
actualOpcode() - Method in class proguard.classfile.instruction.Instruction
+
+
Returns the actual opcode of this instruction, i.e.
+
+
add(byte[], int, byte) - Static method in class proguard.util.ArrayUtil
+
+
Adds the given element to the given array.
+
+
add(char[], int, char) - Static method in class proguard.util.ArrayUtil
+
+
Adds the given element to the given array.
+
+
add(double[], int, double) - Static method in class proguard.util.ArrayUtil
+
+
Adds the given element to the given array.
+
+
add(float[], int, float) - Static method in class proguard.util.ArrayUtil
+
+
Adds the given element to the given array.
+
+
add(int) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns an InstructionOffsetValue that contains the instructions offsets of this value and the + given instruction offset.
+
+
add(int[], int, int) - Static method in class proguard.util.ArrayUtil
+
+
Adds the given element to the given array.
+
+
add(int, ClassPathEntry) - Method in class proguard.io.ClassPath
+
 
+
add(long[], int, long) - Static method in class proguard.util.ArrayUtil
+
+
Adds the given element to the given array.
+
+
add(short[], int, short) - Static method in class proguard.util.ArrayUtil
+
+
Adds the given element to the given array.
+
+
add(AbstractState) - Method in class proguard.analysis.cpa.defaults.AbstractWaitlist
+
 
+
add(AbstractState) - Method in class proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet
+
 
+
add(AbstractState) - Method in interface proguard.analysis.cpa.interfaces.ReachedSet
+
+
Adds an abstract state.
+
+
add(AbstractState) - Method in interface proguard.analysis.cpa.interfaces.Waitlist
+
+
Adds an abstract state.
+
+
add(Stmt) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
add(DexStmtNode) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
add(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the sum of this DoubleValue and the given DoubleValue.
+
+
add(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
add(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
add(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
add(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the sum of this FloatValue and the given FloatValue.
+
+
add(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
add(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
add(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
add(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the sum of this IntegerValue and the given IntegerValue.
+
+
add(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
add(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
add(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
add(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
add(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the sum of this LongValue and the given LongValue.
+
+
add(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
add(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
add(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
add(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the sum of this DoubleValue and the given ParticularDoubleValue.
+
+
add(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
add(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the sum of this FloatValue and the given ParticularFloatValue.
+
+
add(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
add(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the sum of this IntegerValue and the given ParticularIntegerValue.
+
+
add(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
add(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
add(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the sum of this LongValue and the given ParticularLongValue.
+
+
add(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
add(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the sum of this IntegerValue and the given RangeIntegerValue.
+
+
add(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
add(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
add(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
add(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the sum of this DoubleValue and the given SpecificDoubleValue.
+
+
add(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
add(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the sum of this FloatValue and the given SpecificFloatValue.
+
+
add(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
add(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the sum of this IntegerValue and the given SpecificIntegerValue.
+
+
add(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
add(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the sum of this LongValue and the given SpecificLongValue.
+
+
add(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
add(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the sum of this IntegerValue and the given UnknownIntegerValue.
+
+
add(ClassPathEntry) - Method in class proguard.io.ClassPath
+
 
+
add(T) - Method in class proguard.dexfile.ir.ts.UniqueQueue
+
 
+
add(T[], int, T) - Static method in class proguard.util.ArrayUtil
+
+
Adds the given element to the given array.
+
+
ADD - proguard.dexfile.ir.expr.Value.VT
+
 
+
ADD - Static variable in class proguard.evaluation.value.CompositeDoubleValue
+
 
+
ADD - Static variable in class proguard.evaluation.value.CompositeFloatValue
+
 
+
ADD - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
ADD - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
ADD_DOUBLE - proguard.dexfile.reader.Op
+
 
+
ADD_DOUBLE_2ADDR - proguard.dexfile.reader.Op
+
 
+
ADD_FLOAT - proguard.dexfile.reader.Op
+
 
+
ADD_FLOAT_2ADDR - proguard.dexfile.reader.Op
+
 
+
ADD_INT - proguard.dexfile.reader.Op
+
 
+
ADD_INT_2ADDR - proguard.dexfile.reader.Op
+
 
+
ADD_INT_LIT16 - proguard.dexfile.reader.Op
+
 
+
ADD_INT_LIT8 - proguard.dexfile.reader.Op
+
 
+
ADD_LONG - proguard.dexfile.reader.Op
+
 
+
ADD_LONG_2ADDR - proguard.dexfile.reader.Op
+
 
+
addAll(Collection<? extends AbstractState>) - Method in class proguard.analysis.cpa.defaults.AbstractWaitlist
+
 
+
addAll(Collection<? extends AbstractState>) - Method in class proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet
+
 
+
addAll(Collection<? extends AbstractState>) - Method in interface proguard.analysis.cpa.interfaces.ReachedSet
+
+
Adds multiple abstract states.
+
+
addAll(Collection<? extends AbstractState>) - Method in interface proguard.analysis.cpa.interfaces.Waitlist
+
+
Adds multiple abstract states.
+
+
addAll(Collection<? extends T>) - Method in class proguard.dexfile.ir.ts.UniqueQueue
+
 
+
addAll(Collection<Stmt>) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
addAll(ClassPath) - Method in class proguard.io.ClassPath
+
 
+
addAllUses(Set<String>) - Method in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
addAndReturnField(int, String, String) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new field to the edited class, and returns it.
+
+
addAndReturnField(int, String, String) - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
Adds a new field to the edited class, and returns it.
+
+
addAndReturnMethod(int, String, String) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new method to the edited class, and returns it.
+
+
addAndReturnMethod(int, String, String) - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
Adds a new method to the edited class, and returns it.
+
+
addAndReturnMethod(int, String, String, int, ClassBuilder.CodeBuilder) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new method with a code attribute to the edited class, and returns it.
+
+
addAnnotation(int, Annotation) - Method in class proguard.classfile.editor.ParameterAnnotationsAttributeEditor
+
+
Adds a given annotation to the annotations attribute.
+
+
addAnnotation(Annotation) - Method in class proguard.classfile.editor.AnnotationsAttributeEditor
+
+
Adds a given annotation to the annotations attribute.
+
+
addAnnotationVisitor(AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
+
 
+
addAttribute(Attribute) - Method in class proguard.classfile.editor.AttributesEditor
+
+
Adds the given attribute to the target.
+
+
addAttributeVisitor(AttributeVisitor) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
addBootstrapMethodInfo(BootstrapMethodInfo) - Method in class proguard.classfile.editor.BootstrapMethodsAttributeEditor
+
+
Adds a given bootstrap method to the bootstrap methods attribute.
+
+
addCall(Call) - Method in class proguard.analysis.datastructure.callgraph.CallGraph
+
+
Add a Call to this call graph.
+
+
addClass(String, Clazz) - Method in class proguard.classfile.ClassPool
+
+
Adds the given Clazz with the given name to the class pool.
+
+
addClass(ClassPool, Class<?>...) - Static method in class proguard.examples.util.ExampleUtil
+
+
Add the given Java Classes to a ClassPool.
+
+
addClass(Clazz) - Method in class proguard.classfile.ClassPool
+
+
Adds the given Clazz to the class pool.
+
+
addClassConstant(int, Clazz) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a ClassConstant constant pool entry with the given name UTF-8 constant pool + index.
+
+
addClassConstant(String, Clazz) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a ClassConstant constant pool entry with the given name.
+
+
addClassConstant(Clazz) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a ClassConstant constant pool entry for the given class.
+
+
addClassPoolVisitor(ClassPoolVisitor) - Method in class proguard.classfile.visitor.MultiClassPoolVisitor
+
 
+
addClassVisitor(ConstantVisitor) - Method in class proguard.classfile.visitor.MultiConstantVisitor
+
 
+
addClassVisitor(ClassVisitor) - Method in class proguard.classfile.visitor.MultiClassVisitor
+
 
+
addCodeAttribute(ProgramClass, ProgramMethod) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Adds the code that has been built as a code attribute to the given method.
+
+
addCodeAttribute(ProgramClass, ProgramMethod) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Adds the code that has been built as a code attribute to the given method.
+
+
addCodeAttribute(ProgramClass, ProgramMethod, ConstantPoolEditor) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Adds the code that has been built as a code attribute to the given method.
+
+
addConstant(Clazz, int) - Method in class proguard.classfile.editor.ConstantAdder
+
+
Adds a copy of the specified constant in the given class and returns its index.
+
+
addConstant(Clazz, Constant) - Method in class proguard.classfile.editor.ConstantAdder
+
+
Adds a copy of the given constant in the given class and returns its index.
+
+
addConstant(Constant) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Adds a given constant pool entry to the end of the constant pool.
+
+
addDebug(DexDebugNode.DexDebugOpNode) - Method in class proguard.dexfile.reader.node.DexDebugNode
+
 
+
addDoubleConstant(double) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a DoubleConstant constant pool entry with the given value.
+
+
addDynamicConstant(int, int, Clazz[]) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a DynamicConstant constant pool entry with the given class constant pool entry + index and name and type constant pool entry index.
+
+
addElementValue(ElementValue) - Method in class proguard.classfile.editor.ElementValuesEditor
+
+
Adds the given elementValue to the target.
+
+
addEnteringEdge(JvmCfaEdge) - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
+
Adds an edge entering the node.
+
+
addException(int) - Method in class proguard.classfile.editor.ExceptionsAttributeEditor
+
+
Adds a given exception to the exceptions attribute.
+
+
addExecutor(Executor.Builder<?>) - Method in class proguard.evaluation.ExecutingInvocationUnit.Builder
+
+
Add an Executor to be considered by the ExecutingInvocationUnit when trying + to analyze a method call.
+
+
addExecutors(Executor.Builder<?>...) - Method in class proguard.evaluation.ExecutingInvocationUnit.Builder
+
+
Add multiple Executors to be considered by the ExecutingInvocationUnit when + trying to analyze a method call.
+
+
addExtraFeatureName(String) - Method in interface proguard.util.FeatureNamed
+
+
Adds the feature name to the set of features this entity is part of.
+
+
addExtraFeatureName(String) - Method in class proguard.util.SimpleFeatureNamedProcessable
+
 
+
addExtraProcessingFlags(Class<T>) - Static method in class proguard.classfile.util.renderer.ProcessableViewModel
+
+
A utility method that allows for adding additional processing flags that can be rendered as + strings.
+
+
addField(int, String, String) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new field to the edited class.
+
+
addField(int, String, String) - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
Adds a new field to the edited class.
+
+
addField(int, String, String, MemberVisitor) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new field to the edited class.
+
+
addField(int, String, String, MemberVisitor) - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
Adds a new field to the edited class.
+
+
addField(Field) - Method in class proguard.classfile.editor.ClassEditor
+
+
Adds the given field.
+
+
addField(Field) - Method in class proguard.classfile.editor.LibraryClassEditor
+
+
Adds the given field.
+
+
addFieldrefConstant(int, int, Clazz, Field) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a FieldrefConstant constant pool entry with the given class constant pool + entry index and name and type constant pool entry index.
+
+
addFieldrefConstant(int, String, String, Clazz, Field) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a FieldrefConstant constant pool entry with the given class constant pool + entry index, field name, and descriptor.
+
+
addFieldrefConstant(String, int, Clazz, Field) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a FieldrefConstant constant pool entry with the given class name, field name, + and descriptor.
+
+
addFieldrefConstant(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a FieldrefConstant constant pool entry with the given class name, field name, + and descriptor.
+
+
addFieldrefConstant(Clazz, Field) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a FieldrefConstant constant pool entry for the given class and field.
+
+
addFloatConstant(float) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a FloatConstant constant pool entry with the given value.
+
+
addFunctionCatchNode(MethodSignature, JvmCatchCfaNode, int) - Method in class proguard.analysis.cpa.jvm.cfa.JvmCfa
+
+
Adds a catch node to the CFA (i.e.
+
+
addFunctionEntryNode(SignatureT, CfaNodeT) - Method in class proguard.analysis.cpa.defaults.Cfa
+
+
Add an entry node to the graph for a specified function (with offset 0).
+
+
addFunctionNode(SignatureT, CfaNodeT, int) - Method in class proguard.analysis.cpa.defaults.Cfa
+
+
Add a node to the graph for a specified function.
+
+
addInitializerInstructions(InitializerEditor.CodeBuilder) - Method in class proguard.classfile.editor.InitializerEditor
+
+
Adds the specified initialization instructions to the edited class.
+
+
addInitializerInstructions(Instruction[]) - Method in class proguard.classfile.editor.InitializerEditor
+
+
Adds the given initialization instructions to the edited class.
+
+
addInnerClassesInfo(InnerClassesInfo) - Method in class proguard.classfile.editor.InnerClassesAttributeEditor
+
+
Adds a given inner class to the inner classes attribute.
+
+
addInstructionVisitor(InstructionVisitor) - Method in class proguard.classfile.instruction.visitor.MultiInstructionVisitor
+
 
+
addIntegerConstant(int) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a IntegerConstant constant pool entry with the given value.
+
+
addInterface(int) - Method in class proguard.classfile.editor.ClassEditor
+
+
Adds the given interface.
+
+
addInterface(int) - Method in class proguard.classfile.editor.InterfacesEditor
+
+
Adds the specified interface to the target class, if it isn't present yet.
+
+
addInterface(String) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new interface to the edited class.
+
+
addInterface(String) - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
Adds a new interface to the edited class.
+
+
addInterface(String, Clazz) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new interface to the edited class.
+
+
addInterface(String, Clazz) - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
Adds a new interface to the edited class.
+
+
addInterface(String, Clazz) - Method in class proguard.classfile.editor.LibraryClassEditor
+
+
Adds the given interface.
+
+
addInterface(Clazz) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new interface to the edited class.
+
+
addInterface(Clazz) - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
Adds a new interface to the edited class.
+
+
addInterfaceMethodrefConstant(int, int, Clazz, Method) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a InterfaceMethodrefConstant constant pool entry with the given class constant + pool entry index and name and type constant pool entry index.
+
+
addInterfaceMethodrefConstant(int, String, String, Clazz, Method) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a InterfaceMethodrefConstant constant pool entry with the given class constant + pool entry index, method name, and descriptor.
+
+
addInterfaceMethodrefConstant(String, int, Clazz, Method) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a InterfaceMethodrefConstant constant pool entry with the given class name, + method name, and descriptor.
+
+
addInterfaceMethodrefConstant(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a InterfaceMethodrefConstant constant pool entry with the given class name, + method name, and descriptor.
+
+
addInterfaceMethodrefConstant(Clazz, Method) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a InterfaceMethodrefConstant constant pool entry for the given class and + method.
+
+
addInterproceduralEdge(Call) - Method in class proguard.analysis.cpa.jvm.cfa.JvmCfa
+
+
Adds a call node between two methods.
+
+
addInterproceduralEdgesToCfa(JvmCfa, CallGraph) - Static method in class proguard.analysis.cpa.jvm.util.CfaUtil
+
+
Adds interprocedural arcs to the given CFA from the call graph.
+
+
addInvokeDynamicConstant(int, int, Clazz[]) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates an InvokeDynamicConstant constant pool entry with the given class constant + pool entry index and name and type constant pool entry index.
+
+
addInvokeDynamicConstant(int, String, String, Clazz[]) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a InvokeDynamicConstant constant pool entry with the given bootstrap method + constant pool entry index, method name, and descriptor.
+
+
additionalVariables - Variable in class proguard.classfile.attribute.preverification.MoreZeroFrame
+
 
+
additionalVariablesAccept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.MoreZeroFrame
+
+
Applies the given verification type visitor to all variables.
+
+
additionalVariablesCount - Variable in class proguard.classfile.attribute.preverification.MoreZeroFrame
+
 
+
addKotlinMetadataVisitor(KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.visitor.MultiKotlinMetadataVisitor
+
 
+
addLeavingEdge(JvmCfaEdge) - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
+
Adds an edge leaving the node.
+
+
addLineNumberInfo(LineNumberInfo) - Method in class proguard.classfile.editor.LineNumberTableAttributeEditor
+
+
Adds a given line number to the line number table attribute.
+
+
addLocalVariableInfo(LocalVariableInfo) - Method in class proguard.classfile.editor.LocalVariableTableAttributeEditor
+
+
Adds a given line number to the line number table attribute.
+
+
addLocalVariableTypeInfo(LocalVariableTypeInfo) - Method in class proguard.classfile.editor.LocalVariableTypeTableAttributeEditor
+
+
Adds a given local variable type to the local variable type table attribute.
+
+
addLongConstant(long) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a LongConstant constant pool entry with the given value.
+
+
addMemberVisitor(MemberVisitor) - Method in class proguard.classfile.visitor.MultiMemberVisitor
+
 
+
addMethod(int, String, String) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new method to the edited class.
+
+
addMethod(int, String, String) - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
Adds a new method to the edited class.
+
+
addMethod(int, String, String, int, ClassBuilder.CodeBuilder) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new method with a code attribute to the edited class.
+
+
addMethod(int, String, String, int, ClassBuilder.CodeBuilder, MemberVisitor) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new method with a code attribute to the edited class.
+
+
addMethod(int, String, String, MemberVisitor) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new method to the edited class.
+
+
addMethod(int, String, String, MemberVisitor) - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
Adds a new method to the edited class.
+
+
addMethod(Method) - Method in class proguard.classfile.editor.ClassEditor
+
+
Adds the given method.
+
+
addMethod(Method) - Method in class proguard.classfile.editor.LibraryClassEditor
+
+
Adds the given method.
+
+
addMethodHandleConstant(int, int) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a MethodHandleConstant constant pool entry of the specified kind and with the + given field ref, interface method ref, or method ref constant pool entry index.
+
+
AddMethodInvocationLogging - Class in proguard.examples.instrument
+
+
This sample application illustrates how to modify bytecode with the ProGuardCORE API.
+
+
AddMethodInvocationLogging() - Constructor for class proguard.examples.instrument.AddMethodInvocationLogging
+
 
+
addMethodrefConstant(int, int, Clazz, Method) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a MethodrefConstant constant pool entry with the given class constant pool + entry index and name and type constant pool entry index.
+
+
addMethodrefConstant(int, String, String, Clazz, Method) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a MethodrefConstant constant pool entry with the given class constant pool + entry index, method name, and descriptor.
+
+
addMethodrefConstant(String, int, Clazz, Method) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a MethodrefConstant constant pool entry with the given class name, method + name, and descriptor.
+
+
addMethodrefConstant(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a MethodrefConstant constant pool entry with the given class name, method + name, and descriptor.
+
+
addMethodrefConstant(Clazz, Method) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a MethodrefConstant constant pool entry for the given class and method.
+
+
addMethodTypeConstant(int, Clazz[]) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a MethodTypeConstant constant pool entry with the given descriptor UTF-8 + constant pool index.
+
+
addMethodTypeConstant(String, Clazz[]) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a MethodTypeConstant constant pool entry with the given descriptor.
+
+
addModuleConstant(int) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a ModuleConstant constant pool entry with the given name constant pool index.
+
+
addModuleConstant(String) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a ModuleConstant constant pool entry with the given name.
+
+
addNameAndTypeConstant(int, int) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a NameAndTypeConstant constant pool entry with the given name and descriptor + UTF-8 constant pool indices.
+
+
addNameAndTypeConstant(String, String) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a NameAndTypeConstant constant pool entry with the given name and descriptor.
+
+
addNodeIfAbsent(MethodSignature, int, Clazz) - Method in class proguard.analysis.cpa.jvm.cfa.JvmCfa
+
+
If the requested function node is present in the graph return it.
+
+
addPackageConstant(int) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a PackageConstant constant pool entry with the given name constant pool index.
+
+
addPackageConstant(String) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a PackageConstant constant pool entry with the given name.
+
+
addPrimitiveArrayConstant(Object) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a PrimitiveArrayConstant constant pool entry with the given values.
+
+
addProcessingFlags(int...) - Method in class proguard.util.SimpleProcessable
+
+
Adds all given flags to this processable.
+
+
addProgramClassData(byte[]) - Method in class proguard.io.D8ClassConverter.D8DexFile
+
 
+
addResourceFile(String, ResourceFile) - Method in class proguard.resources.file.ResourceFilePool
+
+
Adds the given ResourceFile with the given name to this pool.
+
+
addResourceFile(ResourceFile) - Method in class proguard.resources.file.ResourceFilePool
+
+
Adds the given ResourceFile to this pool.
+
+
addResourceFileVisitor(ResourceFileVisitor) - Method in class proguard.resources.file.visitor.MultiResourceFileVisitor
+
 
+
addSourceLocation(BamLocationDependentJvmMemoryLocation<AbstractStateT>) - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
+
Adds a source location to the source set.
+
+
addStaticInitializerInstructions(boolean, InitializerEditor.CodeBuilder) - Method in class proguard.classfile.editor.InitializerEditor
+
+
Adds the specified static initializer instructions to the edited class.
+
+
addStaticInitializerInstructions(boolean, Instruction[]) - Method in class proguard.classfile.editor.InitializerEditor
+
+
Adds the given static initializer instructions to the edited class.
+
+
addStringConstant(int, Clazz, Member, int, ResourceFile) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a StringConstant constant pool entry with the given UTF-8 constant index.
+
+
addStringConstant(String) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a StringConstant constant pool entry with the given value.
+
+
addStringConstant(String, Clazz, Member) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a StringConstant constant pool entry with the given value, with optional + referenced class/member.
+
+
addStringConstant(String, Clazz, Member, int, ResourceFile) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a StringConstant constant pool entry with the given value.
+
+
addStringConstant(String, ResourceFile) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a StringConstant constant pool entry with the given value.
+
+
addSubClass(Clazz) - Method in interface proguard.classfile.Clazz
+
+
Notifies this Clazz that it is being subclassed by another class.
+
+
addSubClass(Clazz) - Method in class proguard.classfile.LibraryClass
+
 
+
addSubClass(Clazz) - Method in class proguard.classfile.ProgramClass
+
 
+
addSupportedModel(ReflectiveModelExecutor.SupportedModelInfo<T>) - Method in class proguard.evaluation.executor.ReflectiveModelExecutor.Builder
+
+
Add a model to support.
+
+
addSupportedModels(Collection<ReflectiveModelExecutor.SupportedModelInfo<? extends ReflectiveModel<?>>>) - Method in class proguard.evaluation.executor.ReflectiveModelExecutor.Builder
+
+
Add a models to support.
+
+
addUnknownTargetInterproceduralEdge(Call) - Method in class proguard.analysis.cpa.jvm.cfa.JvmCfa
+
+
Adds a call node between two methods.
+
+
addUses(String) - Method in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
addUtf8Constant(String) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a Utf8Constant constant pool entry for the given string.
+
+
afterExec(T[], Stmt) - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
afterInstructionEvaluation(Clazz, Method, int, Instruction, TracedVariables, TracedStack, BasicBranchUnit, InstructionOffsetValue) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
afterInstructionEvaluation(Clazz, Method, int, Instruction, TracedVariables, TracedStack, BasicBranchUnit, InstructionOffsetValue) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
The instruction is evaluated and branching information is obtained.
+
+
AGET - proguard.dexfile.reader.Op
+
 
+
AGET_BOOLEAN - proguard.dexfile.reader.Op
+
 
+
AGET_BYTE - proguard.dexfile.reader.Op
+
 
+
AGET_CHAR - proguard.dexfile.reader.Op
+
 
+
AGET_OBJECT - proguard.dexfile.reader.Op
+
 
+
AGET_SHORT - proguard.dexfile.reader.Op
+
 
+
AGET_WIDE - proguard.dexfile.reader.Op
+
 
+
AggTransformer - Class in proguard.dexfile.ir.ts
+
 
+
AggTransformer() - Constructor for class proguard.dexfile.ir.ts.AggTransformer
+
 
+
Algorithm - Interface in proguard.analysis.cpa.interfaces
+
+
This interface wraps the main CPA algorithm parametrized by the ReachedSet, the Waitlist, and the AbortOperator.
+
+
aliasName - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
ALL_LIB_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AllAnnotationVisitor - Class in proguard.classfile.attribute.annotation.visitor
+
+
This AttributeVisitor lets a given AnnotationVisitor visit all Annotation + instances of the attributes it visits.
+
+
AllAnnotationVisitor(AnnotationVisitor) - Constructor for class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
+
Creates a new AllAnnotationVisitor.
+
+
AllAttributeVisitor - Class in proguard.classfile.attribute.visitor
+
+
This ClassVisitor, MemberVisitor, RecordComponentInfoVisitor and AttributeVisitor lets a given AttributeVisitor visit all Attribute instances of the + program classes, program class members, or code attributes, respectively, that it visits.
+
+
AllAttributeVisitor(boolean, AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.AllAttributeVisitor
+
+
Creates a new optionally deep AllAttributeVisitor.
+
+
AllAttributeVisitor(AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.AllAttributeVisitor
+
+
Creates a new shallow AllAttributeVisitor.
+
+
AllBootstrapMethodArgumentVisitor - Class in proguard.classfile.constant.visitor
+
+
This BootstrapMethodInfoVisitor lets a given ConstantVisitor visit all constant + pool entries of the bootstrap methods it visits.
+
+
AllBootstrapMethodArgumentVisitor(ConstantVisitor) - Constructor for class proguard.classfile.constant.visitor.AllBootstrapMethodArgumentVisitor
+
+
Creates a new AllBootstrapMethodArgumentVisitor that will delegate to the given constant + visitor.
+
+
AllBootstrapMethodInfoVisitor - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor lets a given BootstrapMethodInfoVisitor visit all bootstrap + method instances of the BootstrapMethodsAttribute instances it visits.
+
+
AllBootstrapMethodInfoVisitor(BootstrapMethodInfoVisitor) - Constructor for class proguard.classfile.attribute.visitor.AllBootstrapMethodInfoVisitor
+
 
+
AllClassVisitor - Class in proguard.classfile.visitor
+
+
This ClassPoolVisitor lets a given ClassVisitor visit all Clazz instances of the + class pools it visits.
+
+
AllClassVisitor(ClassVisitor) - Constructor for class proguard.classfile.visitor.AllClassVisitor
+
 
+
AllConstantVisitor - Class in proguard.classfile.constant.visitor
+
+
This ClassVisitor lets a given ConstantVisitor visit all constant pool entries of + the program classes it visits.
+
+
AllConstantVisitor(ConstantVisitor) - Constructor for class proguard.classfile.constant.visitor.AllConstantVisitor
+
 
+
AllConstructorVisitor - Class in proguard.classfile.kotlin.visitor
+
+
This KotlinMetadataVisitor lets a given KotlinConstructorVisitor visit all constructors of + visited KotlinMetadata.
+
+
AllConstructorVisitor(KotlinConstructorVisitor) - Constructor for class proguard.classfile.kotlin.visitor.AllConstructorVisitor
+
 
+
AllElementValueVisitor - Class in proguard.classfile.attribute.annotation.visitor
+
+
This AttributeVisitor and AnnotationVisitor lets a given ElementValueVisitor visit all ElementValue instances of the attributes or annotations + that it visits.
+
+
AllElementValueVisitor(boolean, ElementValueVisitor) - Constructor for class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
+
Creates a new AllElementValueVisitor.
+
+
AllElementValueVisitor(ElementValueVisitor) - Constructor for class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
+
Creates a new AllElementValueVisitor.
+
+
AllExceptionInfoVisitor - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor lets a given ExceptionInfoVisitor visit all exceptions + instances of the CodeAttribute instances it visits.
+
+
AllExceptionInfoVisitor(ExceptionInfoVisitor) - Constructor for class proguard.classfile.attribute.visitor.AllExceptionInfoVisitor
+
 
+
AllExportsInfoVisitor - Class in proguard.classfile.attribute.module.visitor
+
+
This AttributeVisitor lets a given ExportsInfoVisitor visit all ExportsInfo instances of the ModuleAttribute instances it visits.
+
+
AllExportsInfoVisitor(ExportsInfoVisitor) - Constructor for class proguard.classfile.attribute.module.visitor.AllExportsInfoVisitor
+
 
+
AllFieldVisitor - Class in proguard.classfile.visitor
+
+
This ClassVisitor lets a given MemberVisitor visit all Field instances of + the classes it visits.
+
+
AllFieldVisitor(MemberVisitor) - Constructor for class proguard.classfile.visitor.AllFieldVisitor
+
 
+
AllFunctionVisitor - Class in proguard.classfile.kotlin.visitor
+
+
This KotlinMetadataVisitor lets a given KotlinFunctionVisitor visit all functions of visited + KotlinMetadata.
+
+
AllFunctionVisitor(KotlinFunctionVisitor...) - Constructor for class proguard.classfile.kotlin.visitor.AllFunctionVisitor
+
 
+
AllInnerClassesInfoVisitor - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor lets a given InnerClassesInfoVisitor visit all InnerClassesInfo instances of the InnerClassesAttribute instances it visits.
+
+
AllInnerClassesInfoVisitor(InnerClassesInfoVisitor) - Constructor for class proguard.classfile.attribute.visitor.AllInnerClassesInfoVisitor
+
 
+
AllInstructionVisitor - Class in proguard.classfile.instruction.visitor
+
+
This AttributeVisitor lets a given InstructionVisitor visit all Instruction + instances of the CodeAttribute instances it visits.
+
+
AllInstructionVisitor(InstructionVisitor) - Constructor for class proguard.classfile.instruction.visitor.AllInstructionVisitor
+
 
+
AllKotlinAnnotationArgumentVisitor - Class in proguard.classfile.kotlin.visitor
+
+
This visitor allows a delegate to visit all arguments of a KotlinAnnotation.
+
+
AllKotlinAnnotationArgumentVisitor(KotlinAnnotationArgumentVisitor) - Constructor for class proguard.classfile.kotlin.visitor.AllKotlinAnnotationArgumentVisitor
+
 
+
AllKotlinAnnotationVisitor - Class in proguard.classfile.kotlin.visitor
+
 
+
AllKotlinAnnotationVisitor(KotlinAnnotationVisitor) - Constructor for class proguard.classfile.kotlin.visitor.AllKotlinAnnotationVisitor
+
 
+
AllLineNumberInfoVisitor - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor lets a given LineNumberInfoVisitor visit all line numbers + of the LineNumberTableAttribute instances it visits.
+
+
AllLineNumberInfoVisitor(LineNumberInfoVisitor) - Constructor for class proguard.classfile.attribute.visitor.AllLineNumberInfoVisitor
+
 
+
AllMemberVisitor - Class in proguard.classfile.visitor
+
+
This ClassVisitor lets a given MemberVisitor visit all Member instances of the + classes it visits.
+
+
AllMemberVisitor(MemberVisitor) - Constructor for class proguard.classfile.visitor.AllMemberVisitor
+
 
+
AllMethodVisitor - Class in proguard.classfile.visitor
+
+
This ClassVisitor lets a given MemberVisitor visit all Method instances + of the classes it visits.
+
+
AllMethodVisitor(MemberVisitor) - Constructor for class proguard.classfile.visitor.AllMethodVisitor
+
 
+
AllOpensInfoVisitor - Class in proguard.classfile.attribute.module.visitor
+
+
This AttributeVisitor lets a given OpensInfoVisitor visit all OpensInfo + instances of the ModuleAttribute instances it visits.
+
+
AllOpensInfoVisitor(OpensInfoVisitor) - Constructor for class proguard.classfile.attribute.module.visitor.AllOpensInfoVisitor
+
 
+
ALLOW_INCOMPLETE_CLASS_HIERARCHY - Static variable in class proguard.evaluation.value.TypedReferenceValue
+
+
If true, do not throw an IncompleteClassHierarchyException when one would occur.
+
+
allowsIncompleteClassHierarchy() - Static method in class proguard.evaluation.value.TypedReferenceValue
+
+
Returns whether incomplete class hierarchies are allowed.
+
+
AllParameterVisitor - Class in proguard.classfile.util
+
+
This MemberVisitor lets a given parameter visitor visit all the parameters of the methods + that it visits.
+
+
AllParameterVisitor(boolean, ParameterVisitor) - Constructor for class proguard.classfile.util.AllParameterVisitor
+
+
Creates a new AllParameterVisitor for the given parameter visitor.
+
+
allParticular(List<Value>) - Static method in class proguard.evaluation.value.object.model.reflective.ModelHelper
+
+
Simple helper method to check if all values in the given list are particular.
+
+
AllPropertyVisitor - Class in proguard.classfile.kotlin.visitor
+
+
This KotlinMetadataVisitor lets a given KotlinPropertyVisitor visit all properties (regular and + delegated) of visited KotlinDeclarationContainerMetadata.
+
+
AllPropertyVisitor(KotlinPropertyVisitor) - Constructor for class proguard.classfile.kotlin.visitor.AllPropertyVisitor
+
 
+
AllProvidesInfoVisitor - Class in proguard.classfile.attribute.module.visitor
+
+
This AttributeVisitor lets a given ProvidesInfoVisitor visit all ProvidesInfo instances of the ModuleAttribute instances it visits.
+
+
AllProvidesInfoVisitor(ProvidesInfoVisitor) - Constructor for class proguard.classfile.attribute.module.visitor.AllProvidesInfoVisitor
+
 
+
AllRecordComponentInfoVisitor - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor lets a given RecordComponentInfoVisitor visit all RecordComponentInfo instances of the RecordAttribute instances it visits.
+
+
AllRecordComponentInfoVisitor(RecordComponentInfoVisitor) - Constructor for class proguard.classfile.attribute.visitor.AllRecordComponentInfoVisitor
+
 
+
AllRequiresInfoVisitor - Class in proguard.classfile.attribute.module.visitor
+
+
This AttributeVisitor lets a given RequiresInfoVisitor visit all RequiresInfo instances of the ModuleAttribute instances it visits.
+
+
AllRequiresInfoVisitor(RequiresInfoVisitor) - Constructor for class proguard.classfile.attribute.module.visitor.AllRequiresInfoVisitor
+
 
+
AllTypeAliasVisitor - Class in proguard.classfile.kotlin.visitor
+
 
+
AllTypeAliasVisitor(KotlinTypeAliasVisitor) - Constructor for class proguard.classfile.kotlin.visitor.AllTypeAliasVisitor
+
 
+
AllTypeParameterVisitor - Class in proguard.classfile.kotlin.visitor
+
 
+
AllTypeParameterVisitor(KotlinTypeParameterVisitor) - Constructor for class proguard.classfile.kotlin.visitor.AllTypeParameterVisitor
+
 
+
AllTypeVisitor - Class in proguard.classfile.kotlin.visitor
+
 
+
AllTypeVisitor(KotlinTypeVisitor) - Constructor for class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
AllValueParameterVisitor - Class in proguard.classfile.kotlin.visitor
+
+
This KotlinMetadataVisitor visits all ValueParameters that it finds down the tree of the visit + Kotlin Metadata.
+
+
AllValueParameterVisitor(KotlinValueParameterVisitor) - Constructor for class proguard.classfile.kotlin.visitor.AllValueParameterVisitor
+
 
+
aload(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
aload(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
aload(int) - Method in class proguard.evaluation.Variables
+
+
Loads the ReferenceValue from the variable with the given index.
+
+
aload_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
aload_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
aload_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
aload_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
aload_2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
aload_2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
aload_3() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
aload_3() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ALWAYS - Static variable in class proguard.evaluation.value.Value
+
 
+
ANALYSIS_BAM_TRANSFER_RELATION_STATE_NOT_LOCATION_DEPENDENT - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_CALL_RESOLVER_SELECTIVE_PARAMETER_RECONSTRUCTION_MISSING_PARAMS - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_COMPOSITE_HEAP_JVM_COMPARE_STATE_DIFFERENT_LENGTH - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_COMPOSITE_HEAP_JVM_JOIN_STATE_DIFFERENT_LENGTH - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_COMPOSITE_HEAP_JVM_NO_REFERENCE_STATE_AT_INDEX - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_COMPOSITE_TRANSFER_RELATION_STATE_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_DOMINATOR_CALCULATOR_NO_DOMINATOR_AT_OFFSET - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_BAM_CPA_RUN_UNSUPPORTED_HEAP_MODEL - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_COMPOSITE_HEAP_EXPAND_OPERATOR_EXIT_STATE_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_COMPOSITE_HEAP_EXPAND_OPERATOR_INITIAL_STATE_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_COMPOSITE_HEAP_REDUCE_OPERATOR_STATE_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_EXIT_NODE_EXPECTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_EXIT_STATE_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_INITIAL_STATE_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_MISSING_EXPECTED_CATCH_NODE_EXPECTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_RETURN_INSTRUCTION_EXPECTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_DEFAULT_REDUCE_OPERATOR_STATE_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_INTRAPROCEDURAL_CFA_FILLER_ALL_INSTRUCTION_UNEXPECTED_SWITCH - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_INVOKE_TAINT_SINK_MISSING_TAINT - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_MEMORY_LOCATION_TRANSFER_RELATION_STATE_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_MEMORY_LOCATION_TRANSFER_RELATION_TYPE_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_REFERENCE_TRANSFER_RELATION_STATE_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_SHALLOW_HEAP_STATE_INCOMPATIBLE - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TAINT_BAM_CPA_RUN_CFA_OR_MAIN_SIGNATURE_NOT_SET - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TAINT_BAM_CPA_RUN_EXPAND_OPERATOR_HEAP_MODEL_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TAINT_BAM_CPA_RUN_HEAP_MODEL_INVALID - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TAINT_BAM_CPA_RUN_INTRAPROCEDURAL_CPA_HEAP_MODEL_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TAINT_MEMORY_LOCATION_BAM_CPA_RUN_CFA_OR_MAIN_SIGNATURE_NOT_SET - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TRANSFER_RELATION_CONSTANT_INSTRUCTION_VISITOR_OPCODE_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TRANSFER_RELATION_INSTRUCTION_PUSH_COUNT_HIGHER_THAN_TWO - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TRANSFER_RELATION_STATE_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TRANSFER_RELATION_UNEXPECTED_UNKNOWN_SIGNATURE - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TREE_HEAP_FOLLOWER_ARRAY_GET_UNSUPPORTED_REFERENCE_TYPE - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TREE_HEAP_FOLLOWER_ARRAY_SET_UNSUPPORTED_REFERENCE_TYPE - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TREE_HEAP_FOLLOWER_GET_UNSUPPORTED_REFERENCE_TYPE - Static variable in class proguard.exception.ErrorId
+
+
Group of errors.
+
+
ANALYSIS_JVM_TREE_HEAP_FOLLOWER_SET_UNSUPPORTED_REFERENCE_TYPE - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_ARRAY_GET_UNSUPPORTED_REFERENCE_TYPE - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_ARRAY_SET_UNSUPPORTED_REFERENCE_TYPE - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_GET_UNSUPPORTED_REFERENCE_TYPE - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_SET_UNSUPPORTED_REFERENCE_TYPE - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_TREE_HEAP_STATE_INCOMPATIBLE - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_VALUE_BAM_CPA_RUN_SET_CFA_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_JVM_VALUE_TRANSFER_RELATION_INCORRECT_PARAMETER_COUNT - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_PROGRAM_LOCATION_DEPENDENT_TRANSFER_RELATION_STATE_UNSUPPORTED - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_STACK_STATE_OPERAND_STACK_INDEX_OUT_OF_BOUNDS - Static variable in class proguard.exception.ErrorId
+
 
+
ANALYSIS_VALUE_ABSTRACT_STATE_CONDITION_UNCHECKED - Static variable in class proguard.exception.ErrorId
+
 
+
analyze() - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
analyze0() - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
AnalyzedObject - Interface in proguard.evaluation.value.object
+
+
A class wrapping values calculated during an analysis.
+
+
AnalyzedObjectFactory - Class in proguard.evaluation.value.object
+
+
Factory methods to create AnalyzedObject.
+
+
AnalyzeTaints - Class in proguard.examples
+
+
This sample application illustrates how to perform taint analysis with the ProGuard API.
+
+
AnalyzeTaints() - Constructor for class proguard.examples.AnalyzeTaints
+
 
+
analyzeValue() - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
analyzeValue() - Method in class proguard.dexfile.ir.ts.an.SimpleLiveAnalyze
+
 
+
analyzeValue() - Method in class proguard.dexfile.ir.ts.UnSSATransformer.LiveA
+
 
+
AnalyzeValue - Interface in proguard.dexfile.ir.ts.an
+
 
+
and(TriPredicate<? super T, ? super U, ? super V>) - Method in interface proguard.analysis.cpa.util.TriPredicate
+
+
Returns a conjunction of this and other.
+
+
and(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical and of this IntegerValue and the given IntegerValue.
+
+
and(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
and(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
and(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
and(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
and(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical and of this LongValue and the given LongValue.
+
+
and(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
and(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
and(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
and(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical and of this IntegerValue and the given ParticularIntegerValue.
+
+
and(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
and(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
and(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical and of this LongValue and the given ParticularLongValue.
+
+
and(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
and(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical and of this IntegerValue and the given RangeIntegerValue.
+
+
and(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
and(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
and(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
and(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical and of this IntegerValue and the given SpecificIntegerValue.
+
+
and(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
and(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical and of this LongValue and the given SpecificLongValue.
+
+
and(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
and(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical and of this IntegerValue and the given UnknownIntegerValue.
+
+
AND - proguard.dexfile.ir.expr.Value.VT
+
 
+
AND - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
AND - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
AND_INT - proguard.dexfile.reader.Op
+
 
+
AND_INT_2ADDR - proguard.dexfile.reader.Op
+
 
+
AND_INT_LIT16 - proguard.dexfile.reader.Op
+
 
+
AND_INT_LIT8 - proguard.dexfile.reader.Op
+
 
+
AND_LONG - proguard.dexfile.reader.Op
+
 
+
AND_LONG_2ADDR - proguard.dexfile.reader.Op
+
 
+
AndMatcher - Class in proguard.util
+
+
This StringMatcher tests whether strings match both given StringMatcher + instances.
+
+
AndMatcher(StringMatcher, StringMatcher) - Constructor for class proguard.util.AndMatcher
+
+
Creates a new AndMatcher with the two given string matchers.
+
+
AndNotStringFunction - Class in proguard.util
+
+
This StringFunction tests whether the first given StringFunction returns null, + returning the result of the latter function if so, or null otherwise.
+
+
AndNotStringFunction(StringFunction, StringFunction) - Constructor for class proguard.util.AndNotStringFunction
+
+
Creates a new AndNotStringFunction with the two given string functions.
+
+
andRightHandSideAccept(Clazz, KotlinEffectMetadata, KotlinEffectExprVisitor) - Method in class proguard.classfile.kotlin.KotlinEffectExpressionMetadata
+
 
+
andRightHandSides - Variable in class proguard.classfile.kotlin.KotlinEffectExpressionMetadata
+
 
+
ANDROID_B - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_B_1_1 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_C - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_D - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_E - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_E_0_1 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_E_MR1 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_F - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_G - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_G_MR1 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_H - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_H_MR1 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_H_MR2 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_I - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_I_MR1 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_J - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_J_MR1 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_J_MR2 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_K - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_K_MR1 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_L - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_L_MR1 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_M - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_MANIFEST_XML - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_MANIFEST_XML_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_N - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_N_MR1 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_O - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_O_MR1 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_P - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_Q - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_R - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_S - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_S_V2 - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_TIRAMISU - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ANDROID_UPSIDE_DOWN_CAKE - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
AndroidConstants - Class in proguard.dexfile
+
+
Android-related constants.
+
+
AndroidConstants() - Constructor for class proguard.dexfile.AndroidConstants
+
 
+
AndStringFunction - Class in proguard.util
+
+
This StringFunction tests whether the first given StringFunction returns not + null, returning the result of the latter function if so, or null otherwise.
+
+
AndStringFunction(StringFunction, StringFunction) - Constructor for class proguard.util.AndStringFunction
+
+
Creates a new AndStringFunction with the two given string functions.
+
+
anewarray(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
anewarray(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
anewarray(String, Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
anewarray(String, Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
anewarray(Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
Annotation - Class in proguard.classfile.attribute.annotation
+
+
Representation of an annotation.
+
+
Annotation() - Constructor for class proguard.classfile.attribute.annotation.Annotation
+
+
Creates an uninitialized Annotation.
+
+
Annotation(int, int, ElementValue[]) - Constructor for class proguard.classfile.attribute.annotation.Annotation
+
+
Creates an initialized Annotation.
+
+
ANNOTATION - Static variable in class proguard.classfile.AccessConstants
+
 
+
ANNOTATION - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
ANNOTATION_DEFAULT - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
ANNOTATION_DEFAULT_TYPE - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ANNOTATION_ENCLOSING_CLASS_TYPE - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ANNOTATION_ENCLOSING_METHOD_TYPE - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ANNOTATION_INNER_CLASS_TYPE - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ANNOTATION_MEMBER_CLASSES_TYPE - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ANNOTATION_SIGNATURE_TYPE - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
ANNOTATION_THROWS_TYPE - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
annotationAccept(Clazz, int, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
+
Applies the given visitor to the specified class annotation.
+
+
annotationAccept(Clazz, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationElementValue
+
+
Applies the given visitor to the annotation.
+
+
annotationAccept(Clazz, Field, int, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
+
Applies the given visitor to the specified field annotation.
+
+
annotationAccept(Clazz, KotlinAnnotatable, KotlinAnnotationVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.AnnotationValue
+
 
+
annotationAccept(Clazz, Method, int, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
+
Applies the given visitor to the specified method annotation.
+
+
AnnotationAdder - Class in proguard.classfile.editor
+
+
This AnnotationVisitor adds all annotations that it visits to the given target annotation + element value, target annotation attribute, or target parameter annotation attribute.
+
+
AnnotationAdder(ProgramClass, AnnotationElementValue) - Constructor for class proguard.classfile.editor.AnnotationAdder
+
+
Creates a new AnnotationAdder that will copy annotations into the given target annotation + element value.
+
+
AnnotationAdder(ProgramClass, AnnotationsAttribute) - Constructor for class proguard.classfile.editor.AnnotationAdder
+
+
Creates a new AnnotationAdder that will copy annotations into the given target annotations + attribute.
+
+
AnnotationAdder(ProgramClass, ParameterAnnotationsAttribute) - Constructor for class proguard.classfile.editor.AnnotationAdder
+
+
Creates a new AnnotationAdder that will copy annotations into the given target parameter + annotations attribute.
+
+
AnnotationDefaultAttribute - Class in proguard.classfile.attribute.annotation
+
+
This Attribute represents an annotation default attribute.
+
+
AnnotationDefaultAttribute() - Constructor for class proguard.classfile.attribute.annotation.AnnotationDefaultAttribute
+
+
Creates an uninitialized AnnotationDefaultAttribute.
+
+
AnnotationDefaultAttribute(int, ElementValue) - Constructor for class proguard.classfile.attribute.annotation.AnnotationDefaultAttribute
+
+
Creates an initialized AnnotationDefaultAttribute.
+
+
AnnotationElementValue - Class in proguard.classfile.attribute.annotation
+
+
This ElementValue represents an annotation element value.
+
+
AnnotationElementValue() - Constructor for class proguard.classfile.attribute.annotation.AnnotationElementValue
+
+
Creates an uninitialized AnnotationElementValue.
+
+
AnnotationElementValue(int, Annotation) - Constructor for class proguard.classfile.attribute.annotation.AnnotationElementValue
+
+
Creates an initialized AnnotationElementValue.
+
+
annotations - Variable in class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
 
+
annotations - Variable in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
annotations - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
annotations - Variable in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
annotationsAccept(Clazz, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
+
Applies the given visitor to all class annotations.
+
+
annotationsAccept(Clazz, Field, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
+
Applies the given visitor to all field annotations.
+
+
annotationsAccept(Clazz, KotlinAnnotationVisitor) - Method in interface proguard.classfile.kotlin.KotlinAnnotatable
+
 
+
annotationsAccept(Clazz, KotlinAnnotationVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
annotationsAccept(Clazz, KotlinAnnotationVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
annotationsAccept(Clazz, KotlinAnnotationVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
annotationsAccept(Clazz, Method, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
+
Applies the given visitor to all method annotations.
+
+
annotationsAccept(Clazz, Method, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute
+
+
Applies the given visitor to all annotations.
+
+
annotationsAccept(Clazz, Method, CodeAttribute, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
+
Applies the given visitor to all code attribute annotations.
+
+
AnnotationsAttribute - Class in proguard.classfile.attribute.annotation
+
+
This Attribute represents an annotations attribute.
+
+
AnnotationsAttribute() - Constructor for class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
+
Creates an uninitialized AnnotationsAttribute.
+
+
AnnotationsAttribute(int, int, Annotation[]) - Constructor for class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
+
Creates an initialized AnnotationsAttribute.
+
+
AnnotationsAttributeEditor - Class in proguard.classfile.editor
+
+
This class can add annotations to a given annotations attribute.
+
+
AnnotationsAttributeEditor(AnnotationsAttribute) - Constructor for class proguard.classfile.editor.AnnotationsAttributeEditor
+
+
Creates a new AnnotationsAttributeEditor that will edit annotations in the given annotations + attribute.
+
+
AnnotationToAnnotatedClassVisitor - Class in proguard.classfile.attribute.annotation.visitor
+
+
This AnnotationVisitor delegates all visits to a given ClassVisitor.
+
+
AnnotationToAnnotatedClassVisitor(ClassVisitor) - Constructor for class proguard.classfile.attribute.annotation.visitor.AnnotationToAnnotatedClassVisitor
+
 
+
AnnotationToAnnotatedMemberVisitor - Class in proguard.classfile.attribute.annotation.visitor
+
+
This AnnotationVisitor delegates all visits to a given MemberVisitor.
+
+
AnnotationToAnnotatedMemberVisitor(MemberVisitor) - Constructor for class proguard.classfile.attribute.annotation.visitor.AnnotationToAnnotatedMemberVisitor
+
 
+
AnnotationTypeFilter - Class in proguard.classfile.attribute.annotation.visitor
+
+
This AnnotationVisitor delegates its visits to another given AnnotationVisitor, + but only when the visited annotation has a type that matches a given regular expression.
+
+
AnnotationTypeFilter(String, AnnotationVisitor) - Constructor for class proguard.classfile.attribute.annotation.visitor.AnnotationTypeFilter
+
+
Creates a new AnnotationTypeFilter.
+
+
AnnotationTypeFilter(String, WildcardManager, AnnotationVisitor) - Constructor for class proguard.classfile.attribute.annotation.visitor.AnnotationTypeFilter
+
+
Creates a new AnnotationTypeFilter.
+
+
AnnotationTypeFilter(StringMatcher, AnnotationVisitor) - Constructor for class proguard.classfile.attribute.annotation.visitor.AnnotationTypeFilter
+
+
Creates a new AnnotationTypeFilter.
+
+
annotationValue - Variable in class proguard.classfile.attribute.annotation.AnnotationElementValue
+
 
+
AnnotationValue(KotlinAnnotation) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.AnnotationValue
+
 
+
AnnotationVisitor - Interface in proguard.classfile.attribute.annotation.visitor
+
+
This interface specifies the methods for a visitor of Annotation instances.
+
+
anns - Variable in class proguard.dexfile.reader.node.DexClassNode
+
 
+
anns - Variable in class proguard.dexfile.reader.node.DexFieldNode
+
 
+
anns - Variable in class proguard.dexfile.reader.node.DexMethodNode
+
 
+
anonymousObjectOriginClass - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
anonymousObjectOriginName - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
AnyMethodrefConstant - Class in proguard.classfile.constant
+
+
This Constant represents a method reference constant in the constant pool.
+
+
AnyMethodrefConstant() - Constructor for class proguard.classfile.constant.AnyMethodrefConstant
+
+
Creates an uninitialized AnyMethodrefConstant.
+
+
AnyMethodrefConstant(int, int, Clazz, Method) - Constructor for class proguard.classfile.constant.AnyMethodrefConstant
+
+
Creates a new AnyMethodrefConstant with the given name and type indices.
+
+
APK_AAR_LIB_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
APK_ASSETS_DEX_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
APK_ASSETS_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
APK_ASSETS_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
APK_CLASSES_DEX_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
APK_DYLIB_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
APK_FILE_EXTENSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
APK_LIB_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
APK_LIB_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
APK_RES_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
APK_RES_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
APK_RES_XML_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
APK_XML_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
apop() - Method in class proguard.evaluation.Stack
+
+
Pops the top ReferenceValue from the stack.
+
+
appendException(ExceptionInfo) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Appends the given exception to the exception table.
+
+
appendException(ExceptionInfo) - Method in class proguard.classfile.editor.ExceptionInfoEditor
+
+
Appends the given exception to the exception table.
+
+
appendInstruction(int, Instruction) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Appends the given instruction with the given old offset.
+
+
appendInstruction(Instruction) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Appends the given instruction without a defined offset.
+
+
appendInstruction(Instruction) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends the given instruction.
+
+
appendInstruction(Instruction) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends the given instruction.
+
+
appendInstructions(Instruction[]) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Appends the given instruction without defined offsets.
+
+
appendInstructions(Instruction[]) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends the given instruction without defined offsets.
+
+
appendInstructions(Instruction[]) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends the given instructions.
+
+
appendLabel(int) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Appends the given label with the given old offset.
+
+
appendLineNumber(LineNumberInfo) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Appends the given line number to the line number table.
+
+
appendPrintInstructions(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the given message.
+
+
appendPrintIntegerHexInstructions() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the top integer on the stack as a hexadecimal value.
+
+
appendPrintIntegerHexInstructions(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the given message and the top int on the stack as a + hexadecimal value.
+
+
appendPrintIntegerInstructions() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the top int on the stack.
+
+
appendPrintIntegerInstructions(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the given message and the top int on the stack.
+
+
appendPrintLongInstructions() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the top long on the stack.
+
+
appendPrintLongInstructions(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the given message and the top long on the stack.
+
+
appendPrintObjectInstructions() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the top Object on the stack.
+
+
appendPrintObjectInstructions(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the given message and the top Object on the stack.
+
+
appendPrintStackTraceInstructions() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the stack trace of the top Throwable on the stack.
+
+
appendPrintStackTraceInstructions(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the given message and the stack trace of the top Throwable on + the stack.
+
+
appendPrintStringInstructions() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the top String on the stack.
+
+
appendPrintStringInstructions(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the given message and the top String on the stack.
+
+
appendString(StringBuffer, String) - Static method in class proguard.dexfile.ir.Util
+
+
Appends a quoted string to a given buffer.
+
+
apply(String, Clazz, boolean, Object, boolean, Object) - Method in interface proguard.evaluation.ValueCalculator
+
+
Create a Value given all available known information about it (included the actual + tracked value or a Model of it, if available, and its reference identifier if the value + has the same reference as an existing one).
+
+
apply(T, U, V) - Method in interface proguard.analysis.cpa.util.TriFunction
+
+
Returns the result of the function on given arguments
+
+
ApplyPeepholeOptimizations - Class in proguard.examples
+
+
This sample application illustrates how to modify bytecode with the ProGuardCORE API.
+
+
ApplyPeepholeOptimizations() - Constructor for class proguard.examples.ApplyPeepholeOptimizations
+
 
+
APUT - proguard.dexfile.reader.Op
+
 
+
APUT_BOOLEAN - proguard.dexfile.reader.Op
+
 
+
APUT_BYTE - proguard.dexfile.reader.Op
+
 
+
APUT_CHAR - proguard.dexfile.reader.Op
+
 
+
APUT_OBJECT - proguard.dexfile.reader.Op
+
 
+
APUT_SHORT - proguard.dexfile.reader.Op
+
 
+
APUT_WIDE - proguard.dexfile.reader.Op
+
 
+
areInstanceAndParametersParticular(MethodExecutionInfo) - Static method in class proguard.evaluation.value.object.model.reflective.ModelHelper
+
+
Check whether both the instance (for instance methods) and all parameters of a method call are + particular.
+
+
areturn() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
areturn() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
args - Variable in class proguard.dexfile.ir.IrMethod
+
 
+
args - Variable in class proguard.dexfile.reader.node.insn.AbstractMethodStmtNode
+
 
+
args - Variable in class proguard.dexfile.reader.node.insn.FilledNewArrayStmtNode
+
 
+
arguments - Variable in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
argumentsAccept(Clazz, KotlinAnnotatable, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
argumentTypes - Variable in class proguard.classfile.MethodDescriptor
+
+
Deprecated.
+
+
array - Variable in class proguard.dexfile.reader.node.insn.FillArrayDataStmtNode
+
 
+
array() - Method in class proguard.classfile.util.ArrayInitializationMatcher
+
+
Returns the recent static array initialization.
+
+
ARRAY - proguard.dexfile.ir.expr.Value.VT
+
 
+
ARRAY - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
ARRAY - Static variable in class proguard.classfile.TypeConstants
+
 
+
ARRAY_EXCEPTIONS - Static variable in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
ARRAY_INDEX_OUT_OF_BOUND - Static variable in class proguard.exception.ErrorId
+
 
+
ARRAY_LENGTH - proguard.dexfile.reader.Op
+
 
+
ARRAY_STORE_TYPE_EXCEPTION - Static variable in class proguard.exception.ErrorId
+
 
+
ARRAY_T_BOOLEAN - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
ARRAY_T_BYTE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
ARRAY_T_CHAR - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
ARRAY_T_DOUBLE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
ARRAY_T_FLOAT - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
ARRAY_T_INT - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
ARRAY_T_LONG - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
ARRAY_T_SHORT - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
arrayDimensionsCount - Variable in class proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue
+
 
+
ArrayElementValue - Class in proguard.classfile.attribute.annotation
+
+
This ElementValue represents an array element value.
+
+
ArrayElementValue() - Constructor for class proguard.classfile.attribute.annotation.ArrayElementValue
+
+
Creates an uninitialized ArrayElementValue.
+
+
ArrayElementValue(int, int, ElementValue[]) - Constructor for class proguard.classfile.attribute.annotation.ArrayElementValue
+
+
Creates an initialized ArrayElementValue.
+
+
ArrayExpr - Class in proguard.dexfile.ir.expr
+
+
Represent an Array expression
+
+
ArrayExpr() - Constructor for class proguard.dexfile.ir.expr.ArrayExpr
+
 
+
ArrayExpr(Value, Value, String) - Constructor for class proguard.dexfile.ir.expr.ArrayExpr
+
 
+
ArrayIndexOutOfBounds - Exception in proguard.evaluation.exception
+
+
Exception thrown when the index to access an array is known to be out of bound for the array.
+
+
ArrayIndexOutOfBounds(int, int) - Constructor for exception proguard.evaluation.exception.ArrayIndexOutOfBounds
+
 
+
arrayInitializationEnd() - Method in class proguard.classfile.util.ArrayInitializationMatcher
+
+
Returns the last offset of the recent static array initialization.
+
+
ArrayInitializationMatcher - Class in proguard.classfile.util
+
+
This class finds sequences of instructions that correspond to primitive array initializations.
+
+
ArrayInitializationMatcher() - Constructor for class proguard.classfile.util.ArrayInitializationMatcher
+
+
Creates a new ArrayInitializationMatcher.
+
+
ArrayInitializationMatcher(PartialEvaluator) - Constructor for class proguard.classfile.util.ArrayInitializationMatcher
+
+
Creates a new ArrayInitializationMatcher that will use the given partial evaluator.
+
+
ArrayInitializationReplacer - Class in proguard.classfile.util
+
+
This ClassVisitor replaces array initialization instructions with optimized primitive + array constants.
+
+
ArrayInitializationReplacer() - Constructor for class proguard.classfile.util.ArrayInitializationReplacer
+
 
+
arrayInitializationStart() - Method in class proguard.classfile.util.ArrayInitializationMatcher
+
+
Returns the first offset of the recent static array initialization, i.e.
+
+
arraylength() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
arraylength() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
arrayLength - Variable in class proguard.evaluation.value.ArrayReferenceValue
+
 
+
arrayLength(ValueFactory) - Method in class proguard.evaluation.value.ArrayReferenceValue
+
 
+
arrayLength(ValueFactory) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the length of the array, assuming this type is an array.
+
+
arrayLength(ValueFactory) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
ArrayModel - Class in proguard.evaluation.value.object.model
+
+
A Model to track array values.
+
+
ArrayModel(Value[], String) - Constructor for class proguard.evaluation.value.object.model.ArrayModel
+
 
+
ArrayReferenceValue - Class in proguard.evaluation.value
+
+
This ReferenceValue represents a partially evaluated array.
+
+
ArrayReferenceValue(String, Clazz, boolean, IntegerValue) - Constructor for class proguard.evaluation.value.ArrayReferenceValue
+
+
Creates a new ArrayReferenceValue.
+
+
ArrayReferenceValueFactory - Class in proguard.evaluation.value
+
+
This identified value factory creates array reference values that also represent their elements, + in as far as possible.
+
+
ArrayReferenceValueFactory() - Constructor for class proguard.evaluation.value.ArrayReferenceValueFactory
+
 
+
arrayRoots - Variable in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
+
reference to root
+
+
arrayStore(IntegerValue, Value) - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
arrayStore(IntegerValue, Value) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Stores the given value at the given index in the given array, assuming this type is an array.
+
+
arrayStore(IntegerValue, Value) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
arrayStore(IntegerValue, Value) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
ArrayStoreTypeException - Exception in proguard.evaluation.exception
+
 
+
ArrayStoreTypeException(TypedReferenceValue, Value) - Constructor for exception proguard.evaluation.exception.ArrayStoreTypeException
+
 
+
arrayTypeFromInternalType(char) - Static method in class proguard.classfile.instruction.InstructionUtil
+
+
Returns the 'newarray' type constant for the given internal primitive type.
+
+
ArrayUtil - Class in proguard.util
+
+
This class contains utility methods operating on arrays.
+
+
ArrayUtil() - Constructor for class proguard.util.ArrayUtil
+
 
+
ArrayValue(List<? extends KotlinAnnotationArgument.Value>) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.ArrayValue
+
 
+
ARSC_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
asCollection() - Method in class proguard.analysis.cpa.defaults.DefaultReachedSet
+
 
+
asCollection() - Method in class proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet
+
 
+
asCollection() - Method in interface proguard.analysis.cpa.interfaces.ReachedSet
+
+
Returns a collection representation of itself.
+
+
AssertUtil - Class in proguard.util.kotlin.asserter
+
 
+
AssertUtil(String, Reporter, ClassPool, ClassPool) - Constructor for class proguard.util.kotlin.asserter.AssertUtil
+
 
+
ASSETS_DEX_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ASSETS_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ASSETS_PB - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ASSIGN - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
AssignStmt - Class in proguard.dexfile.ir.stmt
+
+
Represent an Assign statement
+
+
AssignStmt(Stmt.ST, Value, Value) - Constructor for class proguard.dexfile.ir.stmt.AssignStmt
+
 
+
astore(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
astore(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
astore_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
astore_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
astore_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
astore_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
astore_2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
astore_2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
astore_3() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
astore_3() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
AT_CATCH_ENTRY - Static variable in class proguard.evaluation.PartialEvaluator
+
 
+
AT_METHOD_ENTRY - Static variable in class proguard.evaluation.PartialEvaluator
+
 
+
athrow() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
athrow() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
Attribute - Class in proguard.classfile.attribute
+
+
This abstract class represents an attribute that is attached to a class, a class member, or a + code attribute.
+
+
Attribute() - Constructor for class proguard.classfile.attribute.Attribute
+
+
Create an uninitialized Attribute.
+
+
Attribute(int) - Constructor for class proguard.classfile.attribute.Attribute
+
+
Create an initialized Attribute.
+
+
attributeAccept(String, AttributeVisitor) - Method in interface proguard.classfile.Clazz
+
+
Lets the given attribute info visitor visit the specified attribute.
+
+
attributeAccept(String, AttributeVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
attributeAccept(String, AttributeVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
AttributeAdder - Class in proguard.classfile.editor
+
+
This AttributeVisitor adds all attributes that it visits to the given target class, class + member, or attribute.
+
+
AttributeAdder(ProgramClass, boolean) - Constructor for class proguard.classfile.editor.AttributeAdder
+
+
Creates a new AttributeAdder that will copy attributes into the given target class.
+
+
AttributeAdder(ProgramClass, ProgramMember, boolean) - Constructor for class proguard.classfile.editor.AttributeAdder
+
+
Creates a new AttributeAdder that will copy attributes into the given target class member.
+
+
AttributeAdder(ProgramClass, ProgramMember, CodeAttribute, boolean) - Constructor for class proguard.classfile.editor.AttributeAdder
+
+
Creates a new AttributeAdder that will copy attributes into the given target attribute.
+
+
AttributeConstantVisitor - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor lets a given ConstantVisitor visit all constants of the constant value + attributes it visits.
+
+
AttributeConstantVisitor(ConstantVisitor) - Constructor for class proguard.classfile.attribute.visitor.AttributeConstantVisitor
+
+
Creates a new InstructionConstantVisitor.
+
+
AttributeCounter - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor counts the number of attributes that have been visited.
+
+
AttributeCounter() - Constructor for class proguard.classfile.attribute.visitor.AttributeCounter
+
 
+
AttributeNameFilter - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor delegates its visits another AttributeVisitor, but only + when the visited attribute has a name that that matches a given regular expression.
+
+
AttributeNameFilter(String, AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.AttributeNameFilter
+
+
Creates a new AttributeNameFilter.
+
+
AttributeNameFilter(List, AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.AttributeNameFilter
+
+
Creates a new AttributeNameFilter.
+
+
AttributeNameFilter(StringMatcher, AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.AttributeNameFilter
+
+
Creates a new AttributeNameFilter.
+
+
AttributeProcessingFlagFilter - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor delegates its visits to another given AttributeVisitor, but + only when the visited attribute has the proper processing flags.
+
+
AttributeProcessingFlagFilter(int, int, AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.AttributeProcessingFlagFilter
+
+
Creates a new AttributeProcessingFlagFilter.
+
+
attributes - Variable in class proguard.classfile.attribute.CodeAttribute
+
 
+
attributes - Variable in class proguard.classfile.attribute.RecordComponentInfo
+
 
+
attributes - Variable in class proguard.classfile.ProgramClass
+
 
+
attributes - Variable in class proguard.classfile.ProgramMember
+
 
+
attributesAccept(AttributeVisitor) - Method in interface proguard.classfile.Clazz
+
+
Lets the given attribute info visitor visit all attributes of this class.
+
+
attributesAccept(AttributeVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
attributesAccept(AttributeVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
attributesAccept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.RecordComponentInfo
+
+
Applies the given attribute visitor to all attributes.
+
+
attributesAccept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.CodeAttribute
+
+
Applies the given attribute visitor to all attributes.
+
+
attributesAccept(ProgramClass, AttributeVisitor) - Method in class proguard.classfile.ProgramField
+
 
+
attributesAccept(ProgramClass, AttributeVisitor) - Method in class proguard.classfile.ProgramMember
+
+
Lets the given attribute info visitor visit all the attributes of this member info.
+
+
attributesAccept(ProgramClass, AttributeVisitor) - Method in class proguard.classfile.ProgramMethod
+
 
+
AttributesEditor - Class in proguard.classfile.editor
+
+
This class can add and delete attributes to and from classes, fields, methods, and code + attributes.
+
+
AttributesEditor(ProgramClass, boolean) - Constructor for class proguard.classfile.editor.AttributesEditor
+
+
Creates a new AttributeAdder that will edit attributes in the given target class.
+
+
AttributesEditor(ProgramClass, ProgramMember, boolean) - Constructor for class proguard.classfile.editor.AttributesEditor
+
+
Creates a new AttributeAdder that will edit attributes in the given target class member.
+
+
AttributesEditor(ProgramClass, ProgramMember, CodeAttribute, boolean) - Constructor for class proguard.classfile.editor.AttributesEditor
+
+
Creates a new AttributeAdder that will edit attributes in the given target code attribute.
+
+
AttributeSorter - Class in proguard.classfile.editor
+
+
This ClassVisitor sorts the attributes of the classes that it visits.
+
+
AttributeSorter() - Constructor for class proguard.classfile.editor.AttributeSorter
+
 
+
AttributeToClassVisitor - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor delegates to a given ClassVisitor.
+
+
AttributeToClassVisitor(ClassVisitor) - Constructor for class proguard.classfile.attribute.visitor.AttributeToClassVisitor
+
+
Creates a new AttributeToClassVisitor.
+
+
AttributeVisitor - Interface in proguard.classfile.attribute.visitor
+
+
This interface specifies the methods for a visitor of Attribute instances.
+
+
aValues - Variable in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
+ + + +

B

+
+
b - Variable in class proguard.dexfile.reader.node.insn.FieldStmtNode
+
 
+
b - Variable in class proguard.dexfile.reader.node.insn.JumpStmtNode
+
 
+
b - Variable in class proguard.dexfile.reader.node.insn.Stmt2RNode
+
 
+
b - Variable in class proguard.dexfile.reader.node.insn.Stmt3RNode
+
 
+
b - Variable in class proguard.dexfile.reader.node.insn.TypeStmtNode
+
 
+
B - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
B - Static variable in class proguard.classfile.util.DynamicClassReferenceInitializer
+
 
+
B - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
backingFieldSignature - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
BAD_OP - proguard.dexfile.reader.Op
+
 
+
baload() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
baload() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
BamCache<SignatureT extends Signature> - Interface in proguard.analysis.cpa.bam
+
+
Generic interface for the BAM cache, where the blocks represent a function identified with a + SignatureT.
+
+
BamCacheImpl<SignatureT extends Signature> - Class in proguard.analysis.cpa.bam
+
+
A simple implementation of BamCache where the cache is implemented as a HashMap.
+
+
BamCacheImpl() - Constructor for class proguard.analysis.cpa.bam.BamCacheImpl
+
 
+
BamCpa<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> - Class in proguard.analysis.cpa.bam
+
+
A ConfigurableProgramAnalysis for inter-procedural analysis using block abstraction + memoization as described in {@see https://dl.acm.org/doi/pdf/10.1145/3368089.3409718}, which is + defined by a domain-dependent CpaWithBamOperators that adds three operators: reduce, + expand, and rebuild.
+
+
BamCpa(BamTransferRelation<CfaNodeT, CfaEdgeT, SignatureT>) - Constructor for class proguard.analysis.cpa.bam.BamCpa
+
+
Create a BamCpa with a specific transfer relation.
+
+
BamCpa(CpaWithBamOperators<CfaNodeT, CfaEdgeT, SignatureT>, Cfa<CfaNodeT, CfaEdgeT, SignatureT>, SignatureT, BamCache<SignatureT>) - Constructor for class proguard.analysis.cpa.bam.BamCpa
+
+
Create a BamCpa with default transfer relation.
+
+
BamCpa(CpaWithBamOperators<CfaNodeT, CfaEdgeT, SignatureT>, Cfa<CfaNodeT, CfaEdgeT, SignatureT>, SignatureT, BamCache<SignatureT>, int, AbortOperator) - Constructor for class proguard.analysis.cpa.bam.BamCpa
+
+
Create a BamCpa with default transfer relation with a limited call depth.
+
+
BamCpaRun<CpaT extends ConfigurableProgramAnalysis,​AbstractStateT extends AbstractState,​CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> - Class in proguard.analysis.cpa.defaults
+
+
This abstract wrapper class constructs a CpaWithBamOperators based on the intraprocedural + ConfigurableProgramAnalysis, runs it, and returns the ReachedSet.
+
+
BamCpaRun(AbortOperator, int) - Constructor for class proguard.analysis.cpa.defaults.BamCpaRun
+
+
Create a BAM CPA run.
+
+
BamCpaRun(AbortOperator, int, boolean) - Constructor for class proguard.analysis.cpa.defaults.BamCpaRun
+
+
Create a BAM CPA run.
+
+
BamCpaRun.Builder - Class in proguard.analysis.cpa.defaults
+
+
A builder for BamCpaRun.
+
+
BamLocationDependent<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​AbstractStateT extends AbstractState & ProgramLocationDependent<CfaNodeT,​CfaEdgeT,​SignatureT>,​SignatureT extends Signature> - Interface in proguard.analysis.cpa.bam
+
+
If the usage of an AbstractState depends on the specific BAM cache entry it belongs to, + it should implement BamLocationDependent to link it to its source reached set.
+
+
BamLocationDependentJvmMemoryLocation<AbstractStateT extends AbstractState & ProgramLocationDependent<JvmCfaNode,​JvmCfaEdge,​MethodSignature>> - Class in proguard.analysis.cpa.jvm.domain.memory
+
+
This class wraps a JvmMemoryLocation adding information on its program location and + source reached set.
+
+
BamLocationDependentJvmMemoryLocation(JvmMemoryLocation) - Constructor for class proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation
+
 
+
BamLocationDependentJvmMemoryLocation(JvmMemoryLocation, JvmCfaNode, ProgramLocationDependentReachedSet<JvmCfaNode, JvmCfaEdge, AbstractStateT, MethodSignature>) - Constructor for class proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation
+
 
+
BamTransferRelation<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> - Class in proguard.analysis.cpa.bam
+
+
This TransferRelation extends an analysis inter-procedurally.
+
+
BamTransferRelation(CpaWithBamOperators<CfaNodeT, CfaEdgeT, SignatureT>, Cfa<CfaNodeT, CfaEdgeT, SignatureT>, SignatureT, BamCache<SignatureT>) - Constructor for class proguard.analysis.cpa.bam.BamTransferRelation
+
+
Create a BAM transfer relation with an unlimited call stack.
+
+
BamTransferRelation(CpaWithBamOperators<CfaNodeT, CfaEdgeT, SignatureT>, Cfa<CfaNodeT, CfaEdgeT, SignatureT>, SignatureT, BamCache<SignatureT>, int, AbortOperator) - Constructor for class proguard.analysis.cpa.bam.BamTransferRelation
+
+
Create a BAM transfer relation with a specified maximum call stack depth.
+
+
BASE_ANDROID_MANIFEST_XML_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
BASE_RESOURCES_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
Base64Util - Class in proguard.util
+
+
Utility class for Base64 encoding.
+
+
Base64Util() - Constructor for class proguard.util.Base64Util
+
 
+
BaseAnalyze<T extends AnalyzeValue> - Class in proguard.dexfile.ir.ts.an
+
 
+
BaseAnalyze(IrMethod) - Constructor for class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
BaseAnalyze(IrMethod, boolean) - Constructor for class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
BaseDexFileReader - Interface in proguard.dexfile.reader
+
 
+
BaseSwitchStmt - Class in proguard.dexfile.ir.stmt
+
+
Parent class of LookupSwitchStmt and TableSwitchStmt
+
+
BaseSwitchStmt(Stmt.ST, Value) - Constructor for class proguard.dexfile.ir.stmt.BaseSwitchStmt
+
 
+
BaseSwitchStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
BaseSwitchStmtNode(Op, int, DexLabel[]) - Constructor for class proguard.dexfile.reader.node.insn.BaseSwitchStmtNode
+
 
+
baseType - Variable in class proguard.dexfile.ir.expr.NewMutiArrayExpr
+
+
the basic type, ZBSCIFDJL, no [
+
+
BasicBranchUnit - Class in proguard.evaluation
+
+
This BranchUnit remembers the branch unit commands that are invoked on it.
+
+
BasicBranchUnit() - Constructor for class proguard.evaluation.BasicBranchUnit
+
 
+
BasicHierarchyProvider - Class in proguard.util
+
+
Basic implementation of HierarchyProvider, walking the class pools every time the + sub-classes of a class are needed.
+
+
BasicHierarchyProvider(ClassPool, ClassPool) - Constructor for class proguard.util.BasicHierarchyProvider
+
 
+
BasicInvocationUnit - Class in proguard.evaluation
+
+
This InvocationUnit sets up the variables for entering a method, and it updates the stack + for the invocation of a class member, using simple values.
+
+
BasicInvocationUnit(ValueFactory) - Constructor for class proguard.evaluation.BasicInvocationUnit
+
+
Creates a new BasicInvocationUnit with the given value factory.
+
+
BasicMethodInfo - Class in proguard.classfile
+
+
A minimal implementation of MethodInfo.
+
+
BasicMethodInfo(String, MethodDescriptor) - Constructor for class proguard.classfile.BasicMethodInfo
+
+
Creates a BasicMethodInfo given a method name and descriptor.
+
+
BasicMethodInfo(MethodInfo) - Constructor for class proguard.classfile.BasicMethodInfo
+
+
Creates a BasicMethodInfo given a MethodInfo.
+
+
BasicRangeValueFactory - Class in proguard.evaluation.value
+
+
This ValueFactory provides methods to create and reuse IntegerValue instances that have known + ranges.
+
+
BasicRangeValueFactory() - Constructor for class proguard.evaluation.value.BasicRangeValueFactory
+
+
Creates a new BasicRangeValueFactory.
+
+
BasicRangeValueFactory(ValueFactory, ValueFactory) - Constructor for class proguard.evaluation.value.BasicRangeValueFactory
+
+
Creates a new BasicRangeValueFactory that delegates to the given value factories for creating + reference values.
+
+
BasicValueFactory - Class in proguard.evaluation.value
+
+
This class provides methods to create and reuse Value instances.
+
+
BasicValueFactory() - Constructor for class proguard.evaluation.value.BasicValueFactory
+
 
+
bastore() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
bastore() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
beginCodeFragment(int) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Starts a new code fragment.
+
+
beginCodeFragment(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Starts a new code fragment.
+
+
binaryOperation(DexStmtNode, V, V) - Method in class proguard.dexfile.reader.node.analysis.DvmInterpreter
+
+
AGET* IPUT*
+
+
BinopExpr - Class in proguard.dexfile.ir.expr
+
+
Represent a Binop expression, value = op1 vt op2
+
+
BinopExpr(Value.VT, Value, Value, String) - Constructor for class proguard.dexfile.ir.expr.BinopExpr
+
 
+
bipush(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
bipush(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
BlockAbstraction - Class in proguard.analysis.cpa.bam
+
+
A block abstraction is a summary of the analysis of a procedure call, represented by the set of + reached abstract states and a waitlist of states that still need to be analyzed.
+
+
BlockAbstraction(ReachedSet, Waitlist) - Constructor for class proguard.analysis.cpa.bam.BlockAbstraction
+
+
Create a new block abstraction.
+
+
BOOLEAN - proguard.dexfile.ir.TypeClass
+
 
+
BOOLEAN - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
BOOLEAN - Static variable in class proguard.classfile.TypeConstants
+
 
+
BOOLEAN_A_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
BOOLEAN_B_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
BooleanValue(boolean) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.BooleanValue
+
 
+
BOOTSTRAP_METHODS - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
bootstrapMethodEntriesAccept(Clazz, BootstrapMethodInfoVisitor) - Method in class proguard.classfile.attribute.BootstrapMethodsAttribute
+
+
Applies the given visitor to all bootstrap method info entries.
+
+
bootstrapMethodEntryAccept(Clazz, int, BootstrapMethodInfoVisitor) - Method in class proguard.classfile.attribute.BootstrapMethodsAttribute
+
+
Applies the given visitor to the specified bootstrap method info entry.
+
+
bootstrapMethodHandleAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.DynamicConstant
+
+
Lets the bootstrap method handle constant accept the given visitor.
+
+
bootstrapMethodHandleAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.InvokeDynamicConstant
+
+
Lets the bootstrap method handle constant accept the given visitor.
+
+
BootstrapMethodHandleTraveler - Class in proguard.classfile.constant.visitor
+
+
This ConstantVisitor and BootstrapMethodInfoVisitor travels from any invoke + dynamic constants or bootstrap method info entries that it visits to their bootstrap method + handle constants, and applies a given constant visitor.
+
+
BootstrapMethodHandleTraveler(ConstantVisitor) - Constructor for class proguard.classfile.constant.visitor.BootstrapMethodHandleTraveler
+
+
Creates a new BootstrapMethodHandleVisitor that will delegate to the given constant visitor.
+
+
bootstrapMethodIndex - Variable in class proguard.backport.LambdaExpression
+
 
+
bootstrapMethodInfo - Variable in class proguard.backport.LambdaExpression
+
 
+
BootstrapMethodInfo - Class in proguard.classfile.attribute
+
+
Representation of a bootstrap method.
+
+
BootstrapMethodInfo() - Constructor for class proguard.classfile.attribute.BootstrapMethodInfo
+
+
Creates an uninitialized BootstrapMethodInfo.
+
+
BootstrapMethodInfo(int, int, int[]) - Constructor for class proguard.classfile.attribute.BootstrapMethodInfo
+
+
Creates an initialized BootstrapMethodInfo.
+
+
BootstrapMethodInfoAdder - Class in proguard.classfile.editor
+
+
This BootstrapMethodInfoVisitor adds all bootstrap methods that it visits to the given + target bootstrap methods attribute.
+
+
BootstrapMethodInfoAdder(ProgramClass, BootstrapMethodsAttribute) - Constructor for class proguard.classfile.editor.BootstrapMethodInfoAdder
+
+
Creates a new BootstrapMethodInfoAdder that will copy bootstrap methods into the given + bootstrap methods attribute.
+
+
BootstrapMethodInfoVisitor - Interface in proguard.classfile.attribute.visitor
+
+
This interface specifies the methods for a visitor of BootstrapMethodInfo instances.
+
+
BootstrapMethodRemapper - Class in proguard.classfile.editor
+
+
This ConstantVisitor remaps all possible indices of bootstrap methods of the constants + that it visits, based on a given index map.
+
+
BootstrapMethodRemapper() - Constructor for class proguard.classfile.editor.BootstrapMethodRemapper
+
 
+
BootstrapMethodRemapper(boolean) - Constructor for class proguard.classfile.editor.BootstrapMethodRemapper
+
 
+
bootstrapMethods - Variable in class proguard.classfile.attribute.BootstrapMethodsAttribute
+
 
+
BootstrapMethodsAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a bootstrap methods attribute.
+
+
BootstrapMethodsAttribute() - Constructor for class proguard.classfile.attribute.BootstrapMethodsAttribute
+
+
Creates an uninitialized BootstrapMethodsAttribute.
+
+
BootstrapMethodsAttribute(int, int, BootstrapMethodInfo[]) - Constructor for class proguard.classfile.attribute.BootstrapMethodsAttribute
+
+
Creates an initialized BootstrapMethodsAttribute.
+
+
BootstrapMethodsAttributeAdder - Class in proguard.classfile.editor
+
+
This BootstrapMethodInfoVisitor adds all bootstrap methods that it visits to the given + target class, creating a bootstrap methods attribute if necessary.
+
+
BootstrapMethodsAttributeAdder(ProgramClass) - Constructor for class proguard.classfile.editor.BootstrapMethodsAttributeAdder
+
+
Creates a new BootstrapMethodsAttributeAdder that will copy bootstrap methods into the given + target class/
+
+
BootstrapMethodsAttributeEditor - Class in proguard.classfile.editor
+
+
This class can add/remove bootstrap methods to/from a given bootstrap methods attribute.
+
+
BootstrapMethodsAttributeEditor(BootstrapMethodsAttribute) - Constructor for class proguard.classfile.editor.BootstrapMethodsAttributeEditor
+
+
Creates a new BootstrapMethodsAttributeEditor that will edit bootstrap methods in the given + bootstrap methods attribute.
+
+
BootstrapMethodsAttributeShrinker - Class in proguard.classfile.editor
+
+
This ClassVisitor removes all unused entries from the bootstrap method attribute.
+
+
BootstrapMethodsAttributeShrinker() - Constructor for class proguard.classfile.editor.BootstrapMethodsAttributeShrinker
+
 
+
bottom - Static variable in class proguard.analysis.cpa.defaults.SetAbstractState
+
 
+
BottomClassFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to one of two other given ClassVisitor + instances, depending on whether they have any subclasses or not.
+
+
BottomClassFilter(ClassVisitor) - Constructor for class proguard.classfile.visitor.BottomClassFilter
+
+
Creates a new BottomClassFilter.
+
+
BottomClassFilter(ClassVisitor, ClassVisitor) - Constructor for class proguard.classfile.visitor.BottomClassFilter
+
+
Creates a new BottomClassFilter.
+
+
boxPrimitiveType(char) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Box the primitive value present on the stack.
+
+
boxPrimitiveType(char) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Box the primitive value present on the stack.
+
+
branch(Clazz, CodeAttribute, int, int) - Method in class proguard.evaluation.BasicBranchUnit
+
 
+
branch(Clazz, CodeAttribute, int, int) - Method in interface proguard.evaluation.BranchUnit
+
+
Sets the new instruction offset.
+
+
branchConditionally(Clazz, CodeAttribute, int, int, int) - Method in class proguard.evaluation.BasicBranchUnit
+
 
+
branchConditionally(Clazz, CodeAttribute, int, int, int) - Method in interface proguard.evaluation.BranchUnit
+
+
Sets the new instruction offset, depending on the certainty of the conditional branch.
+
+
BranchInstruction - Class in proguard.classfile.instruction
+
+
This interface describes an instruction that branches to a given offset in the code.
+
+
BranchInstruction() - Constructor for class proguard.classfile.instruction.BranchInstruction
+
+
Creates an uninitialized BranchInstruction.
+
+
BranchInstruction(byte, int) - Constructor for class proguard.classfile.instruction.BranchInstruction
+
+
Creates a BranchInstruction with the given branch offset.
+
+
branchOffset - Variable in class proguard.classfile.instruction.BranchInstruction
+
 
+
branchOrigins(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns the instruction offsets that branch to the given instruction offset.
+
+
BranchTargetFinder - Class in proguard.classfile.util
+
+
This AttributeVisitor finds all instruction offsets, branch targets, and exception + targets in the CodeAttribute instances that it visits.
+
+
BranchTargetFinder() - Constructor for class proguard.classfile.util.BranchTargetFinder
+
 
+
branchTargets(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns the instruction offsets to which the given instruction offset branches.
+
+
BranchUnit - Interface in proguard.evaluation
+
+
This interface defines methods to handle branches and returns from methods.
+
+
BreadthFirstWaitlist - Class in proguard.analysis.cpa.defaults
+
+
This Waitlist pops the first element, i.e., performs a breadth first traversal over the + Cfa.
+
+
BreadthFirstWaitlist() - Constructor for class proguard.analysis.cpa.defaults.BreadthFirstWaitlist
+
 
+
BRIDGE - Static variable in class proguard.classfile.AccessConstants
+
 
+
BRIDGE - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
bridgeMethodDescriptors - Variable in class proguard.backport.LambdaExpression
+
 
+
BridgeMethodFixer - Class in proguard.classfile.editor
+
+
This MemberVisitor fixes all inappropriate bridge access flags of the program methods + that it visits, checking whether the methods to which they bridge have the same name.
+
+
BridgeMethodFixer() - Constructor for class proguard.classfile.editor.BridgeMethodFixer
+
 
+
bsm - Variable in class proguard.dexfile.reader.node.insn.MethodCustomStmtNode
+
 
+
bsmArgs - Variable in class proguard.dexfile.ir.expr.InvokeCustomExpr
+
 
+
bsmArgs - Variable in class proguard.dexfile.reader.node.insn.MethodCustomStmtNode
+
 
+
build() - Method in class proguard.analysis.CallResolver.Builder
+
 
+
build() - Method in class proguard.analysis.cpa.defaults.BamCpaRun.Builder
+
+
Returns the BamCpaRun for given parameters.
+
+
build() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
+ +
+
build() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
+
Returns the JvmTaintBamCpaRun for given parameters.
+
+
build() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Returns the JvmTaintMemoryLocationBamCpaRun for given parameters.
+
+
build() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun.Builder
+
 
+
build() - Method in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun.Builder
+
+
Returns the JvmBamCpaRun for given parameters.
+
+
build() - Method in interface proguard.evaluation.executor.Executor.Builder
+
+
Build an executor.
+
+
build() - Method in class proguard.evaluation.executor.JavaReflectionApiExecutor.Builder
+
 
+
build() - Method in class proguard.evaluation.executor.ReflectiveModelExecutor.Builder
+
 
+
build() - Method in class proguard.evaluation.executor.StringReflectionExecutor.Builder
+
 
+
build() - Method in class proguard.evaluation.MethodResult.Builder
+
+
Builds a MethodResult given the set parameters.
+
+
build() - Method in class proguard.evaluation.PartialEvaluator.Builder
+
 
+
build() - Method in class proguard.exception.ProguardCoreException.Builder
+
 
+
build(InstructionSequenceBuilder) - Method in interface proguard.classfile.editor.InitializerEditor.CodeBuilder
+
 
+
build(ValueFactory, ClassPool) - Method in class proguard.evaluation.ExecutingInvocationUnit.Builder
+
+
Build the ExecutingInvocationUnit defined by this builder instance.
+
+
BUILD - proguard.dexfile.reader.Visibility
+
 
+
Builder() - Constructor for class proguard.analysis.cpa.defaults.BamCpaRun.Builder
+
 
+
Builder() - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
Builder() - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
 
+
Builder() - Constructor for class proguard.analysis.cpa.jvm.util.JvmBamCpaRun.Builder
+
 
+
Builder() - Constructor for class proguard.evaluation.ExecutingInvocationUnit.Builder
+
 
+
Builder() - Constructor for class proguard.evaluation.MethodResult.Builder
+
 
+
Builder(ClassPool, ClassPool) - Constructor for class proguard.evaluation.executor.JavaReflectionApiExecutor.Builder
+
 
+
Builder(String, int) - Constructor for class proguard.exception.ProguardCoreException.Builder
+
 
+
Builder(JvmCfa, MethodSignature, ClassPool) - Constructor for class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun.Builder
+
 
+
Builder(ClassPool) - Constructor for class proguard.evaluation.executor.StringReflectionExecutor.Builder
+
 
+
Builder(ClassPool, ClassPool, CallGraph, CallHandler...) - Constructor for class proguard.analysis.CallResolver.Builder
+
 
+
Builder(Signature) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
+
Create a new builder for JvmInvokeTaintSink.
+
+
Builder(HierarchyProvider) - Constructor for class proguard.evaluation.executor.ReflectiveModelExecutor.Builder
+
+
Construct the builder.
+
+
buildWithoutDefaults(ValueFactory) - Method in class proguard.evaluation.ExecutingInvocationUnit.Builder
+
+
Build the ExecutingInvocationUnit defined by this builder instance, do not add the + default executor even if otherwise specified.
+
+
BUNDLE_CONFIG_PB - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
BUNDLE_METADATA_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
bv - proguard.classfile.util.kotlin.KotlinMetadataType
+
+
Deprecated.
+
+
BYTE - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
BYTE - Static variable in class proguard.classfile.TypeConstants
+
 
+
ByteValue(byte) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.ByteValue
+
 
+
+ + + +

C

+
+
c - Variable in class proguard.dexfile.reader.node.insn.Stmt3RNode
+
 
+
C - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
C - Static variable in class proguard.classfile.util.DynamicClassReferenceInitializer
+
 
+
C - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
calculateArithmeticInstruction(Instruction, List<SetAbstractState<Reference>>) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceTransferRelation
+
 
+
calculateArithmeticInstruction(Instruction, List<StateT>) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Calculates the result of the instruction application.
+
+
calculateFqn() - Method in class proguard.classfile.ClassSignature
+
 
+
calculateFqn() - Method in class proguard.classfile.FieldSignature
+
 
+
calculateFqn() - Method in class proguard.classfile.MethodSignature
+
 
+
calculateFqn() - Method in class proguard.classfile.Signature
+
 
+
calculatePrettyFqn() - Method in class proguard.classfile.ClassSignature
+
 
+
calculatePrettyFqn() - Method in class proguard.classfile.FieldSignature
+
 
+
calculatePrettyFqn() - Method in class proguard.classfile.MethodSignature
+
 
+
calculatePrettyFqn() - Method in class proguard.classfile.Signature
+
 
+
calculateReturnValues(AbstractState, Instruction, Call) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintExpandOperator
+
+
The calculation of return values supports tainting it in case the analyzed method is a taint + source.
+
+
calculateReturnValues(AbstractState, Instruction, Call) - Method in class proguard.analysis.cpa.jvm.operators.JvmDefaultExpandOperator
+
+
Calculates the returned state.
+
+
Call - Class in proguard.analysis.datastructure.callgraph
+
+
Represents a method call.
+
+
Call(CodeLocation, Value, List<Value>, Value, int, Instruction, boolean, boolean) - Constructor for class proguard.analysis.datastructure.callgraph.Call
+
 
+
CALL_GRAPH_RECONSTRUCTION_MAX_DEPTH_REACHED - proguard.analysis.Metrics.MetricType
+
 
+
CALL_GRAPH_RECONSTRUCTION_MAX_WIDTH_REACHED - proguard.analysis.Metrics.MetricType
+
 
+
CALL_TO_ABSTRACT_METHOD - proguard.analysis.Metrics.MetricType
+
 
+
CALLABLE_REFERENCE_CLASS_NAME - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
callableReferenceInfo - Variable in class proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata
+
 
+
CallableReferenceInfo - Interface in proguard.classfile.kotlin.reflect
+
+
Information about callable references.
+
+
callableReferenceInfoAccept(CallableReferenceInfoVisitor) - Method in class proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata
+
 
+
CallableReferenceInfoToOwnerVisitor - Class in proguard.classfile.kotlin.reflect.visitor
+
 
+
CallableReferenceInfoToOwnerVisitor(KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoToOwnerVisitor
+
 
+
CallableReferenceInfoVisitor - Interface in proguard.classfile.kotlin.reflect.visitor
+
 
+
callConstructor(String, Class<?>[], Object[]) - Static method in class proguard.evaluation.value.ReflectiveMethodCallUtil
+
+
Deprecated.
+
Reflectively call the constructor of className with the given parameters.
+
+
CallEdge - Interface in proguard.analysis.cpa.interfaces
+
+
This interface must be implemented by edges representing a procedure call.
+
+
caller - Variable in class proguard.analysis.datastructure.callgraph.Call
+
+
The location where the call was invoked.
+
+
callerState - Variable in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState.StackEntry
+
 
+
CallGraph - Class in proguard.analysis.datastructure.callgraph
+
+
Collection of all Calls in a program, optimized for retrieval of incoming and outgoing + edges for any method in constant time.
+
+
CallGraph() - Constructor for class proguard.analysis.datastructure.callgraph.CallGraph
+
+
Create an empty call graph.
+
+
CallGraph(Map<MethodSignature, Set<Call>>, Map<MethodSignature, Set<Call>>, boolean) - Constructor for class proguard.analysis.datastructure.callgraph.CallGraph
+
 
+
CallGraphWalker - Class in proguard.util
+
+
Generic utilities to traverse the call graph.
+
+
CallGraphWalker() - Constructor for class proguard.util.CallGraphWalker
+
 
+
CallHandler - Interface in proguard.analysis
+
+
This handler is invoked by the CallResolver whenever new method calls have been resolved + in the code.
+
+
callMatcher - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
 
+
callMatcher - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink
+
 
+
callMatcher - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSource
+
 
+
callMethod(String, String, Object, Class<?>[], Object[]) - Static method in class proguard.evaluation.value.ReflectiveMethodCallUtil
+
+
Deprecated.
+
Reflectively call the method on the given instance.
+
+
CallResolver - Class in proguard.analysis
+
+
Collects all method invocations inside the analyzed methods.
+
+
CallResolver(ClassPool, ClassPool, CallGraph, boolean, boolean, boolean, boolean, int, Supplier<Boolean>, boolean, ValueFactory, boolean, ExecutingInvocationUnit.Builder, boolean, Set<MethodSignature>, Set<Predicate<Call>>, CallHandler...) - Constructor for class proguard.analysis.CallResolver
+
+
Create a new call resolver.
+
+
CallResolver.Builder - Class in proguard.analysis
+
 
+
callStackContains(MethodSignature) - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
+
Returns true if a method is present in the call stack.
+
+
CallUtil - Class in proguard.analysis
+
+
Utility methods for call resolution.
+
+
caload() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
caload() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
CAN_BRNANCH - Static variable in class proguard.dexfile.ir.stmt.Stmt
+
 
+
CAN_CONTINUE - Static variable in class proguard.dexfile.ir.stmt.Stmt
+
 
+
CAN_SWITCH - Static variable in class proguard.dexfile.ir.stmt.Stmt
+
 
+
CAN_THROW - Static variable in class proguard.dexfile.ir.expr.Value
+
 
+
CAN_THROW - Static variable in class proguard.dexfile.ir.stmt.Stmt
+
 
+
canBeWritten() - Method in class proguard.classfile.kotlin.KotlinMetadataVersion
+
 
+
canBranch() - Method in enum proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
canBranch() - Method in enum proguard.dexfile.reader.Op
+
 
+
canContinue() - Method in enum proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
canContinue() - Method in enum proguard.dexfile.reader.Op
+
 
+
canExecute(MethodSignature) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
+
Returns whether the invocation unit is able to handle the given method.
+
+
canonicalClassName(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts an external class name into a canonical class name.
+
+
canonicalOpcode() - Method in class proguard.classfile.instruction.BranchInstruction
+
 
+
canonicalOpcode() - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
canonicalOpcode() - Method in class proguard.classfile.instruction.Instruction
+
+
Returns the canonical opcode of this instruction, i.e.
+
+
canonicalOpcode() - Method in class proguard.classfile.instruction.SimpleInstruction
+
 
+
canonicalOpcode() - Method in class proguard.classfile.instruction.VariableInstruction
+
 
+
canReturn() - Method in enum proguard.dexfile.reader.Op
+
 
+
canSwitch() - Method in enum proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
canSwitch() - Method in enum proguard.dexfile.reader.Op
+
 
+
canThrow() - Method in enum proguard.dexfile.ir.expr.Value.VT
+
 
+
canThrow() - Method in enum proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
canThrow() - Method in enum proguard.dexfile.reader.Op
+
 
+
capitializeFirstCharacterAsciiOnly(String) - Static method in class proguard.classfile.util.kotlin.KotlinStringUtil
+
 
+
CascadingDataEntryWriter - Class in proguard.io
+
+
This DataEntryWriter delegates to a given DataEntryWriter, or failing that, to + another given DataEntryWriter.
+
+
CascadingDataEntryWriter(DataEntryWriter, DataEntryWriter) - Constructor for class proguard.io.CascadingDataEntryWriter
+
+
Creates a new CascadingDataEntryWriter.
+
+
cases - Variable in class proguard.classfile.instruction.LookUpSwitchInstruction
+
 
+
cases - Variable in class proguard.dexfile.reader.node.insn.SparseSwitchStmtNode
+
 
+
cast(String, Clazz, ValueFactory, boolean) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
cast(String, Clazz, ValueFactory, boolean) - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
cast(String, Clazz, ValueFactory, boolean) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns this ReferenceValue, cast to the given type.
+
+
cast(String, Clazz, ValueFactory, boolean) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
cast(String, Clazz, ValueFactory, boolean) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
cast(String, Clazz, ValueFactory, boolean) - Method in class proguard.evaluation.value.UnknownReferenceValue
+
 
+
cast(TracedReferenceValue, String, Clazz, boolean) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
+
Casts a given traced reference value to the given type, either keeping its trace value or + setting a new one.
+
+
CAST - proguard.dexfile.ir.expr.Value.VT
+
 
+
CAST - Static variable in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
CastExpr - Class in proguard.dexfile.ir.expr
+
+
* @see VT#CAST
+
+
CastExpr(Value, String, String) - Constructor for class proguard.dexfile.ir.expr.CastExpr
+
 
+
castore() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
castore() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
catch_(int, int, int) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Creates a new catch instance that can be used as a pseudo-instruction to mark the start of an + exception handler.
+
+
catch_(int, int, int) - Static method in class proguard.classfile.editor.InstructionSequenceReplacer
+
+
Creates a new catch instance that can be used as a pseudo-instruction to mark the start of an + exception handler.
+
+
catch_(int, int, int, int) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Creates a new catch instance that can be used as a pseudo-instruction to mark the start of an + exception handler.
+
+
catch_(CompactCodeAttributeComposer.Label, CompactCodeAttributeComposer.Label, String, Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Starts a catch handler at the current offset.
+
+
catch_(CompactCodeAttributeComposer.Label, CompactCodeAttributeComposer.Label, CompactCodeAttributeComposer.Label, String, Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Adds a catch handler.
+
+
catch_(Instruction) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+ +
+
catchAll(CompactCodeAttributeComposer.Label, CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Starts a catch-all handler at the current offset.
+
+
catchAll(CompactCodeAttributeComposer.Label, CompactCodeAttributeComposer.Label, CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Adds a catch-all handler.
+
+
CatchTargetInfo - Class in proguard.classfile.attribute.annotation.target
+
+
Representation of a 'catch' annotation target.
+
+
CatchTargetInfo() - Constructor for class proguard.classfile.attribute.annotation.target.CatchTargetInfo
+
+
Creates an uninitialized CatchTargetInfo.
+
+
CatchTargetInfo(byte) - Constructor for class proguard.classfile.attribute.annotation.target.CatchTargetInfo
+
+
Creates a partially initialized CatchTargetInfo.
+
+
CatchTargetInfo(byte, int) - Constructor for class proguard.classfile.attribute.annotation.target.CatchTargetInfo
+
+
Creates an initialized CatchTargetInfo.
+
+
category1Value() - Method in class proguard.evaluation.value.Category1Value
+
 
+
category1Value() - Method in class proguard.evaluation.value.TracingValue
+
 
+
category1Value() - Method in class proguard.evaluation.value.Value
+
+
Returns this Value as a Category1Value.
+
+
Category1Value - Class in proguard.evaluation.value
+
+
This abstract class represents a partially evaluated Category 1 value.
+
+
Category1Value() - Constructor for class proguard.evaluation.value.Category1Value
+
 
+
category2Value() - Method in class proguard.evaluation.value.Category2Value
+
 
+
category2Value() - Method in class proguard.evaluation.value.TracingValue
+
 
+
category2Value() - Method in class proguard.evaluation.value.Value
+
+
Returns this Value as a Category2Value.
+
+
Category2Value - Class in proguard.evaluation.value
+
+
This abstract class represents a partially evaluated Category 2 value.
+
+
Category2Value() - Constructor for class proguard.evaluation.value.Category2Value
+
 
+
cause(Throwable) - Method in class proguard.exception.ProguardCoreException.Builder
+
 
+
cfa - Variable in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun.Builder
+
 
+
cfa - Variable in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun
+
 
+
Cfa<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> - Class in proguard.analysis.cpa.defaults
+
+
A Cfa is a control flow automaton with nodes <CfaNodeT> and edges + <CfaEdgeT>.
+
+
Cfa() - Constructor for class proguard.analysis.cpa.defaults.Cfa
+
 
+
CfaEdge<CfaNodeT extends CfaNode> - Interface in proguard.analysis.cpa.interfaces
+
+
An edge for Cfa parametrized by its nodes + CfaNodeT.
+
+
CfaNode<CfaEdgeT extends CfaEdge,​SignatureT extends Signature> - Interface in proguard.analysis.cpa.interfaces
+
+
A node for Cfa parametrized by its edges CfaEdgeT.
+
+
CfaUtil - Class in proguard.analysis.cpa.jvm.util
+
+
This is a util class for creating Cfas.
+
+
CfaUtil() - Constructor for class proguard.analysis.cpa.jvm.util.CfaUtil
+
 
+
Cfg - Class in proguard.dexfile.ir.ts
+
+
TODO DOC
+
+
Cfg() - Constructor for class proguard.dexfile.ir.ts.Cfg
+
 
+
CFG - Interface in proguard.dexfile.reader
+
 
+
Cfg.DfsVisitor - Interface in proguard.dexfile.ir.ts
+
 
+
Cfg.FrameVisitor<T> - Interface in proguard.dexfile.ir.ts
+
 
+
Cfg.OnAssignCallBack - Interface in proguard.dexfile.ir.ts
+
 
+
Cfg.OnUseCallBack - Interface in proguard.dexfile.ir.ts
+
 
+
Cfg.TravelCallBack - Interface in proguard.dexfile.ir.ts
+
 
+
changeFrame - Variable in enum proguard.dexfile.reader.Op
+
 
+
CHAR - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
CHAR - Static variable in class proguard.classfile.TypeConstants
+
 
+
CHAR_A_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
CHAR_B_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
CHARACTER_RANGE_TABLE - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
CharValue(char) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.CharValue
+
 
+
check(Reporter, ClassPool, ClassPool, Clazz, KotlinMetadata) - Method in class proguard.util.kotlin.asserter.constraint.AbstractKotlinMetadataConstraint
+
 
+
check(Reporter, ClassPool, ClassPool, Clazz, KotlinMetadata) - Method in interface proguard.util.kotlin.asserter.constraint.KotlinAsserterConstraint
+
 
+
check(Reporter, ClassPool, ClassPool, Clazz, KotlinMetadata) - Method in class proguard.util.kotlin.asserter.constraint.KotlinModuleIntegrity
+
 
+
check(Reporter, KotlinModule) - Method in class proguard.util.kotlin.asserter.constraint.AbstractKotlinMetadataConstraint
+
 
+
check(Reporter, KotlinModule) - Method in interface proguard.util.kotlin.asserter.constraint.KotlinAsserterConstraint
+
 
+
check(Reporter, KotlinModule) - Method in class proguard.util.kotlin.asserter.constraint.KotlinModuleIntegrity
+
 
+
CHECK_CAST - proguard.dexfile.ir.expr.Value.VT
+
 
+
CHECK_CAST - proguard.dexfile.reader.Op
+
 
+
checkcast(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
checkcast(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
checkcast(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
checkcast(String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
checkcast(String, Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
checkcast(String, Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
checkcast(Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
checkCreationLocation(CodeLocation) - Static method in class proguard.evaluation.value.BasicValueFactory
+
 
+
checkMagicNumber(int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Checks whether the given class magic number is correct.
+
+
checkReferenceValue(AnalyzedObject) - Static method in class proguard.evaluation.value.BasicValueFactory
+
 
+
checkVersionNumbers(int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Checks whether the given class version number is supported.
+
+
children - Variable in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
choppedVariablesCount - Variable in class proguard.classfile.attribute.preverification.LessZeroFrame
+
 
+
CircularIntBuffer - Class in proguard.util
+
+
A circular buffer over the primitive integer type.
+
+
CircularIntBuffer(int) - Constructor for class proguard.util.CircularIntBuffer
+
+
Create a new CircularIntBuffer that can grow to a given maxSize.
+
+
CLASS - Static variable in class proguard.classfile.constant.Constant
+
 
+
CLASS_A_NAME - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
CLASS_A_SIMPLE_NAME - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
CLASS_END - Static variable in class proguard.classfile.TypeConstants
+
 
+
CLASS_FILE_EXTENSION - Static variable in class proguard.classfile.ClassConstants
+
 
+
CLASS_FOR_NAME_SIGNATURE - Static variable in class proguard.classfile.ClassConstants
+
 
+
CLASS_FOR_NAME_SIGNATURE2 - Static variable in class proguard.classfile.ClassConstants
+
 
+
CLASS_GET_CANONICAL_NAME_SIGNATURE - Static variable in class proguard.classfile.ClassConstants
+
 
+
CLASS_GET_METHOD_SIGNATURE - Static variable in class proguard.classfile.ClassConstants
+
 
+
CLASS_GET_NAME_SIGNATURE - Static variable in class proguard.classfile.ClassConstants
+
 
+
CLASS_GET_PACKAGE_NAME_SIGNATURE - Static variable in class proguard.classfile.ClassConstants
+
 
+
CLASS_GET_SIMPLE_NAME_SIGNATURE - Static variable in class proguard.classfile.ClassConstants
+
 
+
CLASS_GET_SUPERCLASS_SIGNATURE - Static variable in class proguard.classfile.ClassConstants
+
 
+
CLASS_GET_TYPE_NAME_SIGNATURE - Static variable in class proguard.classfile.ClassConstants
+
 
+
CLASS_NAME - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
CLASS_REFERENCE_FIXER_ERROR - Static variable in class proguard.exception.ErrorId
+
 
+
CLASS_START - Static variable in class proguard.classfile.TypeConstants
+
 
+
CLASS_VERSION_1_0 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_0 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_0_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_0_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_1 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_2 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_2 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_2_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_2_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_3 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_3 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_3_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_3_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_4 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_4 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_4_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_4_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_5 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_5 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_5_ALIAS - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_5_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_5_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_6 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_6 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_6_ALIAS - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_6_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_6_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_7 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_7 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_7_ALIAS - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_7_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_7_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_8 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_8 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_8_ALIAS - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_8_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_8_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_9 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_9 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_9_ALIAS - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_1_9_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_1_9_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_10 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_10 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_10_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_10_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_11 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_11 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_11_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_11_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_12 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_12 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_12_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_12_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_13 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_13 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_13_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_13_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_14 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_14 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_14_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_14_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_15 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_15 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_15_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_15_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_16 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_16 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_16_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_16_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_17 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_17 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_17_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_17_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_18 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_18 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_18_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_18_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_19 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_19 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_19_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_19_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_20 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_20 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_20_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_20_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_21 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_21 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_21_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_21_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_22 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_22 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_22_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_22_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_23 - Static variable in class proguard.classfile.JavaVersionConstants
+
 
+
CLASS_VERSION_23 - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_23_MAJOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
CLASS_VERSION_23_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
classAccept(String, ClassVisitor) - Method in class proguard.classfile.ClassPool
+
+
Applies the given ClassVisitor to the class with the given name, if it is present in the class + pool.
+
+
classAccept(ClassVisitor) - Method in exception proguard.evaluation.exception.PartialEvaluatorException
+
 
+
ClassAccessFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to another given ClassVisitor, but only + when the visited class has the proper access flags.
+
+
ClassAccessFilter(int, int, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassAccessFilter
+
+
Creates a new ClassAccessFilter.
+
+
ClassBuilder - Class in proguard.classfile.editor
+
+
This editor allows to build or extend classes (ProgramClass instances).
+
+
ClassBuilder(int, int, String, String) - Constructor for class proguard.classfile.editor.ClassBuilder
+
+
Creates a new ClassBuilder for the Java class with the given name and super class.
+
+
ClassBuilder(int, int, String, String, String, int, Object) - Constructor for class proguard.classfile.editor.ClassBuilder
+
+
Creates a new ClassBuilder for the Java class with the given name and super class.
+
+
ClassBuilder(ProgramClass) - Constructor for class proguard.classfile.editor.ClassBuilder
+
+
Creates a new ClassBuilder for the given class.
+
+
ClassBuilder(ProgramClass, ClassPool, ClassPool) - Constructor for class proguard.classfile.editor.ClassBuilder
+
+
Creates a new ClassBuilder for the given class, that automatically initializes class references + and class member references in new constants.
+
+
ClassBuilder.CodeBuilder - Interface in proguard.classfile.editor
+
+
This functional interface provides a code attribute composer to its implementation.
+
+
ClassCleaner - Class in proguard.classfile.visitor
+
+
This ClassVisitor removes all processing information of the classes it visits.
+
+
ClassCleaner() - Constructor for class proguard.classfile.visitor.ClassCleaner
+
 
+
ClassCollector - Class in proguard.classfile.visitor
+
+
This ClassVisitor collects the classes that it visits in the given collection.
+
+
ClassCollector(Collection<Clazz>) - Constructor for class proguard.classfile.visitor.ClassCollector
+
+
Creates a new ClassCollector.
+
+
ClassConstant - Class in proguard.classfile.constant
+
+
This Constant represents a class constant in the constant pool.
+
+
ClassConstant() - Constructor for class proguard.classfile.constant.ClassConstant
+
+
Creates an uninitialized ClassConstant.
+
+
ClassConstant(int, Clazz) - Constructor for class proguard.classfile.constant.ClassConstant
+
+
Creates a new ClassConstant with the given name index.
+
+
ClassConstantClassFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates all visits to another given visitor, but only if the visited class + contains the specified class constant.
+
+
ClassConstantClassFilter(String, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassConstantClassFilter
+
+
Creates a new ClassConstantClassFilter.
+
+
ClassConstantClassFilter(StringMatcher, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassConstantClassFilter
+
+
Creates a new ClassConstantClassFilter.
+
+
ClassConstants - Class in proguard.classfile
+
+
Internal names and descriptors of common classes, fields, and methods from the Java runtime.
+
+
ClassConstants() - Constructor for class proguard.classfile.ClassConstants
+
 
+
ClassConstantValueFactory - Class in proguard.evaluation
+
+
This ConstantValueFactory creates java.lang.Class ReferenceValue + instances that correspond to specified constant pool entries.
+
+
ClassConstantValueFactory(ValueFactory) - Constructor for class proguard.evaluation.ClassConstantValueFactory
+
 
+
classCount() - Method in class proguard.classfile.util.DescriptorClassEnumeration
+
+
Returns the number of classes contained in the descriptor.
+
+
ClassCounter - Class in proguard.classfile.visitor
+
+
This ClassVisitor counts the number of classes that has been visited.
+
+
ClassCounter() - Constructor for class proguard.classfile.visitor.ClassCounter
+
 
+
ClassDataEntryWriter - Class in proguard.io
+
+
This DataEntryWriter finds received class entries in the given class pool and writes them + out to the given data entry writer.
+
+
ClassDataEntryWriter(ClassPool, DataEntryWriter) - Constructor for class proguard.io.ClassDataEntryWriter
+
+
Creates a new ClassDataEntryWriter.
+
+
ClassDataEntryWriter(ClassPool, DataEntryWriter, ClassVisitor) - Constructor for class proguard.io.ClassDataEntryWriter
+
+
Creates a new ClassDataEntryWriter.
+
+
ClassEditor - Class in proguard.classfile.editor
+
+
This class can add interfaces and class members to a given class.
+
+
ClassEditor(ProgramClass) - Constructor for class proguard.classfile.editor.ClassEditor
+
+
Creates a new ClassEditor that will edit elements in the given target class.
+
+
ClassElementSorter - Class in proguard.classfile.editor
+
+
This ClassVisitor sorts the various elements of the classes that it visits: interfaces, + constants, fields, methods, and attributes.
+
+
ClassElementSorter() - Constructor for class proguard.classfile.editor.ClassElementSorter
+
+
Creates a default `ClassElementSorter` that sorts interfaces, constants and attributes.
+
+
ClassElementSorter(boolean, boolean, boolean, boolean) - Constructor for class proguard.classfile.editor.ClassElementSorter
+
 
+
ClassElementValue - Class in proguard.classfile.attribute.annotation
+
+
This ElementValue represents a class element value.
+
+
ClassElementValue() - Constructor for class proguard.classfile.attribute.annotation.ClassElementValue
+
+
Creates an uninitialized ClassElementValue.
+
+
ClassElementValue(int, int) - Constructor for class proguard.classfile.attribute.annotation.ClassElementValue
+
+
Creates an initialized ClassElementValue.
+
+
classes - Variable in class proguard.classfile.attribute.InnerClassesAttribute
+
 
+
classes() - Method in class proguard.classfile.ClassPool
+
+
Returns an Iterable of all classes in the class pool.
+
+
CLASSES_DEX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
CLASSES_DEX_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
CLASSES_PREFIX - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
classesAccept(String, ClassVisitor) - Method in class proguard.classfile.ClassPool
+
+
Applies the given ClassVisitor to all matching classes in the class pool.
+
+
classesAccept(List, ClassVisitor) - Method in class proguard.classfile.ClassPool
+
+
Applies the given ClassVisitor to all matching classes in the class pool.
+
+
classesAccept(ClassVisitor) - Method in class proguard.classfile.ClassPool
+
+
Applies the given ClassVisitor to all classes in the class pool, in random order.
+
+
classesAccept(StringMatcher, ClassVisitor) - Method in class proguard.classfile.ClassPool
+
+
Applies the given ClassVisitor to all matching classes in the class pool.
+
+
classesAcceptAlphabetically(ClassVisitor) - Method in class proguard.classfile.ClassPool
+
+
Applies the given ClassVisitor to all classes in the class pool, in sorted order.
+
+
ClassEstimates - Class in proguard.classfile.editor
+
+
Typical sizes, counts, and lengths for elements in class files.
+
+
ClassEstimates() - Constructor for class proguard.classfile.editor.ClassEstimates
+
 
+
ClassFeatureNameCollector - Class in proguard.classfile.visitor
+
+
This ClassVisitor collects the feature names of the classes that it visits in the + given collection.
+
+
ClassFeatureNameCollector(Collection<String>) - Constructor for class proguard.classfile.visitor.ClassFeatureNameCollector
+
+
Creates a new ClassNameCollector.
+
+
ClassFilter - Class in proguard.io
+
+
This DataEntryReader delegates to one of two other DataEntryReader instances, + depending on the extension of the data entry.
+
+
ClassFilter(DataEntryReader) - Constructor for class proguard.io.ClassFilter
+
+
Creates a new ClassFilter that delegates reading classes to the given reader.
+
+
ClassFilter(DataEntryReader, DataEntryReader) - Constructor for class proguard.io.ClassFilter
+
+
Creates a new ClassFilter that delegates to either of the two given readers.
+
+
ClassHierarchyTraveler - Class in proguard.classfile.visitor
+
+
This ClassVisitor lets a given ClassVisitor optionally travel to the visited + class, its superclass, its interfaces, and its subclasses.
+
+
ClassHierarchyTraveler(boolean, boolean, boolean, boolean, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassHierarchyTraveler
+
+
Creates a new ClassHierarchyTraveler.
+
+
ClassInitializer - Class in proguard.classfile.util
+
+
This ClassVisitor initializes the class hierarchy and references of all classes that it + visits.
+
+
ClassInitializer(ClassPool, ClassPool) - Constructor for class proguard.classfile.util.ClassInitializer
+
+
Creates a new ClassInitializer that initializes the class hierarchies and references of all + visited class files.
+
+
ClassInitializer(ClassPool, ClassPool, boolean, InvalidReferenceVisitor, InvalidClassReferenceVisitor) - Constructor for class proguard.classfile.util.ClassInitializer
+
+
Creates a new ClassInitializer that initializes the references of all visited class files, + optionally visiting the provided InvalidReferenceVisitor or InvalidClassReferenceVisitor for any invalid references.
+
+
ClassInitializer(ClassPool, ClassPool, boolean, WarningPrinter, WarningPrinter, WarningPrinter, WarningPrinter) - Constructor for class proguard.classfile.util.ClassInitializer
+
+
Creates a new ClassInitializer that initializes the references of all visited class files, + optionally printing warnings if some classes or class members can't be found or if they are in + the program class pool.
+
+
ClassInitializer(ClassPool, ClassPool, WarningPrinter, WarningPrinter, WarningPrinter, WarningPrinter) - Constructor for class proguard.classfile.util.ClassInitializer
+
+
Creates a new ClassInitializer that initializes the class hierarchies and references of all + visited class files, optionally printing warnings if some classes or class members can't be + found or if they are in the program class pool.
+
+
ClassIntegrity - Class in proguard.util.kotlin.asserter.constraint
+
+
This class checks the assumption: All functions need a JVM signature
+
+
ClassIntegrity() - Constructor for class proguard.util.kotlin.asserter.constraint.ClassIntegrity
+
 
+
CLASSLOADER_FIND_LOADED_CLASS_SIGNATURE - Static variable in class proguard.classfile.ClassConstants
+
 
+
CLASSLOADER_LOAD_CLASS_SIGNATURE - Static variable in class proguard.classfile.ClassConstants
+
 
+
CLASSLOADER_LOAD_CLASS_SIGNATURE2 - Static variable in class proguard.classfile.ClassConstants
+
 
+
ClassMapDataEntryWriter - Class in proguard.io
+
+
This DataEntryWriter writes a class mapping to the given data entry, used for debugging + of the configuration.
+
+
ClassMapDataEntryWriter(ClassPool, DataEntryWriter) - Constructor for class proguard.io.ClassMapDataEntryWriter
+
 
+
ClassMemberSorter - Class in proguard.classfile.editor
+
+
This ClassVisitor sorts the class members of the classes that it visits.
+
+
ClassMemberSorter() - Constructor for class proguard.classfile.editor.ClassMemberSorter
+
 
+
ClassModel - Class in proguard.evaluation.value.object.model
+
+
A Model to track specific Clazz constants.
+
+
ClassModel(Clazz) - Constructor for class proguard.evaluation.value.object.model.ClassModel
+
 
+
className - Variable in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
className - Variable in class proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue
+
 
+
className - Variable in class proguard.classfile.kotlin.KotlinAnnotationArgument.EnumValue
+
 
+
className - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
className - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
className - Variable in class proguard.classfile.Signature
+
 
+
className - Variable in class proguard.dexfile.reader.node.DexClassNode
+
 
+
ClassNameCollector - Class in proguard.classfile.visitor
+
+
This ClassVisitor collects the names of the classes that it visits in the given + collection.
+
+
ClassNameCollector(Collection<String>) - Constructor for class proguard.classfile.visitor.ClassNameCollector
+
+
Creates a new ClassNameCollector.
+
+
ClassNameFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to another given ClassVisitor, but only + when the visited class has a name that matches a given regular expression.
+
+
ClassNameFilter(String, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassNameFilter
+
+
Creates a new ClassNameFilter.
+
+
ClassNameFilter(String, ClassVisitor, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassNameFilter
+
+
Creates a new ClassNameFilter.
+
+
ClassNameFilter(String, WildcardManager, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassNameFilter
+
+
Creates a new ClassNameFilter.
+
+
ClassNameFilter(String, WildcardManager, ClassVisitor, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassNameFilter
+
+
Creates a new ClassNameFilter.
+
+
ClassNameFilter(List, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassNameFilter
+
+
Creates a new ClassNameFilter.
+
+
ClassNameFilter(List, ClassVisitor, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassNameFilter
+
+
Creates a new ClassNameFilter.
+
+
ClassNameFilter(List, WildcardManager, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassNameFilter
+
+
Creates a new ClassNameFilter.
+
+
ClassNameFilter(List, WildcardManager, ClassVisitor, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassNameFilter
+
+
Creates a new ClassNameFilter.
+
+
ClassNameFilter(StringMatcher, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassNameFilter
+
+
Creates a new ClassNameFilter.
+
+
ClassNameFilter(StringMatcher, ClassVisitor, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassNameFilter
+
+
Creates a new ClassNameFilter.
+
+
ClassNameParser - Class in proguard.util
+
+
This StringParser can create StringMatcher instances for regular expressions + matching internal class names (or descriptors containing class names).
+
+
ClassNameParser() - Constructor for class proguard.util.ClassNameParser
+
+
Creates a new ClassNameParser.
+
+
ClassNameParser(WildcardManager) - Constructor for class proguard.util.ClassNameParser
+
+
Creates a new ClassNameParser that supports references to earlier wildcards.
+
+
classNames() - Method in class proguard.classfile.ClassPool
+
+
Returns an Iterator of all class names in the class pool.
+
+
ClassPath - Class in proguard.io
+
+
This class represents a class path, as a list of ClassPathEntry objects.
+
+
ClassPath(ClassPathEntry...) - Constructor for class proguard.io.ClassPath
+
 
+
ClassPathDataEntry - Class in proguard.io
+
+
DataEntry implementation which loads an input stream from the classpath of the running + VM.
+
+
ClassPathDataEntry(Class) - Constructor for class proguard.io.ClassPathDataEntry
+
+
Creas an new ClassPathDataEntry for the given class.
+
+
ClassPathDataEntry(String) - Constructor for class proguard.io.ClassPathDataEntry
+
+
Creates a new ClassPathDataEntry for the entry with the given name.
+
+
ClassPathEntry - Class in proguard.io
+
+
This class represents an entry from a class path: an apk, a jar, an aar, a war, a zip, an ear, or + a directory.
+
+
ClassPathEntry(File, boolean) - Constructor for class proguard.io.ClassPathEntry
+
+
Creates a new ClassPathEntry with the given file and output flag.
+
+
ClassPathEntry(File, boolean, String) - Constructor for class proguard.io.ClassPathEntry
+
+
Creates a new ClassPathEntry with the given file, output flag, and optional feature name.
+
+
ClassPathUtil - Class in proguard.io.util
+
 
+
ClassPool - Class in proguard.classfile
+
+
This is a set of Clazz instances.
+
+
ClassPool() - Constructor for class proguard.classfile.ClassPool
+
+
Creates a new empty ClassPool.
+
+
ClassPool(Iterable<? extends Clazz>) - Constructor for class proguard.classfile.ClassPool
+
+
Creates a new ClassPool with the given classes.
+
+
ClassPool(ClassPool) - Constructor for class proguard.classfile.ClassPool
+
+
Creates a new ClassPool with the given classes.
+
+
ClassPool(Clazz...) - Constructor for class proguard.classfile.ClassPool
+
+
Creates a new ClassPool with the given classes.
+
+
ClassPoolClassLoader - Class in proguard.classfile.util
+
+
A ClassLoader that can load classes from a ProGuardCORE classpool.
+
+
ClassPoolClassLoader(ClassPool) - Constructor for class proguard.classfile.util.ClassPoolClassLoader
+
 
+
ClassPoolClassVisitor - Class in proguard.classfile.visitor
+
+
This ClassPoolVisitor and ClassVisitor remembers the ClassPool instances + that it visits and applies the given ClassPoolVisitor to the most recently remembered + one, every time it visits a Clazz instance.
+
+
ClassPoolClassVisitor(ClassPoolVisitor) - Constructor for class proguard.classfile.visitor.ClassPoolClassVisitor
+
+
Creates a new ClassPoolClassVisitor.
+
+
ClassPoolFeatureNameFunction - Class in proguard.util
+
+
This StringFunction transforms class names to feature names, based on a given class pool.
+
+
ClassPoolFeatureNameFunction(ClassPool) - Constructor for class proguard.util.ClassPoolFeatureNameFunction
+
+
Creates a new ClassPoolNameFunction based on the given class pool.
+
+
ClassPoolFeatureNameFunction(ClassPool, String) - Constructor for class proguard.util.ClassPoolFeatureNameFunction
+
+
Creates a new ClassPoolNameFunction based on the given class pool, with a default string for + classes that are not in the class pool.
+
+
ClassPoolFiller - Class in proguard.classfile.visitor
+
+
This ClassVisitor collects all the classes it visits in a given class pool.
+
+
ClassPoolFiller(ClassPool) - Constructor for class proguard.classfile.visitor.ClassPoolFiller
+
+
Creates a new ClassPoolFiller.
+
+
ClassPoolRemover - Class in proguard.classfile.visitor
+
+
This ClassVisitor removes all the classes it visits from a given class pool.
+
+
ClassPoolRemover(ClassPool) - Constructor for class proguard.classfile.visitor.ClassPoolRemover
+
+
Creates a new ClassPoolFiller.
+
+
ClassPoolVisitor - Interface in proguard.classfile.visitor
+
+
This interface specifies the methods for a visitor of ClassPool instances.
+
+
ClassPresenceFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to one of two ClassVisitor instances, + depending on whether the name of the visited class file is present in a given ClassPool + or not.
+
+
ClassPresenceFilter(ClassPool, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassPresenceFilter
+
+
Creates a new ClassPresenceFilter.
+
+
ClassPresenceFilter(ClassPool, ClassVisitor, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassPresenceFilter
+
+
Creates a new ClassPresenceFilter.
+
+
ClassPrinter - Class in proguard.classfile.visitor
+
+
This ClassVisitor prints out the complete internal structure of the classes it visits.
+
+
ClassPrinter() - Constructor for class proguard.classfile.visitor.ClassPrinter
+
+
Creates a new ClassPrinter that prints to the standard output.
+
+
ClassPrinter(PrintWriter) - Constructor for class proguard.classfile.visitor.ClassPrinter
+
+
Creates a new ClassPrinter that prints to the given writer.
+
+
ClassProcessingFlagFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to another given ClassVisitor, but only + when the visited class has the proper processing flags.
+
+
ClassProcessingFlagFilter(int, int, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassProcessingFlagFilter
+
+
Creates a new ClassProcessingFlagFilter.
+
+
ClassProcessingInfoFilter - Class in proguard.classfile.visitor
+
+
Delegates all class visits to another given visitor, depending on if the given predicate passes + or not.
+
+
ClassProcessingInfoFilter(Predicate<Object>, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassProcessingInfoFilter
+
+
Creates a new ClassVisitorInfoFilter.
+
+
ClassProcessingInfoFilter(Predicate<Object>, ClassVisitor, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassProcessingInfoFilter
+
+
Creates a new ClassVisitorInfoFilter that checks the identity of the given visitor info.
+
+
ClassReader - Class in proguard.io
+
+
This DataEntryReader applies a given ClassVisitor to the class definitions that + it reads.
+
+
ClassReader(boolean, boolean, boolean, boolean, boolean, WarningPrinter, ClassVisitor) - Constructor for class proguard.io.ClassReader
+
+
Creates a new ClassReader for reading the specified Clazz objects.
+
+
ClassReader(boolean, boolean, boolean, boolean, WarningPrinter, ClassVisitor) - Constructor for class proguard.io.ClassReader
+
+
Creates a new ClassReader for reading the specified Clazz objects.
+
+
ClassReferenceFixer - Class in proguard.classfile.editor
+
+
This ClassVisitor fixes references of constant pool entries, fields, methods, attributes + and kotlin metadata to classes whose names have changed.
+
+
ClassReferenceFixer(boolean) - Constructor for class proguard.classfile.editor.ClassReferenceFixer
+
+
Creates a new ClassReferenceFixer.
+
+
ClassReferenceFixer(ClassReferenceFixer.NameGenerationStrategy) - Constructor for class proguard.classfile.editor.ClassReferenceFixer
+
+
Creates a new ClassReferenceFixer.
+
+
ClassReferenceFixer.NameGenerationStrategy - Interface in proguard.classfile.editor
+
+
This interface provides an abstraction on how a Member should be renamed when its + descriptor need to be updated.
+
+
ClassReferenceInitializer - Class in proguard.classfile.util
+
+
This ClassVisitor initializes the references of all classes that it visits.
+
+
ClassReferenceInitializer(ClassPool, ClassPool) - Constructor for class proguard.classfile.util.ClassReferenceInitializer
+
+
Creates a new ClassReferenceInitializer that initializes the references of all visited class + files.
+
+
ClassReferenceInitializer(ClassPool, ClassPool, boolean) - Constructor for class proguard.classfile.util.ClassReferenceInitializer
+
+
Creates a new ClassReferenceInitializer that initializes the references of all visited class + files.
+
+
ClassReferenceInitializer(ClassPool, ClassPool, boolean, InvalidReferenceVisitor) - Constructor for class proguard.classfile.util.ClassReferenceInitializer
+
+
Creates a new ClassReferenceInitializer that initializes the references of all visited class + files, visiting the given InvalidReferenceVisitor for any broken references.
+
+
ClassReferenceInitializer(ClassPool, ClassPool, boolean, WarningPrinter, WarningPrinter, WarningPrinter, WarningPrinter) - Constructor for class proguard.classfile.util.ClassReferenceInitializer
+
+
Creates a new ClassReferenceInitializer that initializes the references of all visited class + files, optionally printing warnings if some classes or class members can't be found or if they + are in the program class pool.
+
+
ClassReferenceInitializer(ClassPool, ClassPool, WarningPrinter, WarningPrinter, WarningPrinter, WarningPrinter) - Constructor for class proguard.classfile.util.ClassReferenceInitializer
+
+
Creates a new ClassReferenceInitializer that initializes the references of all visited class + files, optionally printing warnings if some classes or class members can't be found or if they + are in the program class pool.
+
+
ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer - Class in proguard.classfile.util
+
 
+
ClassRenamer - Class in proguard.classfile.util
+
+
This ClassVisitor renames the class names and class member names of the classes it + visits.
+
+
ClassRenamer(Function<Clazz, String>) - Constructor for class proguard.classfile.util.ClassRenamer
+
 
+
ClassRenamer(Function<Clazz, String>, BiFunction<Clazz, Member, String>) - Constructor for class proguard.classfile.util.ClassRenamer
+
 
+
ClassRenamer(Function<Clazz, String>, BiFunction<Clazz, Member, String>, ClassVisitor, MemberVisitor) - Constructor for class proguard.classfile.util.ClassRenamer
+
 
+
ClassRenamer(Function<Clazz, String>, ClassVisitor, MemberVisitor) - Constructor for class proguard.classfile.util.ClassRenamer
+
 
+
ClassSignature - Class in proguard.classfile
+
+
Represents the signature of a class without any member information.
+
+
ClassSignature(String) - Constructor for class proguard.classfile.ClassSignature
+
 
+
ClassSignature(Clazz) - Constructor for class proguard.classfile.ClassSignature
+
 
+
ClassSubHierarchyInitializer - Class in proguard.classfile.util
+
+
This ClassPoolVisitor and ClassVisitor fills out the subclasses of all classes (in the class + pools) that it visits.
+
+
ClassSubHierarchyInitializer() - Constructor for class proguard.classfile.util.ClassSubHierarchyInitializer
+
 
+
ClassSuperHierarchyInitializer - Class in proguard.classfile.util
+
+
This ClassVisitor initializes the superclass hierarchy of all classes that it visits.
+
+
ClassSuperHierarchyInitializer(ClassPool, ClassPool) - Constructor for class proguard.classfile.util.ClassSuperHierarchyInitializer
+
+
Creates a new ClassSuperHierarchyInitializer that initializes the super hierarchy of all + visited class files.
+
+
ClassSuperHierarchyInitializer(ClassPool, ClassPool, InvalidClassReferenceVisitor) - Constructor for class proguard.classfile.util.ClassSuperHierarchyInitializer
+
+
Creates a new ClassSuperHierarchyInitializer that initializes the super hierarchy of all + visited class files, visiting the given InvalidClassReferenceVisitor for any broken + references.
+
+
ClassSuperHierarchyInitializer(ClassPool, ClassPool, WarningPrinter, WarningPrinter) - Constructor for class proguard.classfile.util.ClassSuperHierarchyInitializer
+
+
Creates a new ClassSuperHierarchyInitializer that initializes the super hierarchy of all + visited class files, optionally printing warnings if some classes can't be found or if they are + in the program class pool.
+
+
ClassUtil - Class in proguard.classfile.util
+
+
Utility methods for: + + + Converting between internal and external representations of names and descriptions + Operation on Clazz +
+
+
ClassValue(String) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue
+
 
+
ClassValue(String, int) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue
+
 
+
ClassVersionFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to program classes to another given ClassVisitor, but only when the class version number of the visited program class lies in a + given range.
+
+
ClassVersionFilter(int, int, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassVersionFilter
+
+
Creates a new ClassVersionFilter.
+
+
ClassVersionFilter(int, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassVersionFilter
+
+
Creates a new ClassVersionFilter.
+
+
ClassVersionSetter - Class in proguard.classfile.visitor
+
+
This ClassVisitor sets the version number of the program classes that it visits.
+
+
ClassVersionSetter(int) - Constructor for class proguard.classfile.visitor.ClassVersionSetter
+
+
Creates a new ClassVersionSetter.
+
+
ClassVersionSetter(int, Set<Integer>) - Constructor for class proguard.classfile.visitor.ClassVersionSetter
+
+
Creates a new ClassVersionSetter that also stores any newer class version numbers that it + encounters while visiting program classes.
+
+
ClassViewModel - Class in proguard.classfile.util.renderer
+
+
This utility class renders Clazz objects into a more human-readable format.
+
+
classVisitor - Variable in class proguard.classfile.visitor.DynamicReturnedClassVisitor
+
 
+
ClassVisitor - Interface in proguard.classfile.visitor
+
+
This interface specifies the methods for a visitor of Clazz instances.
+
+
clazz - Variable in class proguard.analysis.datastructure.CodeLocation
+
 
+
clazz - Variable in class proguard.classfile.kotlin.reflect.JavaReferenceInfo
+
 
+
Clazz - Interface in proguard.classfile
+
+
This interface provides access to the fundamental properties of a Java class.
+
+
CleanLabel - Class in proguard.dexfile.ir.ts
+
+
Clean unused LabelStmt
+
+
CleanLabel() - Constructor for class proguard.dexfile.ir.ts.CleanLabel
+
 
+
clear() - Method in class proguard.analysis.cpa.defaults.AbstractWaitlist
+
 
+
clear() - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
clear() - Method in interface proguard.analysis.cpa.interfaces.Waitlist
+
+
Empties the waitlist.
+
+
clear() - Method in class proguard.analysis.cpa.jvm.cfa.JvmCfa
+
+
Removes references to this CFA nodes from the singleton JvmUnknownCfaNode and clears + its node collections making it garbage collectable.
+
+
clear() - Method in class proguard.analysis.datastructure.callgraph.CallGraph
+
+
Clear the call graph references.
+
+
clear() - Method in class proguard.classfile.ClassPool
+
+
Clears the class pool.
+
+
clear() - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
clear() - Method in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
clear() - Method in class proguard.evaluation.Stack
+
+
Clears the stack.
+
+
clear() - Method in class proguard.evaluation.TracedStack
+
 
+
clear() - Method in class proguard.io.ClassPath
+
 
+
clear() - Method in class proguard.resources.file.ResourceFilePool
+
+
Clears the pool.
+
+
clear() - Method in class proguard.util.MultiValueMap
+
 
+
clearCache() - Static method in class proguard.classfile.ClassSignature
+
+
Remove all currently cached ClassSignature objects from the cache, allowing them to be + removed by the garbage collector.
+
+
clearCache() - Static method in class proguard.classfile.FieldSignature
+
+
Remove all currently cached FieldSignature objects from the cache, allowing them to be + removed by the garbage collector.
+
+
clearCache() - Static method in class proguard.classfile.MethodSignature
+
+
Remove all currently cached MethodSignature objects from the cache, allowing them to be + removed by the garbage collector.
+
+
clearCache() - Static method in class proguard.classfile.Signature
+
+
Clear the signature caches of all Signature subclasses.
+
+
clearModifications(int) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Clears all modifications of the instruction at the given offset.
+
+
clearOperandStack() - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Empties the operand stack.
+
+
clearUnUsedFromFrame() - Method in class proguard.dexfile.ir.ts.UnSSATransformer.LiveA
+
 
+
clearValues() - Method in class proguard.analysis.datastructure.callgraph.Call
+
+
Clear all Value object references from this call.
+
+
clone() - Method in class proguard.dexfile.ir.expr.ArrayExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.BinopExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.CastExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.Constant
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.FieldExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.FilledArrayExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.InvokeCustomExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.InvokeNewExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.InvokePolymorphicExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.Local
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.NewExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.NewMutiArrayExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.PhiExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.RefExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.StaticFieldExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.TypeExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.UnopExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.Value
+
 
+
clone() - Method in class proguard.dexfile.ir.IrMethod
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.ArrayExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.BinopExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.CastExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.Constant
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.FieldExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.FilledArrayExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.InvokeCustomExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.InvokeNewExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.InvokePolymorphicExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.Local
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.NewExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.NewMutiArrayExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.PhiExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.RefExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.StaticFieldExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.TypeExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.UnopExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.Value
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.LocalVar
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.stmt.AssignStmt
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.stmt.GotoStmt
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.stmt.IfStmt
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.stmt.LabelStmt
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.stmt.LookupSwitchStmt
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.stmt.NopStmt
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.stmt.ReturnVoidStmt
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.stmt.Stmt
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.stmt.TableSwitchStmt
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.stmt.UnopStmt
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.stmt.VoidInvokeStmt
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.Trap
+
 
+
cloneOps() - Method in class proguard.dexfile.ir.expr.Value.EnExpr
+
 
+
cloneOps(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.Value.EnExpr
+
 
+
cloneOrNull(T[]) - Static method in class proguard.util.ArrayUtil
+
+
Returns a shallow copy of the given array, or null if the input is null.
+
+
close() - Method in class proguard.classfile.util.renderer.core.StringListWriter
+
 
+
close() - Method in class proguard.io.CascadingDataEntryWriter
+
 
+
close() - Method in class proguard.io.ClassDataEntryWriter
+
 
+
close() - Method in class proguard.io.ClassMapDataEntryWriter
+
 
+
close() - Method in interface proguard.io.DataEntryWriter
+
+
Finishes writing all data entries.
+
+
close() - Method in class proguard.io.DexDataEntryWriter
+
 
+
close() - Method in class proguard.io.DirectoryWriter
+
 
+
close() - Method in class proguard.io.FilteredDataEntryWriter
+
 
+
close() - Method in class proguard.io.FixedFileWriter
+
 
+
close() - Method in class proguard.io.JarWriter
+
 
+
close() - Method in class proguard.io.JarWriter.MyMultiDigestOutputStream
+
 
+
close() - Method in class proguard.io.NonClosingDataEntryWriter
+
 
+
close() - Method in class proguard.io.ParentDataEntryWriter
+
 
+
close() - Method in class proguard.io.PrefixAddingDataEntryWriter
+
 
+
close() - Method in class proguard.io.RenamedDataEntryWriter
+
 
+
close() - Method in class proguard.io.RenamedParentDataEntryWriter
+
 
+
close() - Method in class proguard.io.ZipOutput
+
+
Closes the zip archive, writing out its central directory and closing the underlying output + stream.
+
+
close() - Method in class proguard.io.ZipWriter
+
 
+
close() - Method in class proguard.resources.kotlinmodule.io.KotlinModuleDataEntryWriter
+
 
+
close(long) - Method in class proguard.io.ZipOutput
+
+
Closes the zip archive, writing out its central directory and closing the underlying output + stream.
+
+
closeInputStream() - Method in class proguard.io.ClassPathDataEntry
+
 
+
closeInputStream() - Method in interface proguard.io.DataEntry
+
+
Closes the previously retrieved InputStream.
+
+
closeInputStream() - Method in class proguard.io.DummyDataEntry
+
 
+
closeInputStream() - Method in class proguard.io.FileDataEntry
+
 
+
closeInputStream() - Method in class proguard.io.NamedDataEntry
+
 
+
closeInputStream() - Method in class proguard.io.StreamingDataEntry
+
 
+
closeInputStream() - Method in class proguard.io.WrappedDataEntry
+
 
+
closeInputStream() - Method in class proguard.io.ZipDataEntry
+
 
+
closeInputStream() - Method in class proguard.io.ZipFileDataEntry
+
 
+
clz - Variable in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
clzOf(String) - Static method in enum proguard.dexfile.ir.TypeClass
+
 
+
clzs - Variable in class proguard.dexfile.reader.node.DexFileNode
+
 
+
CMP_LONG - proguard.dexfile.reader.Op
+
 
+
CMPG_DOUBLE - proguard.dexfile.reader.Op
+
 
+
CMPG_FLOAT - proguard.dexfile.reader.Op
+
 
+
CMPL_DOUBLE - proguard.dexfile.reader.Op
+
 
+
CMPL_FLOAT - proguard.dexfile.reader.Op
+
 
+
code - Variable in class proguard.classfile.attribute.CodeAttribute
+
 
+
code(CompactCodeAttributeComposer) - Method in class proguard.dexfile.converter.IR2ProConverter
+
 
+
CODE - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
CODE_ATTRIBUTE_EDITOR_ERROR - Static variable in class proguard.exception.ErrorId
+
 
+
CODE_PREVERIFIER_ERROR - Static variable in class proguard.exception.ErrorId
+
 
+
CODE_SUBROUTINE_INLINER_ERROR - Static variable in class proguard.exception.ErrorId
+
 
+
CodeAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a code attribute.
+
+
CodeAttribute() - Constructor for class proguard.classfile.attribute.CodeAttribute
+
+
Creates an uninitialized CodeAttribute.
+
+
CodeAttribute(int) - Constructor for class proguard.classfile.attribute.CodeAttribute
+
+
Creates a partially initialized CodeAttribute without code, exceptions, or attributes.
+
+
CodeAttribute(int, int, int, int, byte[]) - Constructor for class proguard.classfile.attribute.CodeAttribute
+
+
Creates an initialized CodeAttribute without exceptions or attributes.
+
+
CodeAttribute(int, int, int, int, byte[], int, ExceptionInfo[], int, Attribute[]) - Constructor for class proguard.classfile.attribute.CodeAttribute
+
+
Creates an initialized CodeAttribute.
+
+
CodeAttributeComposer - Class in proguard.classfile.editor
+
+
This AttributeVisitor accumulates instructions, exceptions and line numbers, and then + adds them to a method or copies them into code attributes that it visits.
+
+
CodeAttributeComposer() - Constructor for class proguard.classfile.editor.CodeAttributeComposer
+
+
Creates a new CodeAttributeComposer that doesn't allow external branch targets or exception + offsets and that automatically shrinks instructions.
+
+
CodeAttributeComposer(boolean, boolean, boolean) - Constructor for class proguard.classfile.editor.CodeAttributeComposer
+
+
Creates a new CodeAttributeComposer.
+
+
CodeAttributeComposer(boolean, boolean, boolean, boolean) - Constructor for class proguard.classfile.editor.CodeAttributeComposer
+
+
Creates a new CodeAttributeComposer.
+
+
CodeAttributeEditor - Class in proguard.classfile.editor
+
+
This AttributeVisitor accumulates specified changes to code, and then applies these + accumulated changes to the code attributes that it visits.
+
+
CodeAttributeEditor() - Constructor for class proguard.classfile.editor.CodeAttributeEditor
+
+
Creates a new CodeAttributeEditor that automatically updates frame sizes and shrinks + instructions.
+
+
CodeAttributeEditor(boolean, boolean) - Constructor for class proguard.classfile.editor.CodeAttributeEditor
+
+
Creates a new CodeAttributeEditor.
+
+
CodeAttributeEditor.Label - Class in proguard.classfile.editor
+
+
This pseudo-instruction represents a label that marks an instruction offset, for use in the + context of the code attribute editor only.
+
+
CodeAttributeEditorResetter - Class in proguard.classfile.editor
+
+
This AttributeVisitor resets it CodeAttributeEditor whenever it visits a code + attribute.
+
+
CodeAttributeEditorResetter(CodeAttributeEditor) - Constructor for class proguard.classfile.editor.CodeAttributeEditorResetter
+
+
Creates a new CodeAttributeEditorResetter.
+
+
CodeAttributeToMethodVisitor - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor lets a given MemberVisitor visit all methods whose code + attribute is visited.
+
+
CodeAttributeToMethodVisitor(MemberVisitor) - Constructor for class proguard.classfile.attribute.visitor.CodeAttributeToMethodVisitor
+
+
Creates a new CodeAttributeToMethodVisitor.
+
+
CodeLocation - Class in proguard.analysis.datastructure
+
+
Represents a unique location in the bytecode.
+
+
CodeLocation(Clazz, Member, int) - Constructor for class proguard.analysis.datastructure.CodeLocation
+
+
Create a code location with an unknown (Location.UNKNOWN_LINE) line number.
+
+
CodeLocation(Clazz, Member, int, int) - Constructor for class proguard.analysis.datastructure.CodeLocation
+
 
+
codeNode - Variable in class proguard.dexfile.reader.node.DexMethodNode
+
 
+
CodePreverifier - Class in proguard.preverify
+
+
This AttributeVisitor adds preverification information (for Java Micro Edition or for + Java 6 or higher) to the code attributes that it visits.
+
+
CodePreverifier(boolean) - Constructor for class proguard.preverify.CodePreverifier
+
+
Creates a new CodePreverifier.
+
+
CodeSubroutineInliner - Class in proguard.preverify
+
+
This AttributeVisitor inlines local subroutines (jsr/ret) in the code attributes that it visits.
+
+
CodeSubroutineInliner() - Constructor for class proguard.preverify.CodeSubroutineInliner
+
 
+
collapse() - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
+
Changes the internal representation by applying action nodes to a copy of the root.
+
+
CollectionMatcher - Class in proguard.util
+
+
This matcher tests whether strings match with a String in a given Set.
+
+
CollectionMatcher(String...) - Constructor for class proguard.util.CollectionMatcher
+
 
+
CollectionMatcher(Set<String>) - Constructor for class proguard.util.CollectionMatcher
+
 
+
CollectionParser - Class in proguard.util
+
+
This StringParser can create a CollectionMatcher instance for regular + expressions.
+
+
CollectionParser() - Constructor for class proguard.util.CollectionParser
+
+
Creates a new ListParser that parses individual elements in the comma-separated list with the + given StringParser.
+
+
collectTos(Stmt, Set<Stmt>) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
com.example - package com.example
+
 
+
commaSeparatedList(String) - Static method in class proguard.util.ListUtil
+
+
Creates a List of String objects from the given comma-separated String.
+
+
commaSeparatedString(List<String>, boolean) - Static method in class proguard.util.ListUtil
+
+
Creates a comma-separated String from the given List of String objects.
+
+
CompactCodeAttributeComposer - Class in proguard.classfile.editor
+
+
This AttributeVisitor accumulates instructions, exceptions and line numbers, in a compact + and fluent style, and then adds them to a method or copies them into code attributes that it + visits.
+
+
CompactCodeAttributeComposer(ConstantPoolEditor, boolean, boolean, boolean) - Constructor for class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Creates a new CompactCodeAttributeComposer.
+
+
CompactCodeAttributeComposer(ConstantPoolEditor, CodeAttributeComposer) - Constructor for class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Creates a new CompactCodeAttributeComposer.
+
+
CompactCodeAttributeComposer(ProgramClass) - Constructor for class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Creates a new CompactCodeAttributeComposer that doesn't allow external branch targets or + exception offsets and that automatically shrinks instructions.
+
+
CompactCodeAttributeComposer(ProgramClass, boolean, boolean, boolean) - Constructor for class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Creates a new CompactCodeAttributeComposer.
+
+
CompactCodeAttributeComposer(ProgramClass, boolean, boolean, boolean, ClassPool, ClassPool) - Constructor for class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Creates a new CompactCodeAttributeComposer.
+
+
CompactCodeAttributeComposer(ProgramClass, ClassPool, ClassPool) - Constructor for class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Creates a new CompactCodeAttributeComposer that doesn't allow external branch targets or + exception handlers and that automatically shrinks instructions.
+
+
CompactCodeAttributeComposer.Label - Class in proguard.classfile.editor
+
+
This class represents a label to which branch instructions and switch instructions can jump.
+
+
companionAccept(KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
companionObjectName - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
compare(boolean[], int, boolean[], int) - Static method in class proguard.util.ArrayUtil
+
+
Compares the elements of the two given arrays.
+
+
compare(byte[], int, byte[], int) - Static method in class proguard.util.ArrayUtil
+
+
Compares the elements of the two given arrays.
+
+
compare(char[], int, char[], int) - Static method in class proguard.util.ArrayUtil
+
+
Compares the elements of the two given arrays.
+
+
compare(double[], int, double[], int) - Static method in class proguard.util.ArrayUtil
+
+
Compares the elements of the two given arrays.
+
+
compare(float[], int, float[], int) - Static method in class proguard.util.ArrayUtil
+
+
Compares the elements of the two given arrays.
+
+
compare(int[], int, int[], int) - Static method in class proguard.util.ArrayUtil
+
+
Compares the elements of the two given arrays.
+
+
compare(long[], int, long[], int) - Static method in class proguard.util.ArrayUtil
+
+
Compares the elements of the two given arrays.
+
+
compare(short[], int, short[], int) - Static method in class proguard.util.ArrayUtil
+
+
Compares the elements of the two given arrays.
+
+
compare(Comparable[], int, Comparable[], int) - Static method in class proguard.util.ArrayUtil
+
+
Compares the elements of the two given arrays.
+
+
compare(Comparable, Comparable) - Static method in class proguard.util.ObjectUtil
+
+
Returns a comparison of the two given objects.
+
+
compare(Object, Object) - Method in class proguard.classfile.editor.AttributeSorter
+
 
+
compare(Object, Object) - Method in class proguard.classfile.editor.ClassMemberSorter
+
 
+
compare(Stmt, Stmt) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
compare(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns an IntegerValue with value -1, 0, or 1, if this DoubleValue is less than, equal to, or + greater than the given DoubleValue, respectively.
+
+
compare(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
compare(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
compare(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
compare(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns an IntegerValue with value -1, 0, or 1, if this FloatValue is less than, equal to, or + greater than the given FloatValue, respectively.
+
+
compare(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
compare(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
compare(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
compare(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or + greater than the given LongValue, respectively.
+
+
compare(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
compare(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
compare(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
compare(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns an IntegerValue with value -1, 0, or 1, if this DoubleValue is less than, equal to, or + greater than the given ParticularDoubleValue, respectively.
+
+
compare(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
compare(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns an IntegerValue with value -1, 0, or 1, if this FloatValue is less than, equal to, or + greater than the given ParticularFloatValue, respectively.
+
+
compare(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
compare(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or + greater than the given ParticularLongValue, respectively.
+
+
compare(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns an IntegerValue with value -1, 0, or 1, if this DoubleValue is less than, equal to, or + greater than the given SpecificDoubleValue, respectively.
+
+
compare(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
compare(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns an IntegerValue with value -1, 0, or 1, if this FloatValue is less than, equal to, or + greater than the given SpecificFloatValue, respectively.
+
+
compare(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
compare(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or + greater than the given SpecificLongValue, respectively.
+
+
compare(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
compareReverse(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns an IntegerValue with value 1, 0, or -1, if this DoubleValue is less than, equal to, or + greater than the given DoubleValue, respectively.
+
+
compareReverse(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns an IntegerValue with value 1, 0, or -1, if this FloatValue is less than, equal to, or + greater than the given FloatValue, respectively.
+
+
compareReverse(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns an IntegerValue with value 1, 0, or -1, if this LongValue is less than, equal to, or + greater than the given LongValue, respectively.
+
+
compareReverse(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns an IntegerValue with value 1, 0, or -1, if this DoubleValue is less than, equal to, or + greater than the given ParticularDoubleValue, respectively.
+
+
compareReverse(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns an IntegerValue with value 1, 0, or -1, if this FloatValue is less than, equal to, or + greater than the given ParticularFloatValue, respectively.
+
+
compareReverse(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns an IntegerValue with value 1, 0, or -1, if this LongValue is less than, equal to, or + greater than the given ParticularLongValue, respectively.
+
+
compareReverse(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns an IntegerValue with value 1, 0, or -1, if this DoubleValue is less than, equal to, or + greater than the given SpecificDoubleValue, respectively.
+
+
compareReverse(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns an IntegerValue with value 1, 0, or -1, if this FloatValue is less than, equal to, or + greater than the given SpecificFloatValue, respectively.
+
+
compareReverse(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns an IntegerValue with value 1, 0, or -1, if this LongValue is less than, equal to, or + greater than the given SpecificLongValue, respectively.
+
+
compareTo(Object) - Method in class proguard.classfile.attribute.LocalVariableInfo
+
 
+
compareTo(Object) - Method in class proguard.classfile.attribute.LocalVariableTypeInfo
+
 
+
compareTo(Location) - Method in class proguard.analysis.datastructure.CodeLocation
+
 
+
compareTo(Location) - Method in class proguard.analysis.datastructure.FileLocation
+
 
+
compareTo(Signature) - Method in class proguard.classfile.Signature
+
 
+
ComparisonValue - Class in proguard.evaluation.value
+
+
This IntegerValue represents the result of a comparisons of two scalar values.
+
+
ComparisonValue(Value, Value) - Constructor for class proguard.evaluation.value.ComparisonValue
+
+
Creates a new comparison integer value of the two given scalar values.
+
+
COMPILATION_I_D - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
components - Variable in class proguard.classfile.attribute.RecordAttribute
+
 
+
componentsAccept(Clazz, RecordComponentInfoVisitor) - Method in class proguard.classfile.attribute.RecordAttribute
+
+
Applies the given visitor to all components.
+
+
compose(CompactCodeAttributeComposer) - Method in interface proguard.classfile.editor.ClassBuilder.CodeBuilder
+
 
+
CompositeDoubleValue - Class in proguard.evaluation.value
+
+
This DoubleValue represents the result of a binary operation on two double values.
+
+
CompositeDoubleValue(DoubleValue, byte, DoubleValue) - Constructor for class proguard.evaluation.value.CompositeDoubleValue
+
+
Creates a new composite double value of the two given double values and the given operation.
+
+
CompositeFloatValue - Class in proguard.evaluation.value
+
+
This FloatValue represents the result of a binary operation on two float values.
+
+
CompositeFloatValue(FloatValue, byte, FloatValue) - Constructor for class proguard.evaluation.value.CompositeFloatValue
+
+
Creates a new composite float value of the two given float values and the given operation.
+
+
CompositeIntegerValue - Class in proguard.evaluation.value
+
+
This IntegerValue represents the result of a binary operation on two integer values.
+
+
CompositeIntegerValue(IntegerValue, byte, IntegerValue) - Constructor for class proguard.evaluation.value.CompositeIntegerValue
+
+
Creates a new composite integer value of the two given integer values and the given operation.
+
+
CompositeLongValue - Class in proguard.evaluation.value
+
+
This LongValue represents the result of a binary operation on two long values.
+
+
CompositeLongValue(LongValue, byte, Value) - Constructor for class proguard.evaluation.value.CompositeLongValue
+
+
Creates a new composite long value of the two given long values and the given operation.
+
+
computationalType() - Method in class proguard.evaluation.value.DoubleValue
+
 
+
computationalType() - Method in class proguard.evaluation.value.FloatValue
+
 
+
computationalType() - Method in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
computationalType() - Method in class proguard.evaluation.value.IntegerValue
+
 
+
computationalType() - Method in class proguard.evaluation.value.LongValue
+
 
+
computationalType() - Method in class proguard.evaluation.value.ReferenceValue
+
 
+
computationalType() - Method in class proguard.evaluation.value.TopValue
+
 
+
computationalType() - Method in class proguard.evaluation.value.TracingValue
+
 
+
computationalType() - Method in class proguard.evaluation.value.UnknownValue
+
 
+
computationalType() - Method in class proguard.evaluation.value.Value
+
+
Returns the computational type of this Value.
+
+
compute(K, BiFunction<? super K, ? super V, ? extends V>) - Method in class proguard.analysis.cpa.defaults.LimitedHashMap
+
 
+
computeIfAbsent(K, Function<? super K, ? extends V>) - Method in class proguard.analysis.cpa.defaults.LimitedHashMap
+
 
+
computeIfAbsent(Clazz) - Static method in class proguard.classfile.ClassSignature
+
+
Get the singleton ClassSignature object for this specific Clazz.
+
+
computeIfAbsent(Clazz, Field) - Static method in class proguard.classfile.FieldSignature
+
+
Get the singleton FieldSignature object for this specific Field.
+
+
computeIfAbsent(Clazz, Member) - Static method in class proguard.classfile.Signature
+
+ +
+
computeIfAbsent(Clazz, Method) - Static method in class proguard.classfile.MethodSignature
+
+
Get the singleton MethodSignature object for this specific Method.
+
+
computeIncrement(SetAbstractState<Reference>, int) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceTransferRelation
+
 
+
computeIncrement(StateT, int) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns the abstract state of the incremented input state by value.
+
+
concat(T[], T[]) - Static method in class proguard.util.ArrayUtil
+
+
Concatenates two arrays into a single one.
+
+
concatenate(List<T>, List<T>) - Static method in class proguard.util.ListUtil
+
+
Returns a List instance that contains the elements of the two given List instances.
+
+
ConcatenatingStringFunction - Class in proguard.util
+
+
This StringFunction returns the concatenated transformed strings of two given StringFunction instances.
+
+
ConcatenatingStringFunction(StringFunction, StringFunction) - Constructor for class proguard.util.ConcatenatingStringFunction
+
+
Creates a new ConcatenatingStringFunction with the two given string functions.
+
+
conclusionOfConditionalEffect - Variable in class proguard.classfile.kotlin.KotlinEffectMetadata
+
 
+
conclusionOfConditionalEffectAccept(Clazz, KotlinEffectExprVisitor) - Method in class proguard.classfile.kotlin.KotlinEffectMetadata
+
 
+
CONCRETE_CALL - proguard.analysis.Metrics.MetricType
+
 
+
CONCRETE_CALL_NO_CODE_ATTRIBUTE - proguard.analysis.Metrics.MetricType
+
 
+
ConcreteCall - Class in proguard.analysis.datastructure.callgraph
+
+
A method call whose target Method is contained in our ClassPool.
+
+
ConcreteCall(CodeLocation, Clazz, Method, int, Instruction, boolean, boolean) - Constructor for class proguard.analysis.datastructure.callgraph.ConcreteCall
+
 
+
ConcreteCall(CodeLocation, Clazz, Method, Value, List<Value>, Value, int, Instruction, boolean, boolean) - Constructor for class proguard.analysis.datastructure.callgraph.ConcreteCall
+
 
+
ConcreteClassDownTraveler - Class in proguard.classfile.visitor
+
+
This ClassVisitor lets a given ClassVisitor travel to the first concrete + subclasses down in its hierarchy of abstract classes and concrete classes.
+
+
ConcreteClassDownTraveler(ClassVisitor) - Constructor for class proguard.classfile.visitor.ConcreteClassDownTraveler
+
+
Creates a new ConcreteClassDownTraveler.
+
+
concurrentCallGraph() - Static method in class proguard.analysis.datastructure.callgraph.CallGraph
+
+
Provides concurrency ready CallGraph, backed by ConcurrentHashMaps and by + synchronizedSets.
+
+
ConfigurableProgramAnalysis - Interface in proguard.analysis.cpa.interfaces
+
+ +
+
CONST - proguard.dexfile.reader.Op
+
 
+
CONST_16 - proguard.dexfile.reader.Op
+
 
+
CONST_4 - proguard.dexfile.reader.Op
+
 
+
CONST_CLASS - proguard.dexfile.reader.Op
+
 
+
CONST_HIGH16 - proguard.dexfile.reader.Op
+
 
+
CONST_STRING - proguard.dexfile.reader.Op
+
 
+
CONST_STRING_JUMBO - proguard.dexfile.reader.Op
+
 
+
CONST_WIDE - proguard.dexfile.reader.Op
+
 
+
CONST_WIDE_16 - proguard.dexfile.reader.Op
+
 
+
CONST_WIDE_32 - proguard.dexfile.reader.Op
+
 
+
CONST_WIDE_HIGH16 - proguard.dexfile.reader.Op
+
 
+
constant - Variable in class proguard.classfile.instruction.ConstantInstruction
+
 
+
constant - Variable in class proguard.classfile.instruction.SimpleInstruction
+
 
+
constant - Variable in class proguard.classfile.instruction.VariableInstruction
+
 
+
Constant - Class in proguard.classfile.constant
+
+
This abstract class represents an entry in the constant pool of a class.
+
+
Constant - Class in proguard.dexfile.ir.expr
+
+
Represent a constant, number/string/type
+
+
Constant() - Constructor for class proguard.classfile.constant.Constant
+
 
+
Constant(Object) - Constructor for class proguard.dexfile.ir.expr.Constant
+
 
+
CONSTANT - proguard.dexfile.ir.expr.Value.VT
+
 
+
CONSTANT_VALUE - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
ConstantAdder - Class in proguard.classfile.editor
+
+
This ConstantVisitor adds all constants that it visits to the constant pool of a given + target class.
+
+
ConstantAdder(ProgramClass) - Constructor for class proguard.classfile.editor.ConstantAdder
+
+
Creates a new ConstantAdder that will copy constants into the given target class.
+
+
ConstantCounter - Class in proguard.classfile.constant.visitor
+
+
This ConstantVisitor counts the number of constants that have been visited.
+
+
ConstantCounter() - Constructor for class proguard.classfile.constant.visitor.ConstantCounter
+
 
+
ConstantElementValue - Class in proguard.classfile.attribute.annotation
+
+
This ElementValue represents a constant element value.
+
+
ConstantElementValue(char) - Constructor for class proguard.classfile.attribute.annotation.ConstantElementValue
+
+
Creates an uninitialized ConstantElementValue.
+
+
ConstantElementValue(char, int, int) - Constructor for class proguard.classfile.attribute.annotation.ConstantElementValue
+
+
Creates an initialized ConstantElementValue.
+
+
constantIndex - Variable in class proguard.classfile.instruction.ConstantInstruction
+
 
+
ConstantInstruction - Class in proguard.classfile.instruction
+
+
This Instruction represents an instruction that refers to an entry in the constant pool.
+
+
ConstantInstruction() - Constructor for class proguard.classfile.instruction.ConstantInstruction
+
+
Creates an uninitialized ConstantInstruction.
+
+
ConstantInstruction(byte, int) - Constructor for class proguard.classfile.instruction.ConstantInstruction
+
+
Creates a new ConstantInstruction with the given opcode and constant pool index.
+
+
ConstantInstruction(byte, int, int) - Constructor for class proguard.classfile.instruction.ConstantInstruction
+
+
Creates a new ConstantInstruction with the given opcode, constant pool index, and constant.
+
+
constantLookupVisitor - Variable in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation.InstructionAbstractInterpreter
+
 
+
ConstantLookupVisitor - Class in proguard.analysis.cpa.jvm.util
+
+
This ConstantVisitor is used for field operations and the instanceOf predicate.
+
+
ConstantLookupVisitor() - Constructor for class proguard.analysis.cpa.jvm.util.ConstantLookupVisitor
+
 
+
ConstantMatcher - Class in proguard.util
+
+
This StringMatcher matches any string or no string at all.
+
+
ConstantMatcher(boolean) - Constructor for class proguard.util.ConstantMatcher
+
+
Creates a new ConstantMatcher that always returns the given result.
+
+
constantPool - Variable in class proguard.classfile.ProgramClass
+
 
+
ConstantPoolEditor - Class in proguard.classfile.editor
+
+
This class can add constant pool entries to a given class.
+
+
ConstantPoolEditor(ProgramClass) - Constructor for class proguard.classfile.editor.ConstantPoolEditor
+
+
Creates a new ConstantPoolEditor.
+
+
ConstantPoolEditor(ProgramClass, ClassPool, ClassPool) - Constructor for class proguard.classfile.editor.ConstantPoolEditor
+
+
Creates a new ConstantPoolEditor that automatically initializes class references and class + member references in new constants.
+
+
constantPoolEntriesAccept(ConstantVisitor) - Method in interface proguard.classfile.Clazz
+
+
Lets the given constant pool entry visitor visit all constant pool entries of this class.
+
+
constantPoolEntriesAccept(ConstantVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
constantPoolEntriesAccept(ConstantVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
constantPoolEntryAccept(int, ConstantVisitor) - Method in interface proguard.classfile.Clazz
+
+
Lets the given constant pool entry visitor visit the constant pool entry at the specified + index.
+
+
constantPoolEntryAccept(int, ConstantVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
constantPoolEntryAccept(int, ConstantVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
ConstantPoolRemapper - Class in proguard.classfile.editor
+
+
This ClassVisitor remaps all possible references to constant pool entries of the classes + that it visits, based on a given index map.
+
+
ConstantPoolRemapper() - Constructor for class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
ConstantPoolShrinker - Class in proguard.classfile.editor
+
+
This ClassVisitor removes all unused entries from the constant pool.
+
+
ConstantPoolShrinker() - Constructor for class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
ConstantPoolSorter - Class in proguard.classfile.editor
+
+
This ClassVisitor sorts the constant pool entries of the program classes that it visits.
+
+
ConstantPoolSorter() - Constructor for class proguard.classfile.editor.ConstantPoolSorter
+
 
+
ConstantProcessingFlagFilter - Class in proguard.classfile.visitor
+
+
This ConstantVisitor delegates its visits to another given ConstantVisitor, but + only when the visited constant has the proper processing flags.
+
+
ConstantProcessingFlagFilter(int, int, ConstantVisitor) - Constructor for class proguard.classfile.visitor.ConstantProcessingFlagFilter
+
+
Creates a new ConstantProcessingFlagFilter.
+
+
constants() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Returns the accumulated set of constants and resets the set in the builder.
+
+
ConstantStringBuilder - Class in proguard.classfile.constant.visitor
+
+
This ConstantVisitor collects the constants that it visits in a readable form, in a given + string builder.
+
+
ConstantStringBuilder(StringBuilder) - Constructor for class proguard.classfile.constant.visitor.ConstantStringBuilder
+
+
Creates a new ConstantStringBuilder.
+
+
ConstantStringFunction - Class in proguard.util
+
+
This StringFunction returns a given constant string.
+
+
ConstantStringFunction(String) - Constructor for class proguard.util.ConstantStringFunction
+
+
Creates a new MapStringFunction based on the given map.
+
+
ConstantTagFilter - Class in proguard.classfile.constant.visitor
+
+
This ConstantVisitor delegates its visits to one or more specified types of constants.
+
+
ConstantTagFilter(int[], ConstantVisitor) - Constructor for class proguard.classfile.constant.visitor.ConstantTagFilter
+
+
Creates a new ConstantTagFilter.
+
+
ConstantTagFilter(int, ConstantVisitor) - Constructor for class proguard.classfile.constant.visitor.ConstantTagFilter
+
+
Creates a new ConstantTagFilter.
+
+
constantValue - Variable in class proguard.classfile.kotlin.KotlinEffectExpressionMetadata
+
 
+
constantValue(Clazz, int) - Method in class proguard.evaluation.ConstantValueFactory
+
+
Returns the Value of the constant pool element at the given index.
+
+
ConstantValueAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a constant value attribute.
+
+
ConstantValueAttribute() - Constructor for class proguard.classfile.attribute.ConstantValueAttribute
+
+
Creates an uninitialized ConstantValueAttribute.
+
+
ConstantValueAttribute(int, int) - Constructor for class proguard.classfile.attribute.ConstantValueAttribute
+
+
Creates an initialized ConstantValueAttribute.
+
+
ConstantValueFactory - Class in proguard.evaluation
+
+
This class creates Value instances that correspond to specified constant pool entries.
+
+
ConstantValueFactory(ValueFactory) - Constructor for class proguard.evaluation.ConstantValueFactory
+
 
+
ConstantViewModel - Class in proguard.classfile.util.renderer
+
+
This utility class renders Constant objects into a more human-readable format.
+
+
ConstantViewModel(Clazz, Constant) - Constructor for class proguard.classfile.util.renderer.ConstantViewModel
+
+
A constructor to keep track of the Constant object to be rendered and its associated + Clazz
+
+
ConstantVisitor - Interface in proguard.classfile.constant.visitor
+
+
This interface specifies the methods for a visitor of Constant instances.
+
+
constructorArgumentAccept(Clazz, KotlinEffectExprVisitor) - Method in class proguard.classfile.kotlin.KotlinEffectMetadata
+
 
+
constructorArguments - Variable in class proguard.classfile.kotlin.KotlinEffectMetadata
+
 
+
ConstructorIntegrity - Class in proguard.util.kotlin.asserter.constraint
+
 
+
ConstructorIntegrity() - Constructor for class proguard.util.kotlin.asserter.constraint.ConstructorIntegrity
+
 
+
ConstructorMethodFilter - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates its visits to one of three delegates, depending on whether + the visited method is:
+
+
ConstructorMethodFilter(MemberVisitor) - Constructor for class proguard.classfile.visitor.ConstructorMethodFilter
+
 
+
ConstructorMethodFilter(MemberVisitor, MemberVisitor) - Constructor for class proguard.classfile.visitor.ConstructorMethodFilter
+
 
+
ConstructorMethodFilter(MemberVisitor, MemberVisitor, MemberVisitor) - Constructor for class proguard.classfile.visitor.ConstructorMethodFilter
+
 
+
constructors - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
constructorsAccept(Clazz, KotlinConstructorVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
ConstStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
ConstStmtNode(Op, int, Object) - Constructor for class proguard.dexfile.reader.node.insn.ConstStmtNode
+
 
+
contains(int) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns whether the given value is present in this list of instruction offsets.
+
+
contains(AbstractState) - Method in class proguard.analysis.cpa.defaults.AbstractWaitlist
+
 
+
contains(AbstractState) - Method in interface proguard.analysis.cpa.interfaces.Waitlist
+
+
Checks whether the abstract state is present.
+
+
contains(Clazz) - Method in class proguard.classfile.ClassPool
+
+
Checks whether the given class exists in the class pool.
+
+
contains(Stmt) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
containsFunctionCatchNode(MethodSignature, int) - Method in class proguard.analysis.cpa.jvm.cfa.JvmCfa
+
+
Returns true if the catch node of the specified method at the specified offset is present in + the graph.
+
+
containsKey(Object) - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
containsSubroutines() - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the method contains subroutines, in the CodeAttribute that was visited most + recently.
+
+
containsValue(Object) - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
content - Variable in class proguard.dexfile.reader.node.insn.Stmt2R1NNode
+
 
+
contentEquals(PrimitiveArrayConstant) - Method in class proguard.classfile.constant.PrimitiveArrayConstant
+
+
Returns whether all elements of the primitive array are equal to the elements of the given + primitive array.
+
+
contextReceivers - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
contextReceivers - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
contextReceivers - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
contextReceiverTypesAccept(Clazz, KotlinMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
contextReceiverTypesAccept(Clazz, KotlinMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
contextReceiverTypesAccept(Clazz, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
contracts - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
contractsAccept(Clazz, KotlinMetadata, KotlinContractVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
controlFlowDependent - Variable in class proguard.analysis.datastructure.callgraph.Call
+
+
If false, control flow in the calling method will always reach this call.
+
+
ControllableAbortOperator - Class in proguard.analysis.cpa.defaults
+
+
This AbortOperator allows changing its behavior by setting the boolean field ControllableAbortOperator.abort to the desired output.
+
+
ControllableAbortOperator() - Constructor for class proguard.analysis.cpa.defaults.ControllableAbortOperator
+
 
+
convert() - Method in class proguard.dexfile.converter.IR2ProConverter
+
 
+
convert(boolean, Method, DexCodeNode) - Method in class proguard.dexfile.converter.Dex2IRConverter
+
 
+
convertDex(DexFileNode, ClassVisitor) - Method in class proguard.dexfile.converter.Dex2Pro
+
+
Converts the given Dex to classes and applies the given class visitor to them.
+
+
ConvertedByteValue - Class in proguard.evaluation.value
+
+
This IntegerValue represents a byte value that is converted from an integer value.
+
+
ConvertedByteValue(IntegerValue) - Constructor for class proguard.evaluation.value.ConvertedByteValue
+
+
Creates a new converted byte value of the given integer value.
+
+
ConvertedCharacterValue - Class in proguard.evaluation.value
+
+
This IntegerValue represents a character value that is converted from an integer value.
+
+
ConvertedCharacterValue(IntegerValue) - Constructor for class proguard.evaluation.value.ConvertedCharacterValue
+
+
Creates a new converted character value of the given integer value.
+
+
ConvertedDoubleValue - Class in proguard.evaluation.value
+
+
This DoubleValue represents a double value that is converted from another scalar value.
+
+
ConvertedDoubleValue(Value) - Constructor for class proguard.evaluation.value.ConvertedDoubleValue
+
+
Creates a new converted double value of the given value.
+
+
ConvertedFloatValue - Class in proguard.evaluation.value
+
+
This FloatValue represents a float value that is converted from another scalar value.
+
+
ConvertedFloatValue(Value) - Constructor for class proguard.evaluation.value.ConvertedFloatValue
+
+
Creates a new converted float value of the given value.
+
+
ConvertedIntegerValue - Class in proguard.evaluation.value
+
+
This IntegerValue represents a integer value that is converted from another scalar value.
+
+
ConvertedIntegerValue(Value) - Constructor for class proguard.evaluation.value.ConvertedIntegerValue
+
+
Creates a new converted integer value of the given value.
+
+
ConvertedLongValue - Class in proguard.evaluation.value
+
+
This LongValue represents a long value that is converted from another scalar value.
+
+
ConvertedLongValue(Value) - Constructor for class proguard.evaluation.value.ConvertedLongValue
+
+
Creates a new converted long value of the given value.
+
+
ConvertedShortValue - Class in proguard.evaluation.value
+
+
This IntegerValue represents a short value that is converted from an integer value.
+
+
ConvertedShortValue(IntegerValue) - Constructor for class proguard.evaluation.value.ConvertedShortValue
+
+
Creates a new converted short value of the given integer value.
+
+
convertPrimitiveType(char, char) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Add instructions to convert the primitive on the stack to a different primitive type.
+
+
convertSinksToMemoryLocations(Collection<? extends JvmTaintSink>) - Static method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSink
+
+
Helper method taking a collection of sinks and converting it to a mapping that associates each + sink with the memory locations which triggers it.
+
+
convertToByte() - Method in class proguard.evaluation.value.IntegerValue
+
+
Converts this IntegerValue to a byte IntegerValue.
+
+
convertToByte() - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
convertToByte() - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
convertToByte() - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
convertToByte() - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
convertToCharacter() - Method in class proguard.evaluation.value.IntegerValue
+
+
Converts this IntegerValue to a character IntegerValue.
+
+
convertToCharacter() - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
convertToCharacter() - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
convertToCharacter() - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
convertToCharacter() - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
convertToDouble() - Method in class proguard.evaluation.value.FloatValue
+
+
Converts this FloatValue to a DoubleValue.
+
+
convertToDouble() - Method in class proguard.evaluation.value.IntegerValue
+
+
Converts this IntegerValue to a DoubleValue.
+
+
convertToDouble() - Method in class proguard.evaluation.value.LongValue
+
+
Converts this LongValue to a DoubleValue.
+
+
convertToDouble() - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
convertToDouble() - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
convertToDouble() - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
convertToDouble() - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
convertToDouble() - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
convertToDouble() - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
convertToDouble() - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
convertToDouble() - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
convertToDouble() - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
convertToDouble() - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
convertToFloat() - Method in class proguard.evaluation.value.DoubleValue
+
+
Converts this DoubleValue to a FloatValue.
+
+
convertToFloat() - Method in class proguard.evaluation.value.IntegerValue
+
+
Converts this IntegerValue to a FloatValue.
+
+
convertToFloat() - Method in class proguard.evaluation.value.LongValue
+
+
Converts this LongValue to a FloatValue.
+
+
convertToFloat() - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
convertToFloat() - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
convertToFloat() - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
convertToFloat() - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
convertToFloat() - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
convertToFloat() - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
convertToFloat() - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
convertToFloat() - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
convertToFloat() - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
convertToFloat() - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
convertToInteger() - Method in class proguard.evaluation.value.DoubleValue
+
+
Converts this DoubleValue to an IntegerValue.
+
+
convertToInteger() - Method in class proguard.evaluation.value.FloatValue
+
+
Converts this FloatValue to an IntegerValue.
+
+
convertToInteger() - Method in class proguard.evaluation.value.LongValue
+
+
Converts this LongValue to an IntegerValue.
+
+
convertToInteger() - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
convertToInteger() - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
convertToInteger() - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
convertToInteger() - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
convertToInteger() - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
convertToInteger() - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
convertToInteger() - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
convertToInteger() - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
convertToInteger() - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
convertToLong() - Method in class proguard.evaluation.value.DoubleValue
+
+
Converts this DoubleValue to a LongValue.
+
+
convertToLong() - Method in class proguard.evaluation.value.FloatValue
+
+
Converts this FloatValue to a LongValue.
+
+
convertToLong() - Method in class proguard.evaluation.value.IntegerValue
+
+
Converts this IntegerValue to a LongValue.
+
+
convertToLong() - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
convertToLong() - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
convertToLong() - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
convertToLong() - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
convertToLong() - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
convertToLong() - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
convertToLong() - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
convertToLong() - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
convertToLong() - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
convertToLong() - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
convertToShort() - Method in class proguard.evaluation.value.IntegerValue
+
+
Converts this IntegerValue to a short IntegerValue.
+
+
convertToShort() - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
convertToShort() - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
convertToShort() - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
convertToShort() - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
convertToTargetType(String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Adds the required instructions to the provided CodeAttributeComposer to convert the current + value on the stack to the given targetType.
+
+
copy() - Method in class proguard.analysis.cpa.defaults.AbstractSingleWrapperState
+
 
+
copy() - Method in class proguard.analysis.cpa.defaults.DifferentialMapAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.defaults.HashMapAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.defaults.LimitedHashMapAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.defaults.ListAbstractState
+
 
+
copy() - Method in interface proguard.analysis.cpa.defaults.MapAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.defaults.SetAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.defaults.StackAbstractState
+
 
+
copy() - Method in interface proguard.analysis.cpa.interfaces.AbstractState
+
+
Creates a copy of itself.
+
+
copy() - Method in class proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.domain.value.ValueAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.state.heap.JvmForgetfulHeapAbstractState
+
 
+
copy() - Method in interface proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
 
+
copy(BranchInstruction) - Method in class proguard.classfile.instruction.BranchInstruction
+
+
Copies the given instruction into this instruction.
+
+
copy(ConstantInstruction) - Method in class proguard.classfile.instruction.ConstantInstruction
+
+
Copies the given instruction into this instruction.
+
+
copy(LookUpSwitchInstruction) - Method in class proguard.classfile.instruction.LookUpSwitchInstruction
+
+
Copies the given instruction into this instruction.
+
+
copy(SimpleInstruction) - Method in class proguard.classfile.instruction.SimpleInstruction
+
+
Copies the given instruction into this instruction.
+
+
copy(SwitchInstruction) - Method in class proguard.classfile.instruction.SwitchInstruction
+
+
Copies the given instruction into this instruction.
+
+
copy(TableSwitchInstruction) - Method in class proguard.classfile.instruction.TableSwitchInstruction
+
+
Copies the given instruction into this instruction.
+
+
copy(VariableInstruction) - Method in class proguard.classfile.instruction.VariableInstruction
+
+
Copies the given instruction into this instruction.
+
+
copy(Value[]) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
copy(Stack) - Method in class proguard.evaluation.Stack
+
+
Copies the values of the given Stack into this Stack.
+
+
copy(TracedStack) - Method in class proguard.evaluation.TracedStack
+
 
+
COPYABLE_PROCESSING_FLAGS - Static variable in class proguard.util.ProcessingFlags
+
 
+
copyData(InputStream, OutputStream) - Method in class proguard.io.DataEntryCopier
+
+
Copies all data that it can read from the given input stream to the given output stream.
+
+
copyData(InputStream, OutputStream) - Method in class proguard.io.DataEntryRewriter
+
 
+
copyData(Reader, Writer) - Method in class proguard.io.DataEntryRewriter
+
+
Copies all data that it can read from the given reader to the given writer.
+
+
copyData(Reader, Writer) - Method in class proguard.io.ManifestRewriter
+
 
+
copyIfMutable() - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
+
Creates a deep copy of the DetailedArrayReferenceValue.
+
+
copyIfMutable() - Method in class proguard.evaluation.value.Value
+
+
Returns a deep copy of the value if it mutable, returns the value itself otherwise.
+
+
copyOperation(DexStmtNode, V) - Method in class proguard.dexfile.reader.node.analysis.DvmInterpreter
+
+
MOVE*
+
+
copyStack() - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
+
Returns a shallow copy of the call stack.
+
+
correspondingClass() - Method in class proguard.classfile.util.MemberFinder
+
+
Returns the corresponding class of the most recently found class member.
+
+
Counter - Interface in proguard.util
+
+
This provides a counter that can be retrieved.
+
+
CounterConditionalClassVisitor - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates to a given class visitor, and then, if the given predicate succeeds + with the given Counter before and after values, also to a second given class visitor.
+
+
CounterConditionalClassVisitor(Counter, BiPredicate<Integer, Integer>, ClassVisitor, ClassVisitor) - Constructor for class proguard.classfile.visitor.CounterConditionalClassVisitor
+
+
Creates a new CounterConditionalClassVisitor.
+
+
countLocalReads(IrMethod) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
counts - Static variable in class proguard.analysis.Metrics
+
 
+
cpa - Variable in class proguard.analysis.cpa.defaults.CpaRun
+
 
+
CpaAlgorithm - Class in proguard.analysis.cpa.algorithms
+
+
This is the CPA+ + Algorithm.
+
+
CpaAlgorithm(ConfigurableProgramAnalysis) - Constructor for class proguard.analysis.cpa.algorithms.CpaAlgorithm
+
+
Create an algorithm to run the specified CPA.
+
+
CpaAlgorithm(TransferRelation, MergeOperator, StopOperator, PrecisionAdjustment) - Constructor for class proguard.analysis.cpa.algorithms.CpaAlgorithm
+
+
Create a CPA algorithm from CPA components.
+
+
CpaRun<CpaT extends ConfigurableProgramAnalysis,​AbstractStateT extends AbstractState> - Class in proguard.analysis.cpa.defaults
+
+
This abstract wrapper class runs the selected ConfigurableProgramAnalysis and returns the + ReachedSet.
+
+
CpaRun() - Constructor for class proguard.analysis.cpa.defaults.CpaRun
+
 
+
CpaWithBamOperators<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> - Class in proguard.analysis.cpa.bam
+
+
A domain dependent analysis that can be wrapped with a BamCpa to be extended + inter-procedurally.
+
+
CpaWithBamOperators(AbstractDomain, ProgramLocationDependentTransferRelation<CfaNodeT, CfaEdgeT, SignatureT>, MergeOperator, StopOperator, PrecisionAdjustment, ReduceOperator<CfaNodeT, CfaEdgeT, SignatureT>, ExpandOperator<CfaNodeT, CfaEdgeT, SignatureT>, RebuildOperator) - Constructor for class proguard.analysis.cpa.bam.CpaWithBamOperators
+
+
Create a CPA with BAM operators from the abstract domain and the operators.
+
+
CpaWithBamOperators(ConfigurableProgramAnalysis, ReduceOperator<CfaNodeT, CfaEdgeT, SignatureT>, ExpandOperator<CfaNodeT, CfaEdgeT, SignatureT>, RebuildOperator) - Constructor for class proguard.analysis.cpa.bam.CpaWithBamOperators
+
+
Create a CPA with BAM operators from the intra-procedural ConfigurableProgramAnalysis + and the additional BAM operators.
+
+
create() - Static method in class proguard.evaluation.PartialEvaluator.Builder
+
 
+
create(byte) - Static method in class proguard.classfile.instruction.InstructionFactory
+
+
Creates a new Instruction corresponding to the given opcode.
+
+
create(byte[], int) - Static method in class proguard.classfile.instruction.InstructionFactory
+
+
Creates a new Instruction from the data in the byte array, starting at the given offset.
+
+
create(byte, boolean) - Static method in class proguard.classfile.instruction.InstructionFactory
+
+
Creates a new Instruction corresponding to the given opcode.
+
+
create(Object, String, Clazz) - Static method in class proguard.evaluation.value.object.AnalyzedObjectFactory
+
+
Create a AnalyzedObject, representing the tracked value for a reference type.
+
+
create(String, Clazz, boolean, IntegerValue, ValueFactory, int) - Static method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
+
If possible it will create a new array reference value with the given ID, otherwise an empty + optional is returned
+
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in class proguard.evaluation.value.ArrayReferenceValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in class proguard.evaluation.value.DetailedArrayValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in class proguard.evaluation.value.MultiTypedReferenceValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in class proguard.evaluation.value.PrimitiveTypedReferenceValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in class proguard.evaluation.value.TypedReferenceValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new ReferenceValue that represents a non-null array with elements of the given type, + with the given length.
+
+
createArrayReferenceValue(String, Clazz, IntegerValue, Object) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
+
Creates a new ReferenceValue that represents an array with elements of the given type, with the + given length and initial element values.
+
+
createArrayReferenceValue(String, Clazz, IntegerValue, Object) - Method in class proguard.evaluation.value.ArrayReferenceValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue, Object) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue, Object) - Method in class proguard.evaluation.value.DetailedArrayValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue, Object) - Method in class proguard.evaluation.value.MultiTypedReferenceValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue, Object) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue, Object) - Method in class proguard.evaluation.value.TypedReferenceValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue, Object) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new ReferenceValue that represents a non-null array with elements of the given type, + with the given length and initial element values.
+
+
createCache() - Method in class proguard.analysis.cpa.defaults.BamCpaRun
+
+
Returns a fresh BAM cache.
+
+
createCFG(IrMethod) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
createCfgWithoutEx(IrMethod) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
createClassConverter() - Method in class proguard.io.D8BasedDexDataEntryWriter
+
 
+
createClassPool(Class<?>...) - Static method in class proguard.examples.util.ExampleUtil
+
+
Create a ClassPool for the given Java Classes.
+
+
createClassVisitor() - Method in interface proguard.classfile.visitor.ParallelAllClassVisitor.ClassVisitorFactory
+
+
Creates a ClassVisitor that will be used during parallel visiting of classes in a ClassPool.
+
+
createDataEntryReader(ClassPathEntry, DataEntryReader) - Method in class proguard.io.DataEntryReaderFactory
+
+
Creates a DataEntryReader that can read the given class path entry.
+
+
createDataEntryWriter(ClassPath, int, int, DataEntryWriter) - Method in class proguard.io.DataEntryWriterFactory
+
+
Creates a DataEntryWriter that can write to the given class path entries.
+
+
createDefaultBuilderResult(ModelHelper.MethodExecutionContext, Object) - Static method in class proguard.evaluation.value.object.model.reflective.ModelHelper
+
+
Helper to create a method result containing "this", the instance a method has been called on.
+
+
createDefaultConstructorResult(ModelHelper.MethodExecutionContext, Model) - Static method in class proguard.evaluation.value.object.model.reflective.ModelHelper
+
+
Helper to create a value from a standard modeled constructor call.
+
+
createDefaultReturnResult(ModelHelper.MethodExecutionContext, Object) - Static method in class proguard.evaluation.value.object.model.reflective.ModelHelper
+
+
Helper to create a value from a standard modeled method call.
+
+
createDetailedArray(Value[], String) - Static method in class proguard.evaluation.value.object.AnalyzedObjectFactory
+
+
Create a modeled object representing a detailed array (i.e., it's model is a ArrayModel.
+
+
createDirectory(DataEntry) - Method in class proguard.io.CascadingDataEntryWriter
+
 
+
createDirectory(DataEntry) - Method in class proguard.io.ClassDataEntryWriter
+
 
+
createDirectory(DataEntry) - Method in class proguard.io.ClassMapDataEntryWriter
+
 
+
createDirectory(DataEntry) - Method in interface proguard.io.DataEntryWriter
+
+
Creates a directory.
+
+
createDirectory(DataEntry) - Method in class proguard.io.DexDataEntryWriter
+
 
+
createDirectory(DataEntry) - Method in class proguard.io.DirectoryWriter
+
 
+
createDirectory(DataEntry) - Method in class proguard.io.FilteredDataEntryWriter
+
 
+
createDirectory(DataEntry) - Method in class proguard.io.FixedFileWriter
+
 
+
createDirectory(DataEntry) - Method in class proguard.io.JarWriter
+
 
+
createDirectory(DataEntry) - Method in class proguard.io.NonClosingDataEntryWriter
+
 
+
createDirectory(DataEntry) - Method in class proguard.io.ParentDataEntryWriter
+
 
+
createDirectory(DataEntry) - Method in class proguard.io.PrefixAddingDataEntryWriter
+
 
+
createDirectory(DataEntry) - Method in class proguard.io.RenamedDataEntryWriter
+
 
+
createDirectory(DataEntry) - Method in class proguard.io.RenamedParentDataEntryWriter
+
 
+
createDirectory(DataEntry) - Method in class proguard.io.ZipWriter
+
 
+
createDirectory(DataEntry) - Method in class proguard.resources.kotlinmodule.io.KotlinModuleDataEntryWriter
+
 
+
createDoubleType() - Static method in class proguard.classfile.attribute.preverification.VerificationTypeFactory
+
+
Creates a new DoubleType.
+
+
createDoubleValue() - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createDoubleValue() - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createDoubleValue() - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createDoubleValue() - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new DoubleValue with an undefined value.
+
+
createDoubleValue(double) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createDoubleValue(double) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createDoubleValue(double) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createDoubleValue(double) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new DoubleValue with a given particular value.
+
+
createExpandOperator() - Method in class proguard.analysis.cpa.defaults.BamCpaRun
+
+
Returns the expand operator.
+
+
createExpandOperator() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun
+
 
+
createExpandOperator() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun
+
 
+
createFloatType() - Static method in class proguard.classfile.attribute.preverification.VerificationTypeFactory
+
+
Creates a new FloatType.
+
+
createFloatValue() - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createFloatValue() - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createFloatValue() - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createFloatValue() - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new FloatValue with an undefined value.
+
+
createFloatValue(float) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createFloatValue(float) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createFloatValue(float) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createFloatValue(float) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new FloatValue with a given particular value.
+
+
CreateHelloWorldClass - Class in proguard.examples
+
+
This sample application illustrates how to create a class with the ProGuardCORE API.
+
+
CreateHelloWorldClass() - Constructor for class proguard.examples.CreateHelloWorldClass
+
 
+
createIntegerType() - Static method in class proguard.classfile.attribute.preverification.VerificationTypeFactory
+
+
Creates a new IntegerType.
+
+
createIntegerValue() - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createIntegerValue() - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createIntegerValue() - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createIntegerValue() - Method in class proguard.evaluation.value.RangeValueFactory
+
 
+
createIntegerValue() - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new IntegerValue with an undefined value.
+
+
createIntegerValue(int) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createIntegerValue(int) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createIntegerValue(int) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createIntegerValue(int) - Method in class proguard.evaluation.value.RangeValueFactory
+
 
+
createIntegerValue(int) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new IntegerValue with a given particular value.
+
+
createIntegerValue(int, int) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createIntegerValue(int, int) - Method in class proguard.evaluation.value.BasicRangeValueFactory
+
 
+
createIntegerValue(int, int) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createIntegerValue(int, int) - Method in class proguard.evaluation.value.RangeValueFactory
+
 
+
createIntegerValue(int, int) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new IntegerValue with a given possible range.
+
+
createInterproceduralCfa(ClassPool) - Static method in class proguard.analysis.cpa.jvm.util.CfaUtil
+
+
Create an interprocedural CFA from the given program class pool.
+
+
createInterproceduralCfa(ClassPool, CallGraph) - Static method in class proguard.analysis.cpa.jvm.util.CfaUtil
+
+
Create an interprocedural CFA from the given program class pool and call graph.
+
+
createInterproceduralCfa(ClassPool, ClassPool) - Static method in class proguard.analysis.cpa.jvm.util.CfaUtil
+
+
Create an interprocedural CFA from the given program class pool.
+
+
createInterproceduralCfaFromClassPool(ClassPool) - Static method in class proguard.analysis.cpa.jvm.util.CfaUtil
+
+
Deprecated.
+
+
createInterproceduralCfaFromClassPool(ClassPool, ClassPool) - Static method in class proguard.analysis.cpa.jvm.util.CfaUtil
+
+
Deprecated.
+
+
createInterproceduralCfaFromClassPoolAndCallGraph(ClassPool, CallGraph) - Static method in class proguard.analysis.cpa.jvm.util.CfaUtil
+
+
Deprecated.
+
+
createIntraproceduralCfa(ClassPool) - Static method in class proguard.analysis.cpa.jvm.util.CfaUtil
+
+
Returns a CFA for the given program class pool.
+
+
createIntraproceduralCfa(ClassPool, Supplier<Boolean>) - Static method in class proguard.analysis.cpa.jvm.util.CfaUtil
+
+
Returns a CFA for the given program class pool.
+
+
createIntraproceduralCfaFromClassPool(ClassPool) - Static method in class proguard.analysis.cpa.jvm.util.CfaUtil
+
+
Deprecated.
+
+
createIntraproceduralCfaFromClassPool(ClassPool, Supplier<Boolean>) - Static method in class proguard.analysis.cpa.jvm.util.CfaUtil
+
+
Deprecated.
+
+
createIntraproceduralCPA() - Method in class proguard.analysis.cpa.defaults.BamCpaRun
+
+
Returns the intraprocedural CPA.
+
+
createIntraproceduralCPA() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun
+
 
+
createIntraproceduralCPA() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun
+
 
+
createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState<SetAbstractState<Reference>>, JvmHeapAbstractState<SetAbstractState<Reference>>, MapAbstractState<String, SetAbstractState<Reference>>) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceExpandOperator
+
 
+
createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState<SetAbstractState<Reference>>, JvmHeapAbstractState<SetAbstractState<Reference>>, MapAbstractState<String, SetAbstractState<Reference>>) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceReduceOperator
+
 
+
createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState<SetAbstractState<JvmTaintSource>>, JvmHeapAbstractState<SetAbstractState<JvmTaintSource>>, MapAbstractState<String, SetAbstractState<JvmTaintSource>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintExpandOperator
+
 
+
createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState<SetAbstractState<JvmTaintSource>>, JvmHeapAbstractState<SetAbstractState<JvmTaintSource>>, MapAbstractState<String, SetAbstractState<JvmTaintSource>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintReduceOperator
+
 
+
createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState<StateT>, JvmHeapAbstractState<StateT>, MapAbstractState<String, StateT>) - Method in interface proguard.analysis.cpa.jvm.state.JvmAbstractStateFactory
+
+
Returns an instance of JvmAbstractState.
+
+
createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState, JvmHeapAbstractState, MapAbstractState) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueExpandOperator
+
 
+
createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState, JvmHeapAbstractState, MapAbstractState) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueReduceOperator
+
 
+
createKeyMap() - Method in class proguard.util.MultiValueMap
+
 
+
createLabel() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Creates a new label that can be specified and used in the code.
+
+
createLongType() - Static method in class proguard.classfile.attribute.preverification.VerificationTypeFactory
+
+
Creates a new LongType.
+
+
createLongValue() - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createLongValue() - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createLongValue() - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createLongValue() - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new LongValue with an undefined value.
+
+
createLongValue(long) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createLongValue(long) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createLongValue(long) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createLongValue(long) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new LongValue with a given particular value.
+
+
createManifestOutputStream(DataEntry) - Method in class proguard.io.JarWriter
+
+
Creates an output stream for the specified manifest file.
+
+
createManifestOutputStream(DataEntry) - Method in class proguard.io.SignedJarWriter
+
 
+
createMapAbstractState() - Method in class proguard.analysis.cpa.state.DifferentialMapAbstractStateFactory
+
 
+
createMapAbstractState() - Method in class proguard.analysis.cpa.state.HashMapAbstractStateFactory
+
 
+
createMapAbstractState() - Method in class proguard.analysis.cpa.state.LimitedHashMapAbstractStateFactory
+
 
+
createMapAbstractState() - Method in interface proguard.analysis.cpa.state.MapAbstractStateFactory
+
+
Returns an instance of MapAbstractState.
+
+
createMatchedStringFunction(String) - Method in class proguard.util.WildcardManager
+
+
Creates new StringFunction that transforms the given expression with possible references to + wildcards, based on the list of string matchers.
+
+
createMatchedStringMatcher(int, StringMatcher) - Method in class proguard.util.WildcardManager
+
+
Creates new MatchedStringMatcher to match the the specified variable string matcher from the + list of string matchers.
+
+
createMessagePrintingClass(String, String) - Static method in class proguard.examples.CreateHelloWorldClass
+
+
Creates a HelloWorld class.
+
+
createModeled(Model) - Static method in class proguard.evaluation.value.object.AnalyzedObjectFactory
+
+
Create an object the value of which is modeled.
+
+
createNull() - Static method in class proguard.evaluation.value.object.AnalyzedObjectFactory
+
+
Create an object with unknown type and null value.
+
+
createNullOfType(String) - Static method in class proguard.evaluation.value.object.AnalyzedObjectFactory
+
+
Create an object with null value and known type.
+
+
createNullType() - Static method in class proguard.classfile.attribute.preverification.VerificationTypeFactory
+
+
Creates a new NullType.
+
+
createObjectType(int) - Static method in class proguard.classfile.attribute.preverification.VerificationTypeFactory
+
+
Creates a new ObjectType of the given type.
+
+
createOutputStream(String, boolean, int) - Method in class proguard.io.ZipOutput
+
+
Creates a new zip entry, returning an output stream to write its data.
+
+
createOutputStream(String, boolean, int, int) - Method in class proguard.io.ZipOutput
+
+
Creates a new zip entry, returning an output stream to write its data.
+
+
createOutputStream(String, boolean, int, int, byte[], String) - Method in class proguard.io.ZipOutput
+
+
Creates a new zip entry, returning an output stream to write its data.
+
+
createOutputStream(DataEntry) - Method in class proguard.io.CascadingDataEntryWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.io.ClassDataEntryWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.io.ClassMapDataEntryWriter
+
 
+
createOutputStream(DataEntry) - Method in interface proguard.io.DataEntryWriter
+
+
Creates a new output stream for writing data.
+
+
createOutputStream(DataEntry) - Method in class proguard.io.DexDataEntryWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.io.DirectoryWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.io.FilteredDataEntryWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.io.FixedFileWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.io.JarWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.io.NonClosingDataEntryWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.io.ParentDataEntryWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.io.PrefixAddingDataEntryWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.io.RenamedDataEntryWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.io.RenamedParentDataEntryWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.io.SignedJarWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.io.ZipWriter
+
 
+
createOutputStream(DataEntry) - Method in class proguard.resources.kotlinmodule.io.KotlinModuleDataEntryWriter
+
 
+
createPrecise(Object) - Static method in class proguard.evaluation.value.object.AnalyzedObjectFactory
+
+
Create a precise object wrapping the value.
+
+
createReachedSet() - Method in class proguard.analysis.cpa.defaults.CpaRun
+
+
Returns an empty ReachedSet.
+
+
createReachedSet() - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationBamCpaRun
+
 
+
createReachedSet() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun
+
 
+
createReachedSet() - Method in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun
+
 
+
createRebuildOperator() - Method in class proguard.analysis.cpa.defaults.BamCpaRun
+
+
Returns the rebuild operator.
+
+
createReduceOperator() - Method in class proguard.analysis.cpa.defaults.BamCpaRun
+
+
Returns the reduce operator.
+
+
createReduceOperator() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun
+
 
+
createReduceOperator() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun
+
 
+
createReduceOperator() - Method in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun
+
 
+
createReferenceValue() - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValue() - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createReferenceValue() - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createReferenceValue() - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new ReferenceValue of an undefined type.
+
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.value.MultiTypedReferenceValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.value.PrimitiveTypedReferenceValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.value.TypedReferenceValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new ReferenceValue that represents the given type.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
+
Deprecated.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
+
Deprecated.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.value.BasicValueFactory
+
+
Deprecated.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
+
Deprecated.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.value.ParticularValueFactory
+
+
Deprecated.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Object) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Deprecated.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmCfaReferenceValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int) - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new ReferenceValue that represents the given type, created at the specified code + location.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
+
Deprecated.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
+
Deprecated.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object) - Method in class proguard.evaluation.value.BasicValueFactory
+
+
Deprecated.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object) - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
+
Deprecated.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object) - Method in class proguard.evaluation.value.ParticularValueFactory
+
+
Deprecated.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Deprecated.
+
+
createReferenceValue(Clazz) - Method in interface proguard.evaluation.value.ValueFactory
+
 
+
createReferenceValue(Clazz, boolean, boolean, AnalyzedObject) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
 
+
createReferenceValue(Clazz, boolean, boolean, AnalyzedObject) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValue(Clazz, boolean, boolean, AnalyzedObject) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createReferenceValue(Clazz, boolean, boolean, AnalyzedObject) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createReferenceValue(Clazz, boolean, boolean, AnalyzedObject) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new ReferenceValue that represents the given type.
+
+
createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmCfaReferenceValueFactory
+
 
+
createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
 
+
createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new ReferenceValue that represents the given type, created at the specified code + location.
+
+
createReferenceValue(Clazz, AnalyzedObject) - Method in interface proguard.evaluation.value.ValueFactory
+
 
+
createReferenceValue(Clazz, Object) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Deprecated.
+
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
 
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new ReferenceValue that represents the given type with a specified ID.
+
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
+
Deprecated.
+
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
+
Deprecated.
+
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object) - Method in class proguard.evaluation.value.BasicValueFactory
+
+
Deprecated.
+
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object) - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
+
Deprecated.
+
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object) - Method in class proguard.evaluation.value.ParticularValueFactory
+
+
Deprecated.
+
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Deprecated.
+
+
createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
 
+
createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new ReferenceValue that represents the given type with a specified ID.
+
+
createReferenceValueNull() - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValueNull() - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createReferenceValueNull() - Method in class proguard.evaluation.value.MultiTypedReferenceValueFactory
+
 
+
createReferenceValueNull() - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createReferenceValueNull() - Method in class proguard.evaluation.value.PrimitiveTypedReferenceValueFactory
+
 
+
createReferenceValueNull() - Method in class proguard.evaluation.value.TypedReferenceValueFactory
+
 
+
createReferenceValueNull() - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new ReferenceValue that represents null.
+
+
createSingleReader(byte[]) - Static method in class proguard.dexfile.reader.DexReaderFactory
+
 
+
createSingleReader(InputStream) - Static method in class proguard.dexfile.reader.DexReaderFactory
+
 
+
createSingleReader(ByteBuffer) - Static method in class proguard.dexfile.reader.DexReaderFactory
+
 
+
createSourcesMap(Set<? extends JvmTaintSource>) - Static method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintCpa
+
+
Since the used data structure is a map that uses the fqn as key, which is a parameter of the + TaintSources, this method constructs the map correctly starting from a set of sources.
+
+
createTopType() - Static method in class proguard.classfile.attribute.preverification.VerificationTypeFactory
+
+
Creates a new TopType.
+
+
createUninitializedThisType() - Static method in class proguard.classfile.attribute.preverification.VerificationTypeFactory
+
+
Creates a new UninitializedThisType.
+
+
createUninitializedType(int) - Static method in class proguard.classfile.attribute.preverification.VerificationTypeFactory
+
+
Creates a new UninitializedType for an instance that was created at the given offset.
+
+
createUnknownBuilderResult(ModelHelper.MethodExecutionContext) - Static method in class proguard.evaluation.value.object.model.reflective.ModelHelper
+
+
Helper to create a method result containing "this" with unknown value.
+
+
createValue(String) - Method in class proguard.evaluation.value.InitialValueFactory
+
+
Creates an initial value (0, 0L, 0.0f, 0.0, null) of the given type.
+
+
createValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.value.MultiTypedReferenceValueFactory
+
 
+
createValue(String, Clazz, boolean, boolean) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new Value of the given type.
+
+
createValueSet() - Method in class proguard.util.MultiValueMap
+
 
+
createVariableStringMatcher(char[], char[], int, int, StringMatcher) - Method in class proguard.util.WildcardManager
+
+
Creates a new VariableStringMatcher and remembers it as a next element in the list of string + matchers, so it can be referenced by its index later.
+
+
createWaitlist() - Method in class proguard.analysis.cpa.defaults.CpaRun
+
+
Returns an empty Waitlist.
+
+
createWaitlist() - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationBamCpaRun
+
 
+
createWaitlist() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun
+
 
+
createZipOutput(OutputStream, byte[], int, boolean, String) - Method in class proguard.io.ZipWriter
+
+
Creates a zip output with the given header and parameters.
+
+
creationOffset(int) - Method in class proguard.evaluation.InitializationFinder
+
+
Returns the 'new' instruction offset at which the object instance is created that is + initialized at the given offset.
+
+
creationSite - Variable in class proguard.analysis.cpa.jvm.domain.reference.Reference
+
+
The memory location where the reference was encountered for the first time.
+
+
creationTime - Variable in class proguard.analysis.cpa.jvm.domain.reference.Reference
+
+
The program point at which the reference was created.
+
+
creator - Variable in class proguard.io.JarWriter
+
 
+
cst - Variable in class proguard.dexfile.reader.node.DexFieldNode
+
 
+
currentManifestEntry - Variable in class proguard.io.JarWriter
+
 
+
currentSize - Variable in class proguard.evaluation.Stack
+
 
+
currentZipOutput - Variable in class proguard.io.ZipWriter
+
 
+
CyclomaticComplexity - Class in proguard.examples
+
+
This sample application illustrates how to use visitors to iterate over specific instructions and + exception handlers.
+
+
CyclomaticComplexity() - Constructor for class proguard.examples.CyclomaticComplexity
+
 
+
+ + + +

D

+
+
D - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
D - Static variable in class proguard.classfile.util.DynamicClassReferenceInitializer
+
 
+
D - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
d1 - proguard.classfile.util.kotlin.KotlinMetadataType
+
 
+
d2 - proguard.classfile.util.kotlin.KotlinMetadataType
+
 
+
d2f() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
d2f() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
d2i() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
d2i() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
d2l() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
d2l() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
D8BasedDexDataEntryWriter - Class in proguard.io
+
+
An dex writer that uses the d8 tool from the Android SDK.
+
+
D8BasedDexDataEntryWriter(ClassPool, StringMatcher, ClassPath, String, boolean, int, boolean, DataEntryReader, DataEntryWriter, DataEntryWriter) - Constructor for class proguard.io.D8BasedDexDataEntryWriter
+
+
Creates a new D8BasedDexDataEntryWriter.
+
+
D8ClassConverter - Class in proguard.io
+
+
This ClassVisitor converts and collects the classes that it visits, and uses D8 to convert them + to the dex format.
+
+
D8ClassConverter(D8ClassConverter.D8DexFile) - Constructor for class proguard.io.D8ClassConverter
+
 
+
D8ClassConverter.D8DexFile - Class in proguard.io
+
 
+
D8DexFile(ClassPath, int, boolean) - Constructor for class proguard.io.D8ClassConverter.D8DexFile
+
 
+
dadd() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dadd() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
daload() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
daload() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dastore() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dastore() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
DataEntry - Interface in proguard.io
+
+
This interface describes a data entry, for exanple a ZIP entry, a file, or a directory.
+
+
DataEntryClassInfoFilter - Class in proguard.io
+
+
This DataEntryFilter filters data entries based on whether they correspond to classes in a given + class pool that have a given processing info.
+
+
DataEntryClassInfoFilter(ClassPool, Object) - Constructor for class proguard.io.DataEntryClassInfoFilter
+
+
Creates a new DataEntryClassInfoFilter.
+
+
DataEntryClassWriter - Class in proguard.io
+
+
This ClassVisitor writes out the ProgramClass instances that it visits to the + given DataEntry, modified to have the correct name.
+
+
DataEntryClassWriter(DataEntry, DataEntryWriter) - Constructor for class proguard.io.DataEntryClassWriter
+
+
Creates a new DataEntryClassWriter for writing to the given DataEntryWriter, based on the given + template DataEntry.
+
+
DataEntryClassWriter(DataEntryWriter) - Constructor for class proguard.io.DataEntryClassWriter
+
+
Creates a new DataEntryClassWriter for writing to the given DataEntryWriter.
+
+
DataEntryCopier - Class in proguard.io
+
+
This DataEntryReader writes the ZIP entries and files that it reads to a given DataEntryWriter.
+
+
DataEntryCopier(DataEntryWriter) - Constructor for class proguard.io.DataEntryCopier
+
+
Creates a new DataEntryCopier.
+
+
DataEntryDirectoryFilter - Class in proguard.io
+
+
This DataEntryFilter filters data entries based on whether they represent directories.
+
+
DataEntryDirectoryFilter() - Constructor for class proguard.io.DataEntryDirectoryFilter
+
 
+
DataEntryFilter - Interface in proguard.io
+
+
This interface provides a method to filter data entries.
+
+
DataEntryNameFilter - Class in proguard.io
+
+
This DataEntryFilter filters data entries based on whether their names match a given + StringMatcher.
+
+
DataEntryNameFilter(StringMatcher) - Constructor for class proguard.io.DataEntryNameFilter
+
+
Creates a new DataEntryNameFilter.
+
+
DataEntryParentFilter - Class in proguard.io
+
+
This DataEntryFilter delegates filtering to a DataEntryFilter for its parent.
+
+
DataEntryParentFilter(DataEntryFilter) - Constructor for class proguard.io.DataEntryParentFilter
+
+
Creates a new ParentFilter.
+
+
DataEntryReader - Interface in proguard.io
+
+
This interface provides methods for reading data entries.
+
+
DataEntryReaderFactory - Class in proguard.io
+
+
This class can create DataEntryReader instances based on class path entries.
+
+
DataEntryReaderFactory(boolean) - Constructor for class proguard.io.DataEntryReaderFactory
+
+
Creates a new DataEntryReaderFactory.
+
+
DataEntryRewriter - Class in proguard.io
+
+
This DataEntryReader writes the resource data entries that it reads to a given DataEntryWriter, updating their contents based on the renamed classes in the given ClassPool.
+
+
DataEntryRewriter(ClassPool, Charset, DataEntryWriter) - Constructor for class proguard.io.DataEntryRewriter
+
+
Creates a new DataEntryRewriter.
+
+
DataEntrySource - Interface in proguard.io
+
+
This interface provides a source for data entries.
+
+
DataEntryToken - Class in proguard.io
+
+
Represents a character sequence that is part of a DataEntry and that has a certain + meaning denoted by its DataEntryTokenType.
+
+
DataEntryToken(String, DataEntryTokenType) - Constructor for class proguard.io.DataEntryToken
+
 
+
DataEntryTokenizer - Class in proguard.io
+
+
This class breaks up the character data read from a given Reader into DataEntryTokens.
+
+
DataEntryTokenizer(Reader) - Constructor for class proguard.io.DataEntryTokenizer
+
 
+
DataEntryTokenType - Enum in proguard.io
+
+
Represents the assumed meaning of a DataEntryToken.
+
+
DataEntryWriter - Interface in proguard.io
+
+
This interface provides methods for writing data entries, such as ZIP entries or files.
+
+
DataEntryWriterFactory - Class in proguard.io
+
+
This class can create DataEntryWriter instances based on class paths.
+
+
DataEntryWriterFactory(ClassPool, ResourceFilePool, int, StringMatcher, int, boolean, boolean, KeyStore.PrivateKeyEntry[]) - Constructor for class proguard.io.DataEntryWriterFactory
+
+
Creates a new DataEntryWriterFactory.
+
+
DataEntryWriterFactory(ClassPool, ResourceFilePool, int, StringMatcher, int, boolean, boolean, KeyStore.PrivateKeyEntry[], Function<DataEntryWriter, DataEntryWriter>) - Constructor for class proguard.io.DataEntryWriterFactory
+
+
Creates a new DataEntryWriterFactory.
+
+
DataEntryWriterFactory(ClassPool, ResourceFilePool, StringMatcher, int, boolean, boolean, KeyStore.PrivateKeyEntry[], Function<DataEntryWriter, DataEntryWriter>) - Constructor for class proguard.io.DataEntryWriterFactory
+
+
Creates a new DataEntryWriterFactory.
+
+
dcmpg() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dcmpg() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
DCMPG - proguard.dexfile.ir.expr.Value.VT
+
 
+
dcmpl() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dcmpl() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
DCMPL - proguard.dexfile.ir.expr.Value.VT
+
 
+
dconst(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dconst(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dconst_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dconst_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dconst_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dconst_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ddiv() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ddiv() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
DDIV - proguard.dexfile.ir.expr.Value.VT
+
 
+
DEBUG - Static variable in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
DebugAttributeVisitor - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor delegates to a given AttributeVisitor, timing the + invocations and printing out warnings when the timings exceed a given threshold.
+
+
DebugAttributeVisitor(String, long, AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
+
Creates a new DebugAttributeVisitor.
+
+
DebugAttributeVisitor(String, AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
+
Creates a new DebugAttributeVisitor.
+
+
DebugAttributeVisitor(AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
+
Creates a new DebugAttributeVisitor.
+
+
debugName - Variable in class proguard.dexfile.ir.expr.Local
+
 
+
debugNode - Variable in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
debugNodes - Variable in class proguard.dexfile.reader.node.DexDebugNode
+
 
+
DebugPrinter - Class in proguard.evaluation.util
+
 
+
DebugPrinter(boolean, boolean) - Constructor for class proguard.evaluation.util.DebugPrinter
+
 
+
DebugStackTop - Class in proguard.examples.instrument
+
+
Example showing how to use an InstructionSequenceReplacer to add logging before a method + call which prints the value on the top of the stack i.e.
+
+
DebugStackTop() - Constructor for class proguard.examples.instrument.DebugStackTop
+
 
+
DebugStackTopExample - Class in proguard.examples.instrument
+
+
Example for DebugStackTop.
+
+
DebugStackTopExample() - Constructor for class proguard.examples.instrument.DebugStackTopExample
+
 
+
decapitializeFirstCharacterAsciiOnly(String) - Static method in class proguard.classfile.util.kotlin.KotlinStringUtil
+
 
+
decapitializeForKotlinCompiler(String) - Static method in class proguard.classfile.util.kotlin.KotlinStringUtil
+
+
Decaptialize according to the Kotlin compiler, basically first words are decapitialized.
+
+
DeclarationContainerIntegrity - Class in proguard.util.kotlin.asserter.constraint
+
 
+
DeclarationContainerIntegrity() - Constructor for class proguard.util.kotlin.asserter.constraint.DeclarationContainerIntegrity
+
 
+
decode(ByteBuffer, StringBuilder) - Static method in class proguard.dexfile.reader.util.Mutf8
+
+
Decodes bytes from in into sb until a delimiter 0x00 is encountered.
+
+
DEFAULT_DIGEST_ALGORITHM - Static variable in class proguard.io.JarWriter
+
 
+
DEFAULT_FIELD - Static variable in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
DEFAULT_IMPLEMENTATIONS_SUFFIX - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
DEFAULT_IMPLS - proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata.Flavor
+
 
+
DEFAULT_METHOD_SUFFIX - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
DEFAULT_MISSING_REF_INDICATOR - Static variable in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
defaultOffset - Variable in class proguard.classfile.instruction.SwitchInstruction
+
 
+
DefaultReachedSet - Class in proguard.analysis.cpa.defaults
+
+
This is a LinkedHashSet-based implementation of the ReachedSet.
+
+
DefaultReachedSet() - Constructor for class proguard.analysis.cpa.defaults.DefaultReachedSet
+
 
+
defaultTarget - Variable in class proguard.dexfile.ir.stmt.BaseSwitchStmt
+
 
+
defaultValue - Variable in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
defaultValue - Variable in class proguard.classfile.attribute.annotation.AnnotationDefaultAttribute
+
 
+
defaultValueAccept(Clazz, ElementValueVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationDefaultAttribute
+
+
Applies the given visitor to the default element value.
+
+
definitiveBranch(Clazz, Method, int, Instruction, TracedVariables, TracedStack, InstructionOffsetValue) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
definitiveBranch(Clazz, Method, int, Instruction, TracedVariables, TracedStack, InstructionOffsetValue) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
The instruction causes a definitive branch.
+
+
DelegateAbstractDomain<LatticeAbstractStateT extends LatticeAbstractState> - Class in proguard.analysis.cpa.defaults
+
+
This delegator passes all the AbstractDomain operators to the LatticeAbstractState.
+
+
DelegateAbstractDomain() - Constructor for class proguard.analysis.cpa.defaults.DelegateAbstractDomain
+
 
+
delegatedPropertiesAccept(Clazz, KotlinPropertyVisitor) - Method in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
deleteAnnotation(int) - Method in class proguard.classfile.editor.AnnotationsAttributeEditor
+
+
Deletes the annotation at the given idnex from the annotations attribute.
+
+
deleteAnnotation(int, int) - Method in class proguard.classfile.editor.ParameterAnnotationsAttributeEditor
+
+
Deletes the annotation at the given index from the annotations attribute.
+
+
deleteAnnotation(int, Annotation) - Method in class proguard.classfile.editor.ParameterAnnotationsAttributeEditor
+
+
Deletes a given annotation from the annotations attribute.
+
+
deleteAnnotation(Annotation) - Method in class proguard.classfile.editor.AnnotationsAttributeEditor
+
+
Deletes a given annotation from the annotations attribute.
+
+
deleteAttribute(String) - Method in class proguard.classfile.editor.AttributesEditor
+
+
Deletes the specified attribute from the target.
+
+
deleted - Variable in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
deleteElementValue(String) - Method in class proguard.classfile.editor.ElementValuesEditor
+
+
Deletes the given elementValue to the target.
+
+
deleteInstruction(int) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Remembers to delete the instruction at the given offset.
+
+
deleteInterface(int) - Method in class proguard.classfile.editor.InterfacesEditor
+
+
Deletes the given interface from the target class, if it is present.
+
+
deleteVariable(int) - Method in class proguard.classfile.editor.VariableEditor
+
+
Remembers to delete the given variable.
+
+
DEPRECATED - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
DeprecatedAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a deprecated attribute.
+
+
DeprecatedAttribute() - Constructor for class proguard.classfile.attribute.DeprecatedAttribute
+
+
Creates an uninitialized DeprecatedAttribute.
+
+
DeprecatedAttribute(int) - Constructor for class proguard.classfile.attribute.DeprecatedAttribute
+
+
Creates an initialized DeprecatedAttribute.
+
+
DepthFirstWaitlist - Class in proguard.analysis.cpa.defaults
+
+
This Waitlist pops the last element, i.e., performs a depth first traversal over the + Cfa.
+
+
DepthFirstWaitlist() - Constructor for class proguard.analysis.cpa.defaults.DepthFirstWaitlist
+
 
+
desc - Variable in class proguard.dexfile.reader.DexType
+
+
type descriptor, in TypeDescriptor format
+
+
descriptor - Variable in class proguard.classfile.FieldSignature
+
 
+
descriptor - Variable in class proguard.classfile.LibraryMember
+
 
+
descriptor - Variable in class proguard.classfile.MethodSignature
+
 
+
descriptor() - Method in annotation type proguard.evaluation.value.object.model.reflective.ModeledConstructor
+
+
The descriptor of the modeled constructor.
+
+
descriptor() - Method in annotation type proguard.evaluation.value.object.model.reflective.ModeledInstanceMethod
+
+
The descriptor of the modeled method.
+
+
descriptor() - Method in annotation type proguard.evaluation.value.object.model.reflective.ModeledStaticMethod
+
+
The descriptor of the modeled method.
+
+
DescriptorClassEnumeration - Class in proguard.classfile.util
+
+
A DescriptorClassEnumeration provides an enumeration of all classes mentioned in a given + descriptor or signature.
+
+
DescriptorClassEnumeration(String) - Constructor for class proguard.classfile.util.DescriptorClassEnumeration
+
+
Creates a new DescriptorClassEnumeration for the given descriptor.
+
+
descriptorLength(String[]) - Static method in class proguard.dexfile.reader.node.analysis.DvmFrame
+
+
Count the amount of registers corresponding to a type descriptor
+
+
DetailedArrayReferenceValue - Class in proguard.evaluation.value
+
+
This IdentifiedArrayReferenceValue represents an identified array reference value with + its elements.
+
+
DetailedArrayValueFactory - Class in proguard.evaluation.value
+
+
This identified value factory creates array reference values that also represent their elements, + in as far as possible.
+
+
DetailedArrayValueFactory() - Constructor for class proguard.evaluation.value.DetailedArrayValueFactory
+
+
Deprecated.
+
+
DetailedArrayValueFactory(ValueFactory) - Constructor for class proguard.evaluation.value.DetailedArrayValueFactory
+
+
Creates a new DetailedArrayValueFactory, which uses the given value factory for non-array + reference construction.
+
+
determineCompressionMethod(ClassPath) - Static method in class proguard.io.util.ClassPathUtil
+
+
Loop through all the input zip entries in ClassPath to determine the compression + methods.
+
+
DEX_035 - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
DEX_036 - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
DEX_037 - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
DEX_038 - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
DEX_039 - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
DEX_040 - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
DEX_041 - Static variable in interface proguard.dexfile.reader.DexConstants
+
 
+
DEX_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
DEX_FILE_EXTENSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
Dex2IRConverter - Class in proguard.dexfile.converter
+
 
+
Dex2IRConverter() - Constructor for class proguard.dexfile.converter.Dex2IRConverter
+
 
+
dex2pro - Variable in class proguard.io.ParallelDexClassReader
+
 
+
Dex2Pro - Class in proguard.dexfile.converter
+
+
This utility class converts Dex2jar dex files to ProGuard class files.
+
+
Dex2Pro() - Constructor for class proguard.dexfile.converter.Dex2Pro
+
+
Create a new (single-threaded) Dex2Pro object.
+
+
Dex2Pro(int) - Constructor for class proguard.dexfile.converter.Dex2Pro
+
+
Create a new Dex2Pro object that will use up to maximumThreads threads for conversion.
+
+
DEX2PRO_INVALID_INNER_CLASS - proguard.analysis.Metrics.MetricType
+
 
+
DEX2PRO_UNPARSEABLE_METHOD_SKIPPED - proguard.analysis.Metrics.MetricType
+
 
+
DexAnnotationAble - Interface in proguard.dexfile.reader.visitors
+
+
用于访问注解
+
+
DexAnnotationNode - Class in proguard.dexfile.reader.node
+
 
+
DexAnnotationNode(String, Visibility) - Constructor for class proguard.dexfile.reader.node.DexAnnotationNode
+
 
+
DexAnnotationNode.Item - Class in proguard.dexfile.reader.node
+
 
+
DexAnnotationVisitor - Class in proguard.dexfile.reader.visitors
+
+
A visitor to visit a Java annotation.
+
+
DexAnnotationVisitor() - Constructor for class proguard.dexfile.reader.visitors.DexAnnotationVisitor
+
 
+
DexAnnotationVisitor(DexAnnotationVisitor) - Constructor for class proguard.dexfile.reader.visitors.DexAnnotationVisitor
+
 
+
DexClassNode - Class in proguard.dexfile.reader.node
+
 
+
DexClassNode(int, String, String, String[]) - Constructor for class proguard.dexfile.reader.node.DexClassNode
+
 
+
DexClassNode(DexClassVisitor, int, String, String, String[]) - Constructor for class proguard.dexfile.reader.node.DexClassNode
+
 
+
DexClassReader - Class in proguard.io
+
+
This data entry reader reads dex files, converts their classes, and passes them to a given class + visitor.
+
+
DexClassReader(boolean, boolean, ClassVisitor) - Constructor for class proguard.io.DexClassReader
+
+
Creates a new DexClassReader.
+
+
DexClassReader(boolean, ClassVisitor) - Constructor for class proguard.io.DexClassReader
+
+
Creates a new DexClassReader.
+
+
DexClassVisitor - Class in proguard.dexfile.reader.visitors
+
 
+
DexClassVisitor() - Constructor for class proguard.dexfile.reader.visitors.DexClassVisitor
+
 
+
DexClassVisitor(DexClassVisitor) - Constructor for class proguard.dexfile.reader.visitors.DexClassVisitor
+
 
+
DexCodeNode - Class in proguard.dexfile.reader.node
+
 
+
DexCodeNode() - Constructor for class proguard.dexfile.reader.node.DexCodeNode
+
 
+
DexCodeNode(DexCodeVisitor) - Constructor for class proguard.dexfile.reader.node.DexCodeNode
+
 
+
DexCodeVisitor - Class in proguard.dexfile.reader.visitors
+
 
+
DexCodeVisitor() - Constructor for class proguard.dexfile.reader.visitors.DexCodeVisitor
+
 
+
DexCodeVisitor(DexCodeVisitor) - Constructor for class proguard.dexfile.reader.visitors.DexCodeVisitor
+
 
+
DexConstants - Interface in proguard.dexfile.reader
+
+
constants in dex file
+
+
DexContainerReader - Class in proguard.dexfile.reader
+
+
Open and read a dex container, introduced in dex format v41.
+
+
DexContainerReader(Collection<? extends BaseDexFileReader>) - Constructor for class proguard.dexfile.reader.DexContainerReader
+
 
+
dexDataEntryWriter - Variable in class proguard.io.DexDataEntryWriter
+
 
+
DexDataEntryWriter - Class in proguard.io
+
+
This DataEntryWriter finds received class entries in the given class pool, collects them in a dex + file, and writes it out to the given data entry writer.
+
+
DexDataEntryWriter(ClassPool, StringMatcher, String, boolean, DataEntryReader, DataEntryWriter, DataEntryWriter) - Constructor for class proguard.io.DexDataEntryWriter
+
+
Creates a new DexDataEntryWriter.
+
+
DexDataEntryWriterFactory - Class in proguard.io
+
+
This class can create DataEntryWriter instances for writing dex files.
+
+
DexDataEntryWriterFactory(ClassPool, ClassPath, boolean, int, int, boolean, DataEntryReader) - Constructor for class proguard.io.DexDataEntryWriterFactory
+
+
Creates a new DexDataEntryWriterFactory.
+
+
DexDebugNode - Class in proguard.dexfile.reader.node
+
 
+
DexDebugNode() - Constructor for class proguard.dexfile.reader.node.DexDebugNode
+
 
+
DexDebugNode.DexDebugOpNode - Class in proguard.dexfile.reader.node
+
 
+
DexDebugNode.DexDebugOpNode.EndLocal - Class in proguard.dexfile.reader.node
+
 
+
DexDebugNode.DexDebugOpNode.Epiogue - Class in proguard.dexfile.reader.node
+
 
+
DexDebugNode.DexDebugOpNode.LineNumber - Class in proguard.dexfile.reader.node
+
 
+
DexDebugNode.DexDebugOpNode.Prologue - Class in proguard.dexfile.reader.node
+
 
+
DexDebugNode.DexDebugOpNode.RestartLocal - Class in proguard.dexfile.reader.node
+
 
+
DexDebugNode.DexDebugOpNode.StartLocalNode - Class in proguard.dexfile.reader.node
+
 
+
DexDebugOpNode(DexLabel) - Constructor for class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode
+
 
+
DexDebugVisitor - Class in proguard.dexfile.reader.visitors
+
 
+
DexDebugVisitor() - Constructor for class proguard.dexfile.reader.visitors.DexDebugVisitor
+
 
+
DexDebugVisitor(DexDebugVisitor) - Constructor for class proguard.dexfile.reader.visitors.DexDebugVisitor
+
 
+
DexException - Exception in proguard.dexfile.reader
+
 
+
DexException() - Constructor for exception proguard.dexfile.reader.DexException
+
 
+
DexException(String) - Constructor for exception proguard.dexfile.reader.DexException
+
 
+
DexException(String, Object...) - Constructor for exception proguard.dexfile.reader.DexException
+
+
this is equals to
+
+
DexException(String, Throwable) - Constructor for exception proguard.dexfile.reader.DexException
+
 
+
DexException(Throwable) - Constructor for exception proguard.dexfile.reader.DexException
+
 
+
DexException(Throwable, String, Object...) - Constructor for exception proguard.dexfile.reader.DexException
+
+
this is equals to
+
+
DexFieldNode - Class in proguard.dexfile.reader.node
+
 
+
DexFieldNode(int, Field, Object) - Constructor for class proguard.dexfile.reader.node.DexFieldNode
+
 
+
DexFieldNode(DexFieldVisitor, int, Field, Object) - Constructor for class proguard.dexfile.reader.node.DexFieldNode
+
 
+
DexFieldVisitor - Class in proguard.dexfile.reader.visitors
+
 
+
DexFieldVisitor() - Constructor for class proguard.dexfile.reader.visitors.DexFieldVisitor
+
 
+
DexFieldVisitor(DexFieldVisitor) - Constructor for class proguard.dexfile.reader.visitors.DexFieldVisitor
+
 
+
dexFileName - Variable in class proguard.io.DexDataEntryWriter
+
 
+
DexFileNode - Class in proguard.dexfile.reader.node
+
 
+
DexFileNode() - Constructor for class proguard.dexfile.reader.node.DexFileNode
+
 
+
DexFileReader - Class in proguard.dexfile.reader
+
+
Open and read a dex file.this is the entrance of dex-reader.
+
+
DexFileReader(byte[]) - Constructor for class proguard.dexfile.reader.DexFileReader
+
 
+
DexFileReader(ByteBuffer) - Constructor for class proguard.dexfile.reader.DexFileReader
+
+
read dex from a ByteBuffer.
+
+
DexFileReader(ByteBuffer, int) - Constructor for class proguard.dexfile.reader.DexFileReader
+
+
read dex from a ByteBuffer.
+
+
DexFileVisitor - Class in proguard.dexfile.reader.visitors
+
 
+
DexFileVisitor() - Constructor for class proguard.dexfile.reader.visitors.DexFileVisitor
+
 
+
DexFileVisitor(DexFileVisitor) - Constructor for class proguard.dexfile.reader.visitors.DexFileVisitor
+
 
+
DexFix - Class in proguard.dexfile.converter
+
+
1.
+
+
DexFix() - Constructor for class proguard.dexfile.converter.DexFix
+
 
+
DexLabel - Class in proguard.dexfile.reader
+
+
a light weight version of org.objectweb.asm.Label
+
+
DexLabel() - Constructor for class proguard.dexfile.reader.DexLabel
+
 
+
DexLabel(int) - Constructor for class proguard.dexfile.reader.DexLabel
+
 
+
DexLabelStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
DexLabelStmtNode(DexLabel) - Constructor for class proguard.dexfile.reader.node.insn.DexLabelStmtNode
+
 
+
DexMethodNode - Class in proguard.dexfile.reader.node
+
 
+
DexMethodNode(int, Method) - Constructor for class proguard.dexfile.reader.node.DexMethodNode
+
 
+
DexMethodNode(DexMethodVisitor, int, Method) - Constructor for class proguard.dexfile.reader.node.DexMethodNode
+
 
+
DexMethodVisitor - Class in proguard.dexfile.reader.visitors
+
 
+
DexMethodVisitor() - Constructor for class proguard.dexfile.reader.visitors.DexMethodVisitor
+
 
+
DexMethodVisitor(DexMethodVisitor) - Constructor for class proguard.dexfile.reader.visitors.DexMethodVisitor
+
 
+
DexReaderFactory - Class in proguard.dexfile.reader
+
 
+
DexReaderFactory() - Constructor for class proguard.dexfile.reader.DexReaderFactory
+
 
+
DexStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
DexStmtNode(Op) - Constructor for class proguard.dexfile.reader.node.insn.DexStmtNode
+
 
+
DexType - Class in proguard.dexfile.reader
+
+
a light weight version of org.objectweb.asm.Type
+
+
DexType(String) - Constructor for class proguard.dexfile.reader.DexType
+
 
+
dexVersion - Variable in class proguard.dexfile.reader.node.DexFileNode
+
 
+
dfs(StmtList, Cfg.FrameVisitor<T>) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
dfsVisit(IrMethod, Cfg.DfsVisitor) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
DifferentialMap<K,​V> - Class in proguard.analysis.cpa.defaults
+
+
A differential representation of maps.
+
+
DifferentialMap() - Constructor for class proguard.analysis.cpa.defaults.DifferentialMap
+
+
Create an empty differential map.
+
+
DifferentialMap(Map<K, V>) - Constructor for class proguard.analysis.cpa.defaults.DifferentialMap
+
+
Create a differential map from another map.
+
+
DifferentialMap(Map<K, V>, Predicate<DifferentialMap<K, V>>) - Constructor for class proguard.analysis.cpa.defaults.DifferentialMap
+
+
Create a differential map from another map and a collapse criterion.
+
+
DifferentialMapAbstractState<KeyT,​AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>> - Class in proguard.analysis.cpa.defaults
+
+
This DifferentialMapAbstractState represents a map to LatticeAbstractStates with + the semilattice operators lifted to the map.
+
+
DifferentialMapAbstractState() - Constructor for class proguard.analysis.cpa.defaults.DifferentialMapAbstractState
+
 
+
DifferentialMapAbstractState(Predicate<DifferentialMap<KeyT, AbstractSpaceT>>) - Constructor for class proguard.analysis.cpa.defaults.DifferentialMapAbstractState
+
 
+
DifferentialMapAbstractState(Map<KeyT, AbstractSpaceT>) - Constructor for class proguard.analysis.cpa.defaults.DifferentialMapAbstractState
+
 
+
DifferentialMapAbstractStateFactory<KeyT,​StateT extends LatticeAbstractState<StateT>> - Class in proguard.analysis.cpa.state
+
+
This interface contains a method creating a fresh instance of DifferentialMapAbstractState.
+
+
DifferentialMapAbstractStateFactory(Predicate<DifferentialMap<KeyT, StateT>>) - Constructor for class proguard.analysis.cpa.state.DifferentialMapAbstractStateFactory
+
+
Create a differential map abstract state factory.
+
+
digestAlgorithms - Variable in class proguard.io.JarWriter
+
 
+
dimension - Variable in class proguard.dexfile.ir.expr.NewMutiArrayExpr
+
+
the dimension of the array,
+
+
DirectoryFilter - Class in proguard.io
+
+
This DataEntryReader delegates to one of two other DataEntryReader instances, + depending on whether the data entry represents a directory or not.
+
+
DirectoryFilter(DataEntryReader) - Constructor for class proguard.io.DirectoryFilter
+
+
Creates a new ClassFilter that delegates reading directories to the given reader.
+
+
DirectoryFilter(DataEntryReader, DataEntryReader) - Constructor for class proguard.io.DirectoryFilter
+
+
Creates a new ClassFilter that delegates to either of the two given readers.
+
+
DirectorySource - Class in proguard.io
+
+
This DataEntrySource can read a given file or directory, recursively, passing its files as DataEntry instances to DataEntryReader instances.
+
+
DirectorySource(File) - Constructor for class proguard.io.DirectorySource
+
+
Creates a new DirectorySource for the given directory.
+
+
DirectoryWriter - Class in proguard.io
+
+
This DataEntryWriter writes data entries to individual files in a given directory.
+
+
DirectoryWriter(File) - Constructor for class proguard.io.DirectoryWriter
+
+
Creates a new DirectoryWriter.
+
+
disablePrettyPrinting() - Method in class proguard.evaluation.PartialEvaluator.Builder
+
+
Disable pretty printing of errors.
+
+
displayName - Variable in class proguard.dexfile.ir.stmt.LabelStmt
+
 
+
displayName - Variable in enum proguard.dexfile.reader.Op
+
 
+
displayName() - Method in enum proguard.dexfile.reader.Visibility
+
 
+
distReg - Variable in class proguard.dexfile.reader.node.insn.Stmt2R1NNode
+
 
+
DIV_DOUBLE - proguard.dexfile.reader.Op
+
 
+
DIV_DOUBLE_2ADDR - proguard.dexfile.reader.Op
+
 
+
DIV_FLOAT - proguard.dexfile.reader.Op
+
 
+
DIV_FLOAT_2ADDR - proguard.dexfile.reader.Op
+
 
+
DIV_INT - proguard.dexfile.reader.Op
+
 
+
DIV_INT_2ADDR - proguard.dexfile.reader.Op
+
 
+
DIV_INT_LIT16 - proguard.dexfile.reader.Op
+
 
+
DIV_INT_LIT8 - proguard.dexfile.reader.Op
+
 
+
DIV_LONG - proguard.dexfile.reader.Op
+
 
+
DIV_LONG_2ADDR - proguard.dexfile.reader.Op
+
 
+
divide(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the quotient of this DoubleValue and the given DoubleValue.
+
+
divide(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
divide(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
divide(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
divide(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the quotient of this FloatValue and the given FloatValue.
+
+
divide(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
divide(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
divide(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
divide(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of this IntegerValue and the given IntegerValue.
+
+
divide(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
divide(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
divide(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
divide(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
divide(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the quotient of this LongValue and the given LongValue.
+
+
divide(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
divide(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
divide(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
divide(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the quotient of this DoubleValue and the given ParticularDoubleValue.
+
+
divide(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
divide(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the quotient of this FloatValue and the given ParticularFloatValue.
+
+
divide(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
divide(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of this IntegerValue and the given ParticularIntegerValue.
+
+
divide(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
divide(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
divide(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the quotient of this LongValue and the given ParticularLongValue.
+
+
divide(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
divide(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of this IntegerValue and the given RangeIntegerValue.
+
+
divide(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
divide(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
divide(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
divide(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the quotient of this DoubleValue and the given SpecificDoubleValue.
+
+
divide(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
divide(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the quotient of this FloatValue and the given SpecificFloatValue.
+
+
divide(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
divide(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of this IntegerValue and the given SpecificIntegerValue.
+
+
divide(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
divide(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the quotient of this LongValue and the given SpecificLongValue.
+
+
divide(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
divide(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of this IntegerValue and the given UnknownIntegerValue.
+
+
DIVIDE - Static variable in class proguard.evaluation.value.CompositeDoubleValue
+
 
+
DIVIDE - Static variable in class proguard.evaluation.value.CompositeFloatValue
+
 
+
DIVIDE - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
DIVIDE - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
divideOf(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the quotient of the given DoubleValue and this DoubleValue.
+
+
divideOf(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
divideOf(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
divideOf(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
divideOf(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the quotient of the given FloatValue and this FloatValue.
+
+
divideOf(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
divideOf(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
divideOf(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
divideOf(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of the given IntegerValue and this IntegerValue.
+
+
divideOf(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
divideOf(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
divideOf(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
divideOf(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
divideOf(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the quotient of the given LongValue and this LongValue.
+
+
divideOf(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
divideOf(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
divideOf(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
divideOf(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the quotient of the given ParticularDoubleValue and this DoubleValue.
+
+
divideOf(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
divideOf(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the quotient of the given ParticularFloatValue and this FloatValue.
+
+
divideOf(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
divideOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of the given ParticularIntegerValue and this IntegerValue.
+
+
divideOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
divideOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
divideOf(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the quotient of the given ParticularLongValue and this LongValue.
+
+
divideOf(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
divideOf(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of the given RangeIntegerValue and this IntegerValue.
+
+
divideOf(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
divideOf(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
divideOf(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
divideOf(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the quotient of the given SpecificDoubleValue and this DoubleValue.
+
+
divideOf(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
divideOf(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the quotient of the given SpecificFloatValue and this FloatValue.
+
+
divideOf(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
divideOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of the given SpecificIntegerValue and this IntegerValue.
+
+
divideOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
divideOf(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the quotient of the given SpecificLongValue and this LongValue.
+
+
divideOf(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
divideOf(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of the given UnknownIntegerValue and this IntegerValue.
+
+
dload(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dload(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dload(int) - Method in class proguard.evaluation.Variables
+
+
Loads the DoubleValue from the variable with the given index.
+
+
dload_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dload_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dload_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dload_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dload_2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dload_2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dload_3() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dload_3() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dmul() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dmul() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dneg() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dneg() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dominates(int, int) - Method in class proguard.analysis.DominatorCalculator
+
+
Check if one instruction dominates another one.
+
+
DominatorCalculator - Class in proguard.analysis
+
+
Calculate the dominator tree of any method, making it possible to determine which instructions + are guaranteed to be executed before others.
+
+
DominatorCalculator() - Constructor for class proguard.analysis.DominatorCalculator
+
+
Creates a new DominatorCalculator.
+
+
DominatorCalculator(boolean) - Constructor for class proguard.analysis.DominatorCalculator
+
+
Creates a new DominatorCalculator.
+
+
DONT_OBFUSCATE - Static variable in class proguard.util.ProcessingFlags
+
 
+
DONT_OPTIMIZE - Static variable in class proguard.util.ProcessingFlags
+
 
+
DONT_OPTIMIZE_OR_OBFUSCATE - Static variable in class proguard.util.ProcessingFlags
+
 
+
DONT_PROCESS_KOTLIN_MODULE - Static variable in class proguard.util.ProcessingFlags
+
 
+
DONT_SHRINK - Static variable in class proguard.util.ProcessingFlags
+
 
+
DONT_SHRINK_OR_OBFUSCATE - Static variable in class proguard.util.ProcessingFlags
+
 
+
DONT_SHRINK_OR_OPTIMIZE - Static variable in class proguard.util.ProcessingFlags
+
 
+
DONT_SHRINK_OR_OPTIMIZE_OR_OBFUSCATE - Static variable in class proguard.util.ProcessingFlags
+
 
+
DotClassClassVisitor - Class in proguard.classfile.visitor
+
+
This InstructionVisitor lets a given ClassVisitor visit all classes involved in + any .class constructs that it visits.
+
+
DotClassClassVisitor(ClassVisitor) - Constructor for class proguard.classfile.visitor.DotClassClassVisitor
+
+
Creates a new ClassHierarchyTraveler.
+
+
DOUBLE - proguard.dexfile.ir.TypeClass
+
 
+
DOUBLE - Static variable in class proguard.classfile.constant.Constant
+
 
+
DOUBLE - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
DOUBLE - Static variable in class proguard.classfile.TypeConstants
+
 
+
DOUBLE_A_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
DOUBLE_B_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
DOUBLE_TO_FLOAT - proguard.dexfile.reader.Op
+
 
+
DOUBLE_TO_INT - proguard.dexfile.reader.Op
+
 
+
DOUBLE_TO_LONG - proguard.dexfile.reader.Op
+
 
+
DOUBLE_TYPE - Static variable in class proguard.classfile.attribute.preverification.VerificationType
+
 
+
DOUBLE_VALUE - Static variable in class proguard.evaluation.value.BasicValueFactory
+
 
+
doubleArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
doubleArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the value of the array at the given index, assuming this type is an double array.
+
+
doubleArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
doubleArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
DoubleConstant - Class in proguard.classfile.constant
+
+
This Constant represents a double constant in the constant pool.
+
+
DoubleConstant() - Constructor for class proguard.classfile.constant.DoubleConstant
+
+
Creates an uninitialized DoubleConstant.
+
+
DoubleConstant(double) - Constructor for class proguard.classfile.constant.DoubleConstant
+
+
Creates a new DoubleConstant with the given double value.
+
+
DoubleType - Class in proguard.classfile.attribute.preverification
+
+
This VerificationType represents a Double type.
+
+
DoubleType() - Constructor for class proguard.classfile.attribute.preverification.DoubleType
+
 
+
doubleValue() - Method in class proguard.evaluation.value.DoubleValue
+
 
+
doubleValue() - Method in class proguard.evaluation.value.TracingValue
+
 
+
doubleValue() - Method in class proguard.evaluation.value.Value
+
+
Returns this Value as a DoubleValue.
+
+
DoubleValue - Class in proguard.evaluation.value
+
+
Representation of a partially evaluated double value.
+
+
DoubleValue() - Constructor for class proguard.evaluation.value.DoubleValue
+
 
+
DoubleValue(double) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.DoubleValue
+
 
+
dpop() - Method in class proguard.evaluation.Stack
+
+
Pops the top DoubleValue from the stack.
+
+
drem() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
drem() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dreturn() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dreturn() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dstore(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dstore(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dstore_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dstore_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dstore_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dstore_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dstore_2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dstore_2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dstore_3() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dstore_3() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dsub() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dsub() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dummyClassPool - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
DummyDataEntry - Class in proguard.io
+
+
This DataEntry represents a named output entry that doesn't return an input stream.
+
+
DummyDataEntry(DataEntry, String, long, boolean) - Constructor for class proguard.io.DummyDataEntry
+
+
Creates a new NamedDataEntry with the given name, parent, and size.
+
+
dup() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dup() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dup() - Method in class proguard.evaluation.Stack
+
+
Duplicates the top Category 1 value.
+
+
dup() - Method in class proguard.evaluation.TracedStack
+
 
+
dup_x1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dup_x1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dup_x1() - Method in class proguard.evaluation.Stack
+
+
Duplicates the top Category 1 value, one Category 1 element down the stack.
+
+
dup_x1() - Method in class proguard.evaluation.TracedStack
+
 
+
dup_x2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dup_x2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dup_x2() - Method in class proguard.evaluation.Stack
+
+
Duplicates the top Category 1 value, two Category 1 elements (or one Category 2 element) down + the stack.
+
+
dup_x2() - Method in class proguard.evaluation.TracedStack
+
 
+
dup2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dup2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dup2() - Method in class proguard.evaluation.Stack
+
+
Duplicates the top Category 2 value (or alternatively, the equivalent Category 1 stack + elements).
+
+
dup2() - Method in class proguard.evaluation.TracedStack
+
 
+
dup2_x1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dup2_x1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dup2_x1() - Method in class proguard.evaluation.Stack
+
+
Duplicates the top Category 2 value, one Category 1 element down the stack (or alternatively, + the equivalent Category 1 stack values).
+
+
dup2_x1() - Method in class proguard.evaluation.TracedStack
+
 
+
dup2_x2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dup2_x2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
dup2_x2() - Method in class proguard.evaluation.Stack
+
+
Duplicates the top Category 2 value, one Category 2 stack element down the stack (or + alternatively, the equivalent Category 1 stack values).
+
+
dup2_x2() - Method in class proguard.evaluation.TracedStack
+
 
+
DvmFrame<V> - Class in proguard.dexfile.reader.node.analysis
+
 
+
DvmFrame(int) - Constructor for class proguard.dexfile.reader.node.analysis.DvmFrame
+
 
+
DvmInterpreter<V> - Class in proguard.dexfile.reader.node.analysis
+
 
+
DvmInterpreter() - Constructor for class proguard.dexfile.reader.node.analysis.DvmInterpreter
+
 
+
DYNAMIC - Static variable in class proguard.classfile.constant.Constant
+
 
+
DynamicClassReferenceInitializer - Class in proguard.classfile.util
+
+
This InstructionVisitor initializes any constant Class.forName or + .class references of all classes it visits.
+
+
DynamicClassReferenceInitializer(ClassPool, ClassPool, WarningPrinter, WarningPrinter, WarningPrinter, StringMatcher) - Constructor for class proguard.classfile.util.DynamicClassReferenceInitializer
+
+
Creates a new DynamicClassReferenceInitializer that optionally prints warnings and notes, with + optional class specifications for which never to print notes.
+
+
DynamicClassReferenceInitializer(ClassPool, ClassPool, WarningPrinter, WarningPrinter, WarningPrinter, StringMatcher, ClassVisitor) - Constructor for class proguard.classfile.util.DynamicClassReferenceInitializer
+
+
Creates a new DynamicClassReferenceInitializer that optionally prints warnings and notes, with + optional class specifications for which never to print notes.
+
+
DynamicConstant - Class in proguard.classfile.constant
+
+
This Constant represents a dynamic constant in the constant pool.
+
+
DynamicConstant() - Constructor for class proguard.classfile.constant.DynamicConstant
+
+
Creates an uninitialized InvokeDynamicConstant.
+
+
DynamicConstant(int, int, Clazz[]) - Constructor for class proguard.classfile.constant.DynamicConstant
+
+
Creates a new InvokeDynamicConstant with the given bootstrap method and name-and-type indices.
+
+
DynamicMemberReferenceInitializer - Class in proguard.classfile.util
+
+
This AttributeVisitor initializes any constant class member references of all code that + it visits.
+
+
DynamicMemberReferenceInitializer(ClassPool, ClassPool, WarningPrinter, StringMatcher, StringMatcher) - Constructor for class proguard.classfile.util.DynamicMemberReferenceInitializer
+
+
Creates a new DynamicMemberReferenceInitializer.
+
+
DynamicMemberReferenceInitializer(ClassPool, ClassPool, WarningPrinter, StringMatcher, StringMatcher, MemberVisitor) - Constructor for class proguard.classfile.util.DynamicMemberReferenceInitializer
+
+
Creates a new DynamicMemberReferenceInitializer.
+
+
DynamicReturnedClassVisitor - Class in proguard.classfile.visitor
+
+
This ConstantVisitor lets a given ClassVisitor visit all the referenced classes + that are returned by the dynamic constants and invoke dynamic constants that it visits.
+
+
DynamicReturnedClassVisitor(ClassVisitor) - Constructor for class proguard.classfile.visitor.DynamicReturnedClassVisitor
+
 
+
+ + + +

E

+
+
E - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
E - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
E0 - proguard.dexfile.ir.ET
+
+
no argument
+
+
E0Expr(Value.VT) - Constructor for class proguard.dexfile.ir.expr.Value.E0Expr
+
 
+
E0Stmt(Stmt.ST) - Constructor for class proguard.dexfile.ir.stmt.Stmt.E0Stmt
+
 
+
E1 - proguard.dexfile.ir.ET
+
+
1 argument
+
+
E1Expr(Value.VT, Value) - Constructor for class proguard.dexfile.ir.expr.Value.E1Expr
+
 
+
E1Stmt(Stmt.ST, Value) - Constructor for class proguard.dexfile.ir.stmt.Stmt.E1Stmt
+
 
+
E2 - proguard.dexfile.ir.ET
+
+
2 argument
+
+
E2Expr(Value.VT, Value, Value) - Constructor for class proguard.dexfile.ir.expr.Value.E2Expr
+
 
+
E2Stmt(Stmt.ST, Value, Value) - Constructor for class proguard.dexfile.ir.stmt.Stmt.E2Stmt
+
 
+
EditClass - Class in proguard.examples.modify
+
+
Example showing how to use the PeepholeEditor with a BranchTargetFinder and a + CodeAttributeEditor to add code before and after branches.
+
+
EditClass() - Constructor for class proguard.examples.modify.EditClass
+
 
+
effects - Variable in class proguard.classfile.kotlin.KotlinContractMetadata
+
 
+
effectsAccept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinEffectVisitor) - Method in class proguard.classfile.kotlin.KotlinContractMetadata
+
 
+
effectType - Variable in class proguard.classfile.kotlin.KotlinEffectMetadata
+
 
+
elements - Variable in class proguard.classfile.kotlin.KotlinAnnotationArgument.ArrayValue
+
 
+
elementsAccept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.ArrayValue
+
 
+
elementType - Variable in class proguard.dexfile.ir.expr.ArrayExpr
+
 
+
ElementValue - Class in proguard.classfile.attribute.annotation
+
+
This abstract class represents an element value that is attached to an annotation or an + annotation default.
+
+
ElementValue() - Constructor for class proguard.classfile.attribute.annotation.ElementValue
+
+
Creates an uninitialized ElementValue.
+
+
ElementValue(int) - Constructor for class proguard.classfile.attribute.annotation.ElementValue
+
+
Creates an initialized ElementValue.
+
+
elementValueAccept(Clazz, int, ElementValueVisitor) - Method in class proguard.classfile.attribute.annotation.Annotation
+
+
Applies the given visitor to the specified element value pair.
+
+
elementValueAccept(Clazz, Annotation, int, ElementValueVisitor) - Method in class proguard.classfile.attribute.annotation.ArrayElementValue
+
+
Applies the given visitor to the specified nested element value.
+
+
ElementValueAdder - Class in proguard.classfile.editor
+
+
This ElementValueVisitor adds all element values that it visits to the given target + annotation default attribute, annotation, or element value.
+
+
ElementValueAdder(ProgramClass, AnnotationDefaultAttribute, boolean) - Constructor for class proguard.classfile.editor.ElementValueAdder
+
+
Creates a new ElementValueAdder that will copy element values into the given target annotation + default attribute value.
+
+
ElementValueAdder(ProgramClass, Annotation, boolean) - Constructor for class proguard.classfile.editor.ElementValueAdder
+
+
Creates a new ElementValueAdder that will copy element values into the given target annotation.
+
+
ElementValueAdder(ProgramClass, ArrayElementValue, boolean) - Constructor for class proguard.classfile.editor.ElementValueAdder
+
+
Creates a new ElementValueAdder that will copy element values into the given target element + value.
+
+
elementValues - Variable in class proguard.classfile.attribute.annotation.Annotation
+
 
+
elementValues - Variable in class proguard.classfile.attribute.annotation.ArrayElementValue
+
 
+
elementValuesAccept(Clazz, Annotation, ElementValueVisitor) - Method in class proguard.classfile.attribute.annotation.ArrayElementValue
+
+
Applies the given visitor to all nested element values.
+
+
elementValuesAccept(Clazz, ElementValueVisitor) - Method in class proguard.classfile.attribute.annotation.Annotation
+
+
Applies the given visitor to all element value pairs.
+
+
ElementValuesEditor - Class in proguard.classfile.editor
+
+
This class can add and delete element values to and from a given target annotation default + attribute, annotation, or array element value.
+
+
ElementValuesEditor(ProgramClass, Annotation, boolean) - Constructor for class proguard.classfile.editor.ElementValuesEditor
+
+
Creates a new ElementValuesEditor that will edit element values in the given target annotation.
+
+
ElementValuesEditor(ProgramClass, ArrayElementValue, boolean) - Constructor for class proguard.classfile.editor.ElementValuesEditor
+
+
Creates a new ElementValuesEditor that will edit element values in the given target array + element value.
+
+
ElementValueVisitor - Interface in proguard.classfile.attribute.annotation.visitor
+
+
This interface specifies the methods for a visitor of ElementValue instances.
+
+
EMPTY_CODE_ATTRIBUTE - Static variable in class proguard.exception.ErrorId
+
 
+
EMPTY_VALUE - Static variable in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
EmptyCodeAttributeException - Exception in proguard.evaluation.exception
+
 
+
EmptyCodeAttributeException(String) - Constructor for exception proguard.evaluation.exception.EmptyCodeAttributeException
+
 
+
EmptyStringMatcher - Class in proguard.util
+
+
This StringMatcher tests whether strings are empty.
+
+
EmptyStringMatcher() - Constructor for class proguard.util.EmptyStringMatcher
+
 
+
EmptyTargetInfo - Class in proguard.classfile.attribute.annotation.target
+
+
Representation of an empty annotation target.
+
+
EmptyTargetInfo() - Constructor for class proguard.classfile.attribute.annotation.target.EmptyTargetInfo
+
+
Creates an uninitialized EmptyTargetInfo.
+
+
EmptyTargetInfo(byte) - Constructor for class proguard.classfile.attribute.annotation.target.EmptyTargetInfo
+
+
Creates an initialized EmptyTargetInfo.
+
+
En - proguard.dexfile.ir.ET
+
+
3+ argument
+
+
ENABLE_NEW_EXCEPTIONS - Static variable in class proguard.evaluation.PartialEvaluator
+
+
Enables new exceptions to be thrown during evaluation.
+
+
enableSameInstanceIdApproximation - Variable in class proguard.evaluation.ExecutingInvocationUnit.Builder
+
 
+
ENCLOSING_METHOD - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
EnclosingMethodAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents an enclosing method attribute.
+
+
EnclosingMethodAttribute() - Constructor for class proguard.classfile.attribute.EnclosingMethodAttribute
+
+
Creates an uninitialized EnclosingMethodAttribute.
+
+
EnclosingMethodAttribute(int, int, int) - Constructor for class proguard.classfile.attribute.EnclosingMethodAttribute
+
+
Creates an initialized EnclosingMethodAttribute.
+
+
encode(byte[]) - Static method in class proguard.util.Base64Util
+
+
Encodes the given array of bytes as a Base64 string.
+
+
encode(byte[], int, String) - Static method in class proguard.dexfile.reader.util.Mutf8
+
+
Encodes the modified UTF-8 bytes corresponding to s into dst, starting at + offset.
+
+
encode(String) - Static method in class proguard.dexfile.reader.util.Mutf8
+
+
Returns an array containing the modified UTF-8 form of s.
+
+
end - Variable in class proguard.dexfile.ir.LocalVar
+
 
+
end - Variable in class proguard.dexfile.ir.Trap
+
 
+
end - Variable in class proguard.dexfile.reader.node.TryCatchNode
+
 
+
endCodeFragment() - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Wraps up the current code fragment, continuing with the previous one on the stack.
+
+
endCodeFragment() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Wraps up the current code fragment, continuing with the previous one on the stack.
+
+
EndLocal(DexLabel, int) - Constructor for class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.EndLocal
+
 
+
endSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
endSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int) - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
endSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
The evaluation and generalization of the subroutine is done, the partial evaluator moves on.
+
+
EnExpr(Value.VT, Value[]) - Constructor for class proguard.dexfile.ir.expr.Value.EnExpr
+
 
+
ensureArraySize(boolean[], int, boolean) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
ensureArraySize(byte[], int, byte) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
ensureArraySize(char[], int, char) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
ensureArraySize(double[], int, double) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
ensureArraySize(float[], int, float) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
ensureArraySize(int[], int, int) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
ensureArraySize(long[], int, long) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
ensureArraySize(short[], int, short) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
ensureArraySize(T[], int, T) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
enterExceptionHandler(Clazz, Method, CodeAttribute, int, int, Stack) - Method in interface proguard.evaluation.InvocationUnit
+
+
Sets up the given stack for entering the given exception handler.
+
+
enterExceptionHandler(Clazz, Method, CodeAttribute, int, int, Stack) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
 
+
enterExceptionHandler(Clazz, Method, CodeAttribute, int, int, Stack) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
enterMethod(Clazz, Method, Variables) - Method in interface proguard.evaluation.InvocationUnit
+
+
Sets up the given variables for entering the given method.
+
+
enterMethod(Clazz, Method, Variables) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
ENTRY_NODE_OFFSET - Static variable in class proguard.analysis.DominatorCalculator
+
+
Virtual instruction offset modelling the method entry.
+
+
entrySet() - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
entrySet() - Method in class proguard.util.MultiValueMap
+
 
+
ENUM - Static variable in class proguard.classfile.AccessConstants
+
 
+
ENUM - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
EnumConstantElementValue - Class in proguard.classfile.attribute.annotation
+
+
This ElementValue represents an enumeration constant element value.
+
+
EnumConstantElementValue() - Constructor for class proguard.classfile.attribute.annotation.EnumConstantElementValue
+
+
Creates an uninitialized EnumConstantElementValue.
+
+
EnumConstantElementValue(int, int, int) - Constructor for class proguard.classfile.attribute.annotation.EnumConstantElementValue
+
+
Creates an initialized EnumConstantElementValue.
+
+
enumEntryName - Variable in class proguard.classfile.kotlin.KotlinAnnotationArgument.EnumValue
+
 
+
enumEntryNames - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
EnumFieldReferenceInitializer - Class in proguard.classfile.util
+
+
This ElementValueVisitor initializes the field references of the EnumConstantElementValue instances that it visits.
+
+
EnumFieldReferenceInitializer() - Constructor for class proguard.classfile.util.EnumFieldReferenceInitializer
+
 
+
EnumValue(String, String) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.EnumValue
+
 
+
Epiogue(DexLabel) - Constructor for class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.Epiogue
+
 
+
EQ - proguard.dexfile.ir.expr.Value.VT
+
 
+
equal(boolean[], boolean[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns whether the elements of the two given arrays are the same.
+
+
equal(byte[], byte[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns whether the elements of the two given arrays are the same.
+
+
equal(char[], char[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns whether the elements of the two given arrays are the same.
+
+
equal(double[], double[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns whether the elements of the two given arrays are the same.
+
+
equal(float[], float[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns whether the elements of the two given arrays are the same.
+
+
equal(int[], int[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns whether the elements of the two given arrays are the same.
+
+
equal(long[], long[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns whether the elements of the two given arrays are the same.
+
+
equal(short[], short[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns whether the elements of the two given arrays are the same.
+
+
equal(Object[], Object[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns whether the elements of the two given arrays are the same.
+
+
equal(Object, Object) - Static method in class proguard.util.ObjectUtil
+
+
Returns whether the given objects are the same.
+
+
equal(ArrayReferenceValue) - Method in class proguard.evaluation.value.ArrayReferenceValue
+
 
+
equal(ArrayReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other ArrayReferenceValue.
+
+
equal(ArrayReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(DetailedArrayReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other DetailedArrayReferenceValue.
+
+
equal(DetailedArrayReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(IdentifiedArrayReferenceValue) - Method in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
equal(IdentifiedArrayReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other IdentifiedArrayReferenceValue.
+
+
equal(IdentifiedArrayReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(IdentifiedReferenceValue) - Method in class proguard.evaluation.value.IdentifiedReferenceValue
+
 
+
equal(IdentifiedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other IdentifiedReferenceValue.
+
+
equal(IdentifiedReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given IntegerValue are equal: NEVER, + MAYBE, or ALWAYS.
+
+
equal(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
equal(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
equal(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
equal(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
equal(MultiTypedReferenceValue) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
equal(MultiTypedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other MultiTypedReferenceValue.
+
+
equal(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given ParticularIntegerValue are equal: NEVER + , MAYBE, or ALWAYS.
+
+
equal(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
equal(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
equal(ParticularReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other ParticularReferenceValue.
+
+
equal(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given RangeIntegerValue are equal: NEVER + , MAYBE, or ALWAYS.
+
+
equal(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
equal(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
equal(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.ArrayReferenceValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.IdentifiedReferenceValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other ReferenceValue.
+
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.UnknownReferenceValue
+
 
+
equal(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given SpecificIntegerValue are equal: NEVER + , MAYBE, or ALWAYS.
+
+
equal(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
equal(TracedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other TracedReferenceValue.
+
+
equal(TracedReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(TypedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other TypedReferenceValue.
+
+
equal(TypedReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(TypedReferenceValue) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
equal(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given UnknownIntegerValue are equal: NEVER + , MAYBE, or ALWAYS.
+
+
equal(UnknownReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other UnknownReferenceValue.
+
+
equal(UnknownReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equalOrNull(Object[], Object[]) - Static method in class proguard.util.ArrayUtil
+
+
Returns whether the elements of the two given arrays are the same, or both arrays are null.
+
+
equalOrNull(Object[], Object[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns whether the elements of the two given arrays are the same, or both arrays are null.
+
+
equals(Object) - Method in class proguard.analysis.cpa.defaults.AbstractWrapperState
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.domain.taint.TaintSink
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.domain.taint.TaintSource
+
 
+
equals(Object) - Method in interface proguard.analysis.cpa.interfaces.AbstractState
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState.StackEntry
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.domain.reference.Reference
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmReturnTaintSink
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSink
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSource
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.domain.value.ValueAbstractState
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.state.heap.JvmForgetfulHeapAbstractState
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.witness.JvmHeapLocation
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.witness.JvmLocalVariableLocation
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.witness.JvmMemoryLocation
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.witness.JvmStackLocation
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.witness.JvmStaticFieldLocation
+
 
+
equals(Object) - Method in class proguard.analysis.datastructure.callgraph.Call
+
 
+
equals(Object) - Method in class proguard.analysis.datastructure.callgraph.ConcreteCall
+
 
+
equals(Object) - Method in class proguard.analysis.datastructure.callgraph.Node
+
 
+
equals(Object) - Method in class proguard.analysis.datastructure.callgraph.SymbolicCall
+
 
+
equals(Object) - Method in class proguard.analysis.datastructure.CodeLocation
+
 
+
equals(Object) - Method in class proguard.analysis.datastructure.FileLocation
+
 
+
equals(Object) - Method in class proguard.classfile.attribute.preverification.FullFrame
+
 
+
equals(Object) - Method in class proguard.classfile.attribute.preverification.LessZeroFrame
+
 
+
equals(Object) - Method in class proguard.classfile.attribute.preverification.MoreZeroFrame
+
 
+
equals(Object) - Method in class proguard.classfile.attribute.preverification.ObjectType
+
 
+
equals(Object) - Method in class proguard.classfile.attribute.preverification.SameOneFrame
+
 
+
equals(Object) - Method in class proguard.classfile.attribute.preverification.StackMapFrame
+
 
+
equals(Object) - Method in class proguard.classfile.attribute.preverification.UninitializedType
+
 
+
equals(Object) - Method in class proguard.classfile.attribute.preverification.VerificationType
+
 
+
equals(Object) - Method in class proguard.classfile.BasicMethodInfo
+
 
+
equals(Object) - Method in class proguard.classfile.constant.ClassConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.DoubleConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.DynamicConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.FloatConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.IntegerConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.InvokeDynamicConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.LongConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.MethodHandleConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.MethodTypeConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.ModuleConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.NameAndTypeConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.PackageConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.PrimitiveArrayConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.RefConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.StringConstant
+
 
+
equals(Object) - Method in class proguard.classfile.constant.Utf8Constant
+
 
+
equals(Object) - Method in class proguard.classfile.editor.CodeAttributeEditor.Label
+
 
+
equals(Object) - Method in class proguard.classfile.editor.InstructionSequenceReplacer.Label
+
 
+
equals(Object) - Method in class proguard.classfile.FieldSignature
+
 
+
equals(Object) - Method in class proguard.classfile.instruction.BranchInstruction
+
 
+
equals(Object) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
equals(Object) - Method in class proguard.classfile.instruction.Instruction
+
 
+
equals(Object) - Method in class proguard.classfile.instruction.LookUpSwitchInstruction
+
 
+
equals(Object) - Method in class proguard.classfile.instruction.SimpleInstruction
+
 
+
equals(Object) - Method in class proguard.classfile.instruction.SwitchInstruction
+
 
+
equals(Object) - Method in class proguard.classfile.instruction.TableSwitchInstruction
+
 
+
equals(Object) - Method in class proguard.classfile.instruction.VariableInstruction
+
 
+
equals(Object) - Method in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
equals(Object) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.AnnotationValue
+
 
+
equals(Object) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.ArrayValue
+
 
+
equals(Object) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue
+
 
+
equals(Object) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.EnumValue
+
 
+
equals(Object) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument
+
 
+
equals(Object) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.LiteralValue
+
 
+
equals(Object) - Method in class proguard.classfile.MethodDescriptor
+
 
+
equals(Object) - Method in class proguard.classfile.MethodSignature
+
 
+
equals(Object) - Method in class proguard.classfile.Signature
+
 
+
equals(Object) - Method in class proguard.dexfile.reader.Method
+
 
+
equals(Object) - Method in class proguard.dexfile.reader.MethodHandle
+
 
+
equals(Object) - Method in class proguard.dexfile.reader.Proto
+
 
+
equals(Object) - Method in class proguard.evaluation.Stack
+
 
+
equals(Object) - Method in class proguard.evaluation.TracedStack
+
 
+
equals(Object) - Method in class proguard.evaluation.TracedVariables
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ArrayReferenceValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ComparisonValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.CompositeDoubleValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.CompositeFloatValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.CompositeLongValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ConvertedByteValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ConvertedCharacterValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ConvertedDoubleValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ConvertedFloatValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ConvertedIntegerValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ConvertedLongValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ConvertedShortValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.IdentifiedDoubleValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.IdentifiedFloatValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.IdentifiedIntegerValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.IdentifiedLongValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.IdentifiedReferenceValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.NegatedDoubleValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.NegatedFloatValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.NegatedIntegerValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.NegatedLongValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.object.model.ArrayModel
+
 
+
equals(Object) - Method in class proguard.evaluation.value.object.model.ClassModel
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.ReferenceValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.TopValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.TracingValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
equals(Object) - Method in class proguard.evaluation.value.UnknownValue
+
 
+
equals(Object) - Method in class proguard.evaluation.Variables
+
 
+
equals(Object) - Method in class proguard.resources.file.ResourceJavaReference
+
 
+
errorCode - Variable in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
ErrorId - Class in proguard.exception
+
+
Class holding all the error ids for exceptions occurring in the program.
+
+
errorParameters(Object...) - Method in class proguard.exception.ProguardCoreException.Builder
+
 
+
escapeControlCharacters(String) - Static method in class proguard.util.StringUtil
+
+
Escapes control characters (\n, \r, \b, \t, \f).
+
+
et - Variable in class proguard.dexfile.ir.expr.Value
+
+
The number of argument
+
+
et - Variable in class proguard.dexfile.ir.stmt.Stmt
+
+
The number of argument
+
+
ET - Enum in proguard.dexfile.ir
+
+
The number of argument
+
+
EvaluateCode - Class in proguard.examples
+
+
This sample application illustrates how to evaluate the bytecode of a method to get information + about its control flow and data flow.
+
+
EvaluateCode() - Constructor for class proguard.examples.EvaluateCode
+
 
+
evaluated - Variable in class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
 
+
EVALUATION_JAVA_REFLECTION_EXECUTOR - Static variable in class proguard.exception.ErrorId
+
 
+
evaluationResults(Clazz, Method, CodeAttribute, PartialEvaluator) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
evaluationResults(Clazz, Method, CodeAttribute, PartialEvaluator) - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
evaluationResults(Clazz, Method, CodeAttribute, PartialEvaluator) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
Partial evaluator is done evaluating the code attribute.
+
+
ExampleUtil - Class in proguard.examples.util
+
+
Utility methods used by examples.
+
+
ExceptClassConstantFilter - Class in proguard.classfile.constant.visitor
+
+
This ConstantVisitor delegates its visits to class constants to another given ConstantVisitor, except for one given class.
+
+
ExceptClassConstantFilter(String, ConstantVisitor) - Constructor for class proguard.classfile.constant.visitor.ExceptClassConstantFilter
+
+
Creates a new ExceptClassConstantFilter.
+
+
ExceptClassesFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to another given ClassVisitor, except for + classes are in a given list.
+
+
ExceptClassesFilter(Clazz[], ClassVisitor) - Constructor for class proguard.classfile.visitor.ExceptClassesFilter
+
+
Creates a new ExceptClassesFilter.
+
+
ExceptClassFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to another given ClassVisitor, except for + one given class.
+
+
ExceptClassFilter(Clazz, ClassVisitor) - Constructor for class proguard.classfile.visitor.ExceptClassFilter
+
+
Creates a new ClassNameFilter.
+
+
EXCEPTION_EXIT_NODE_OFFSET - Static variable in interface proguard.analysis.cpa.interfaces.CfaNode
+
 
+
EXCEPTION_HANDLER - Static variable in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
EXCEPTION_REF - proguard.dexfile.ir.expr.Value.VT
+
 
+
ExceptionAdder - Class in proguard.classfile.editor
+
+
This ConstantVisitor adds all class constants that it visits to the given target + exceptions attribute.
+
+
ExceptionAdder(ProgramClass, ExceptionsAttribute) - Constructor for class proguard.classfile.editor.ExceptionAdder
+
+
Creates a new ExceptionAdder that will copy classes into the given target exceptions attribute.
+
+
ExceptionCounter - Class in proguard.classfile.visitor
+
+
This ExceptionInfoVisitor counts the number of exceptions that has been visited.
+
+
ExceptionCounter() - Constructor for class proguard.classfile.visitor.ExceptionCounter
+
 
+
exceptionEntriesAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.ExceptionsAttribute
+
+
Applies the given constant pool visitor to all exception class pool info entries.
+
+
ExceptionExcludedOffsetFilter - Class in proguard.classfile.visitor
+
+
This ExceptionInfoVisitor delegates its visits to another given ExceptionInfoVisitor, but only when the visited exception does not cover the instruction at the + given offset.
+
+
ExceptionExcludedOffsetFilter(int, ExceptionInfoVisitor) - Constructor for class proguard.classfile.visitor.ExceptionExcludedOffsetFilter
+
+
Creates a new ExceptionExcludedOffsetFilter.
+
+
ExceptionHandlerConstantVisitor - Class in proguard.classfile.visitor
+
+
This ExceptionInfoVisitor lets a given ConstantVisitor visit all catch class + constants of exceptions that it visits.
+
+
ExceptionHandlerConstantVisitor(ConstantVisitor) - Constructor for class proguard.classfile.visitor.ExceptionHandlerConstantVisitor
+
+
Creates a new ExceptionHandlerConstantVisitor.
+
+
ExceptionHandlerFilter - Class in proguard.classfile.visitor
+
+
This ExceptionInfoVisitor delegates its visits to another given ExceptionInfoVisitor, but only when the visited exception targets an instruction in the given + range of offsets.
+
+
ExceptionHandlerFilter(int, int, ExceptionInfoVisitor) - Constructor for class proguard.classfile.visitor.ExceptionHandlerFilter
+
+
Creates a new ExceptionHandlerFilter.
+
+
exceptionHandlers - Variable in class proguard.dexfile.ir.stmt.Stmt
+
+
Used in construct of a method CFG, After Stmt nodes
+
+
ExceptionHandlerTrim - Class in proguard.dexfile.ir.ts
+
+
Trim Exception handler.
+
+
ExceptionHandlerTrim() - Constructor for class proguard.dexfile.ir.ts.ExceptionHandlerTrim
+
 
+
ExceptionInfo - Class in proguard.classfile.attribute
+
+
Representation of an exception table entry.
+
+
ExceptionInfo() - Constructor for class proguard.classfile.attribute.ExceptionInfo
+
+
Creates an uninitialized ExceptionInfo.
+
+
ExceptionInfo(int, int, int, int) - Constructor for class proguard.classfile.attribute.ExceptionInfo
+
+
Creates an ExceptionInfo with the given properties.
+
+
ExceptionInfoAdder - Class in proguard.classfile.editor
+
+
This ExceptionInfoVisitor adds all exception information that it visits to the given + target code attribute.
+
+
ExceptionInfoAdder(ProgramClass, CodeAttributeComposer) - Constructor for class proguard.classfile.editor.ExceptionInfoAdder
+
+
Creates a new ExceptionAdder that will copy exceptions into the given target code attribute.
+
+
ExceptionInfoEditor - Class in proguard.classfile.editor
+
+
This class can add exceptions to the exception table of a given code attribute.
+
+
ExceptionInfoEditor(CodeAttribute) - Constructor for class proguard.classfile.editor.ExceptionInfoEditor
+
+
Creates a new ExceptionInfoEditor that can add exceptions to the given code attribute.
+
+
ExceptionInfoVisitor - Interface in proguard.classfile.attribute.visitor
+
+
This interface specifies the methods for a visitor of ExceptionInfo instances.
+
+
ExceptionOffsetFilter - Class in proguard.classfile.visitor
+
+
This ExceptionInfoVisitor delegates its visits to another given ExceptionInfoVisitor, but only when the visited exception covers the instruction at the given + offset.
+
+
ExceptionOffsetFilter(int, ExceptionInfoVisitor) - Constructor for class proguard.classfile.visitor.ExceptionOffsetFilter
+
+
Creates a new ExceptionOffsetFilter.
+
+
ExceptionRangeFilter - Class in proguard.classfile.visitor
+
+
This ExceptionInfoVisitor delegates its visits to another given ExceptionInfoVisitor, but only when the visited exception overlaps with the given instruction + range.
+
+
ExceptionRangeFilter(int, int, ExceptionInfoVisitor) - Constructor for class proguard.classfile.visitor.ExceptionRangeFilter
+
+
Creates a new ExceptionRangeFilter.
+
+
EXCEPTIONS - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
exceptionsAccept(Clazz, Method, int, int, ExceptionInfoVisitor) - Method in class proguard.classfile.attribute.CodeAttribute
+
+
Applies the given exception visitor to all exceptions that are applicable to any of the + instructions in the specified range of offsets.
+
+
exceptionsAccept(Clazz, Method, int, ExceptionInfoVisitor) - Method in class proguard.classfile.attribute.CodeAttribute
+
+
Applies the given exception visitor to all exceptions that are applicable to the instruction at + the specified offset.
+
+
exceptionsAccept(Clazz, Method, ExceptionInfoVisitor) - Method in class proguard.classfile.attribute.CodeAttribute
+
+
Applies the given exception visitor to all exceptions.
+
+
ExceptionsAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents an exceptions attribute.
+
+
ExceptionsAttribute() - Constructor for class proguard.classfile.attribute.ExceptionsAttribute
+
+
Creates an uninitialized ExceptionsAttribute.
+
+
ExceptionsAttribute(int, int, int[]) - Constructor for class proguard.classfile.attribute.ExceptionsAttribute
+
+
Creates an initialized ExceptionsAttribute.
+
+
ExceptionsAttributeEditor - Class in proguard.classfile.editor
+
+
This class can add exceptions to a given exceptions attribute.
+
+
ExceptionsAttributeEditor(ExceptionsAttribute) - Constructor for class proguard.classfile.editor.ExceptionsAttributeEditor
+
+
Creates a new ExceptionsAttributeEditor that will edit exceptions in the given exceptions + attribute.
+
+
exceptionTable - Variable in class proguard.classfile.attribute.CodeAttribute
+
 
+
EXCESSIVE_COMPLEXITY - Static variable in class proguard.exception.ErrorId
+
 
+
ExcessiveComplexityException - Exception in proguard.evaluation.exception
+
+
Represents an exception during partial evaluation when a single instruction would be visited more + than PartialEvaluator.stopAnalysisAfterNEvaluations(int) times.
+
+
ExcessiveComplexityException(String) - Constructor for exception proguard.evaluation.exception.ExcessiveComplexityException
+
 
+
excludes - Variable in class proguard.dexfile.ir.ts.Ir2JRegAssignTransformer.Reg
+
 
+
excludes - Variable in class proguard.dexfile.ir.ts.UnSSATransformer.RegAssign
+
+
can not have same index with
+
+
exec(T[], Stmt) - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
exec(T, Stmt) - Method in interface proguard.dexfile.ir.ts.Cfg.FrameVisitor
+
 
+
execute() - Method in class proguard.analysis.cpa.defaults.CpaRun
+
+
Sets up the CpaAlgorithm, runs it, and returns the ReachedSet with the result + of the analysis.
+
+
execute() - Method in class proguard.analysis.cpa.defaults.SequentialCpaRun
+
 
+
execute(WarningLogger, ClassPool, ClassPool, ResourceFilePool) - Method in class proguard.util.kotlin.asserter.KotlinMetadataAsserter
+
 
+
execute(DexStmtNode, DvmInterpreter<V>) - Method in class proguard.dexfile.reader.node.analysis.DvmFrame
+
 
+
executeMainMethod(ClassPool, String) - Static method in class proguard.examples.util.ExampleUtil
+
+
Execute the "main" method of a ProGuardCORE class in the given ClassPool with the + specified name.
+
+
executeMainMethod(ClassPool, String, String...) - Static method in class proguard.examples.util.ExampleUtil
+
+
Execute the "main" method of a ProGuardCORE class in the given ClassPool with the + specified name and the specified arguments.
+
+
executeMainMethod(ProgramClass) - Static method in class proguard.examples.util.ExampleUtil
+
+
Execute the "main" method of a ProGuardCORE ProgramClass.
+
+
executeMethod(ConcreteCall, Value...) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
+
Execute the method given by a ConcreteCall.
+
+
executeMethod(ClassPool, String, String, Class<?>[], Object[]) - Static method in class proguard.examples.util.ExampleUtil
+
+
Execute the specified method of a ProGuardCORE class in the given ClassPool with the + specified name and the specified arguments.
+
+
executeMethod(Executor, MethodExecutionInfo) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
+
Executes a method using a given Executor.
+
+
executeViaHandler(ModelHelper.MethodExecutionContext, Map<BasicMethodInfo, Method>, Model) - Static method in class proguard.evaluation.value.object.model.reflective.ModelHelper
+
+
Utility method to execute a modeled method on a model using the provided Map of supported + handlers.
+
+
executingInvocationUnit - Variable in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
ExecutingInvocationUnit - Class in proguard.evaluation
+
+
This InvocationUnit is capable of executing the invoked methods with particular values as + parameters.
+
+
ExecutingInvocationUnit(ValueFactory, boolean, List<Executor>) - Constructor for class proguard.evaluation.ExecutingInvocationUnit
+
+ +
+
ExecutingInvocationUnit.Builder - Class in proguard.evaluation
+
+ +
+
Executor - Interface in proguard.evaluation.executor
+
+
This abstract class specifies a modular component which can be added to a ExecutingInvocationUnit in order to extend its capabilities.
+
+
Executor.Builder<T extends Executor> - Interface in proguard.evaluation.executor
+
+
A builder for the executor.
+
+
ExecutorInstanceHandler - Interface in proguard.evaluation.executor.instancehandler
+
+
This interface provides a method for deciding whether a certain method call returns the calling + instance.
+
+
ExecutorMethodInstanceHandler - Class in proguard.evaluation.executor.instancehandler
+
+
This ExecutorInstanceHandler decides whether a method always returns its calling instance + based on a mapping of class names to a StringMatcher for method names.
+
+
ExecutorMethodInstanceHandler(Map<String, StringMatcher>) - Constructor for class proguard.evaluation.executor.instancehandler.ExecutorMethodInstanceHandler
+
+
Creates an ExecutorMethodInstanceHandler using the given mapping.
+
+
EXIT_NODE_OFFSET - Static variable in class proguard.analysis.DominatorCalculator
+
+
Virtual instruction offset modelling the method exit, i.e.
+
+
exitMethod(Clazz, Method, Value) - Method in interface proguard.evaluation.InvocationUnit
+
+
Exits the given method with the given return value.
+
+
exitMethod(Clazz, Method, Value) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
expand(AbstractState, AbstractState, CfaNodeT, Call) - Method in interface proguard.analysis.cpa.bam.ExpandOperator
+
+
Reconstructs the state of the caller of a procedure using the information of the expanded + initial state, the reduced exit state, the block entry node (that can be used to retrieve the + CFA subgraph of the function), and the call to the procedure.
+
+
expand(AbstractState, AbstractState, JvmCfaNode, Call) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintExpandOperator
+
 
+
expand(AbstractState, AbstractState, JvmCfaNode, Call) - Method in class proguard.analysis.cpa.jvm.operators.JvmDefaultExpandOperator
+
 
+
expand(JvmHeapAbstractState<StateT>) - Method in interface proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState
+
+
Expands the heap with references present in another state.
+
+
expand(JvmHeapAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
+
Expands the state with all the entries from another heap state with reference not already known + by the state.
+
+
expandedType - Variable in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
expandedTypeAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
expandHeap(JvmHeapAbstractState<StateT>, JvmHeapAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.operators.JvmDefaultExpandOperator
+
 
+
ExpandOperator<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> - Interface in proguard.analysis.cpa.bam
+
+
This operator is used to recover the information discarded when entering a procedure block + depending on the domain-specific analysis.
+
+
EXPECTED_ARRAY - Static variable in class proguard.exception.ErrorId
+
 
+
exports - Variable in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
exportsAccept(Clazz, ExportsInfoVisitor) - Method in class proguard.classfile.attribute.module.ModuleAttribute
+
+
Applies the given visitor to all exports.
+
+
ExportsInfo - Class in proguard.classfile.attribute.module
+
+
Representation of an Exports entry in a Module attribute.
+
+
ExportsInfo() - Constructor for class proguard.classfile.attribute.module.ExportsInfo
+
+
Creates an uninitialized ExportsInfo.
+
+
ExportsInfo(int, int, int, int[]) - Constructor for class proguard.classfile.attribute.module.ExportsInfo
+
+
Creates an initialized ExportsInfo.
+
+
ExportsInfoVisitor - Interface in proguard.classfile.attribute.module.visitor
+
+
This interface specifies the methods for a visitor of ExportsInfo instances.
+
+
exportsToIndexAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.module.ExportsInfo
+
+
Applies the given constant pool visitor to all exportsToIndex.
+
+
Exprs - Class in proguard.dexfile.ir.expr
+
 
+
extend(int) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Extends the size of the accumulated code changes.
+
+
extend(int) - Method in class proguard.classfile.editor.InstructionWriter
+
+
Extends the size of the accumulated code.
+
+
extendArray(boolean[], int) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
extendArray(byte[], int) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
extendArray(char[], int) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
extendArray(double[], int) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
extendArray(float[], int) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
extendArray(int[], int) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
extendArray(long[], int) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
extendArray(short[], int) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
extendArray(T[], int) - Static method in class proguard.util.ArrayUtil
+
+
Ensures the given array has a given size.
+
+
ExtendedLineNumberInfo - Class in proguard.classfile.attribute
+
+
This line number table entry contains additional information about its source.
+
+
ExtendedLineNumberInfo() - Constructor for class proguard.classfile.attribute.ExtendedLineNumberInfo
+
+
Creates an uninitialized ExtendedLineNumberInfo.
+
+
ExtendedLineNumberInfo(int, int, String) - Constructor for class proguard.classfile.attribute.ExtendedLineNumberInfo
+
+
Creates an initialized ExtendedLineNumberInfo.
+
+
extends_(String) - Method in interface proguard.classfile.Clazz
+
+
Returns whether this class extends the specified class.
+
+
extends_(String) - Method in class proguard.classfile.LibraryClass
+
 
+
extends_(String) - Method in class proguard.classfile.ProgramClass
+
 
+
extends_(Clazz) - Method in interface proguard.classfile.Clazz
+
+
Returns whether this class extends the given class.
+
+
extends_(Clazz) - Method in class proguard.classfile.LibraryClass
+
 
+
extends_(Clazz) - Method in class proguard.classfile.ProgramClass
+
 
+
EXTENDS_INDEX - Static variable in class proguard.classfile.attribute.annotation.target.SuperTypeTargetInfo
+
 
+
extendsOrImplements(String) - Method in interface proguard.classfile.Clazz
+
+
Returns whether this class implements the specified class.
+
+
extendsOrImplements(String) - Method in class proguard.classfile.LibraryClass
+
 
+
extendsOrImplements(String) - Method in class proguard.classfile.ProgramClass
+
 
+
extendsOrImplements(Clazz) - Method in interface proguard.classfile.Clazz
+
+
Returns whether this class implements the given class.
+
+
extendsOrImplements(Clazz) - Method in class proguard.classfile.LibraryClass
+
 
+
extendsOrImplements(Clazz) - Method in class proguard.classfile.ProgramClass
+
 
+
ExtensionMatcher - Class in proguard.util
+
+
This StringMatcher tests whether strings end in a given extension, ignoring its case.
+
+
ExtensionMatcher(String) - Constructor for class proguard.util.ExtensionMatcher
+
+
Creates a new StringMatcher.
+
+
externalArrayTypeDimensionCount(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the number of dimensions of the given external type.
+
+
externalBaseType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the external base type of an external array type, dropping any array brackets.
+
+
externalClassAccessFlags(int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal class access flags into an external access description.
+
+
externalClassAccessFlags(int, String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal class access flags into an external access description.
+
+
externalClassForNameType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts an internal type into an external type, as expected by Class.forName.
+
+
externalClassName - Variable in class proguard.resources.file.ResourceJavaReference
+
 
+
externalClassName(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts an internal class name into an external class name.
+
+
externalClassVersion(int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the minor part of the given class version number.
+
+
externalExportsAccessFlags(int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal module exports access flags into an external access description.
+
+
externalExportsAccessFlags(int, String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal module exports access flags into an external access description.
+
+
externalFieldAccessFlags(int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal field access flags into an external access description.
+
+
externalFieldAccessFlags(int, String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal field access flags into an external access description.
+
+
externalFullClassDescription(int, String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts an internal class description into an external class description.
+
+
externalFullFieldDescription(int, String, String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts an internal field description into an external full field description.
+
+
externalFullMethodDescription(String, int, String, String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts an internal method description into an external full method description.
+
+
externalMethodAccessFlags(int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal method access flags into an external access description.
+
+
externalMethodAccessFlags(int, String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal method access flags into an external access description.
+
+
externalMethodArguments(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts an internal method descriptor into an external method argument description.
+
+
externalMethodName(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the name part of the given external method name and arguments.
+
+
externalMethodReturnType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts an internal method descriptor into an external method return type.
+
+
externalModuleAccessFlags(int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal module access flags into an external access description.
+
+
externalModuleAccessFlags(int, String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal module access flags into an external access description.
+
+
externalOpensAccessFlags(int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal module opens access flags into an external access description.
+
+
externalOpensAccessFlags(int, String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal module opens access flags into an external access description.
+
+
externalPackageName(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the external package name of the given external class name.
+
+
externalPackagePrefix(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the external package prefix of the given external class name.
+
+
externalParameterAccessFlags(int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal method parameter access flags into an external access description.
+
+
externalParameterAccessFlags(int, String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal method parameter access flags into an external access description.
+
+
externalRequiresAccessFlags(int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal module requires access flags into an external access description.
+
+
externalRequiresAccessFlags(int, String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts internal module requires access flags into an external access description.
+
+
externalShortClassName(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the external short class name of an external class name, dropping the package + specification.
+
+
externalType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts an internal type into an external type.
+
+
ExternalTypeEnumeration - Class in proguard.classfile.util
+
+
An ExternalTypeEnumeration provides an enumeration of all types listed in a given + external descriptor string.
+
+
ExternalTypeEnumeration(String) - Constructor for class proguard.classfile.util.ExternalTypeEnumeration
+
 
+
extractLinearTraces() - Method in interface proguard.analysis.cpa.jvm.domain.memory.TraceExtractor
+
+
Returns a set of linear witness traces.
+
+
extractValueOrDefault(JvmAbstractState<T>, T) - Method in class proguard.analysis.cpa.jvm.witness.JvmHeapLocation
+
 
+
extractValueOrDefault(JvmAbstractState<T>, T) - Method in class proguard.analysis.cpa.jvm.witness.JvmLocalVariableLocation
+
 
+
extractValueOrDefault(JvmAbstractState<T>, T) - Method in class proguard.analysis.cpa.jvm.witness.JvmMemoryLocation
+
+
Given a JVM state, extract its content in the position represented by this JvmMemoryLocation.
+
+
extractValueOrDefault(JvmAbstractState<T>, T) - Method in class proguard.analysis.cpa.jvm.witness.JvmStackLocation
+
 
+
extractValueOrDefault(JvmAbstractState<T>, T) - Method in class proguard.analysis.cpa.jvm.witness.JvmStaticFieldLocation
+
 
+
extraFeatureNames - Variable in class proguard.util.SimpleFeatureNamedProcessable
+
 
+
extraTaintPropagationLocations - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
+ + + +

F

+
+
F - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
F - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
f2d() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
f2d() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
f2i() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
f2i() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
f2l() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
f2l() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
f4value - Variable in class proguard.classfile.constant.FloatConstant
+
 
+
f8value - Variable in class proguard.classfile.constant.DoubleConstant
+
 
+
facadeName - Variable in class proguard.classfile.kotlin.KotlinMultiFilePartKindMetadata
+
 
+
factoryMethodDescriptor - Variable in class proguard.backport.LambdaExpression
+
 
+
fadd() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fadd() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
faload() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
faload() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fastore() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fastore() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fcmpg() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fcmpg() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
FCMPG - proguard.dexfile.ir.expr.Value.VT
+
 
+
fcmpl() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fcmpl() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
FCMPL - proguard.dexfile.ir.expr.Value.VT
+
 
+
fconst(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fconst(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fconst_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fconst_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fconst_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fconst_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fconst_2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fconst_2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fdiv() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fdiv() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
FDIV - proguard.dexfile.ir.expr.Value.VT
+
 
+
FEATURE_ZIP_CLASSES_DEX_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
featureName - Variable in class proguard.util.SimpleFeatureNamedProcessable
+
 
+
FeatureNamed - Interface in proguard.util
+
+
Base interface for entities that are part of a feature, as indicated by a feature name.
+
+
field - Variable in class proguard.analysis.cpa.jvm.witness.JvmHeapLocation
+
 
+
field - Variable in class proguard.dexfile.reader.node.DexFieldNode
+
 
+
field - Variable in class proguard.dexfile.reader.node.insn.FieldStmtNode
+
 
+
Field - Class in proguard.dexfile.reader
+
+
represent a field_id_item in dex file format
+
+
Field - Interface in proguard.classfile
+
+
Representation of a field in a class.
+
+
Field(String, String, String) - Constructor for class proguard.dexfile.reader.Field
+
 
+
FIELD - proguard.dexfile.ir.expr.Value.VT
+
 
+
FIELD_NAME_OUT - Static variable in class proguard.examples.modify.EditClass
+
 
+
FIELD_NAME_TYPE - Static variable in class proguard.classfile.ClassConstants
+
 
+
FIELD_TYPE_TYPE - Static variable in class proguard.classfile.ClassConstants
+
 
+
FIELD_VALUE - Static variable in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
fieldAccept(String, String, MemberVisitor) - Method in interface proguard.classfile.Clazz
+
+
Lets the given member info visitor visit the specified field.
+
+
fieldAccept(String, String, MemberVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
fieldAccept(String, String, MemberVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
FieldExpr - Class in proguard.dexfile.ir.expr
+
+
Represent a non-static Field expression.
+
+
FieldExpr(Value, String, String, String) - Constructor for class proguard.dexfile.ir.expr.FieldExpr
+
 
+
FIELDREF - Static variable in class proguard.classfile.constant.Constant
+
 
+
FieldrefConstant - Class in proguard.classfile.constant
+
+
This Constant represents a field reference constant in the constant pool.
+
+
FieldrefConstant() - Constructor for class proguard.classfile.constant.FieldrefConstant
+
+
Creates an uninitialized FieldrefConstant.
+
+
FieldrefConstant(int, int, Clazz, Field) - Constructor for class proguard.classfile.constant.FieldrefConstant
+
+
Creates a new FieldrefConstant with the given name and type indices.
+
+
fields - Variable in class proguard.classfile.LibraryClass
+
 
+
fields - Variable in class proguard.classfile.ProgramClass
+
 
+
fields - Variable in class proguard.dexfile.reader.node.DexClassNode
+
 
+
fieldsAccept(MemberVisitor) - Method in interface proguard.classfile.Clazz
+
+
Lets the given member info visitor visit all fields of this class.
+
+
fieldsAccept(MemberVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
fieldsAccept(MemberVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
FieldSignature - Class in proguard.classfile
+
+
Represents a field signature consisting of class and member name.
+
+
FieldSignature(String, String, String) - Constructor for class proguard.classfile.FieldSignature
+
 
+
FieldSignature(Clazz, Field) - Constructor for class proguard.classfile.FieldSignature
+
 
+
FieldStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
FieldStmtNode(Op, int, int, Field) - Constructor for class proguard.dexfile.reader.node.insn.FieldStmtNode
+
 
+
FieldViewModel - Class in proguard.classfile.util.renderer
+
+
This utility class renders Field objects into a more human-readable format.
+
+
FILE_EXPRESSION - Static variable in class proguard.classfile.kotlin.KotlinConstants.MODULE
+
 
+
FILE_EXTENSION - Static variable in class proguard.classfile.kotlin.KotlinConstants.MODULE
+
 
+
FileDataEntry - Class in proguard.io
+
+
This DataEntry represents a file.
+
+
FileDataEntry(File) - Constructor for class proguard.io.FileDataEntry
+
+
Creates a new FileDataEntry.
+
+
FileDataEntry(File, File) - Constructor for class proguard.io.FileDataEntry
+
+
Creates a new FileDataEntry.
+
+
FileFacadeIntegrity - Class in proguard.util.kotlin.asserter.constraint
+
 
+
FileFacadeIntegrity() - Constructor for class proguard.util.kotlin.asserter.constraint.FileFacadeIntegrity
+
 
+
fileFacadeNames - Variable in class proguard.resources.kotlinmodule.KotlinModulePackage
+
 
+
FileLocation - Class in proguard.analysis.datastructure
+
+
Represents a unique location in a file, e.g.
+
+
FileLocation(String, int) - Constructor for class proguard.analysis.datastructure.FileLocation
+
 
+
FileLocation(String, int, String) - Constructor for class proguard.analysis.datastructure.FileLocation
+
 
+
filename - Variable in class proguard.analysis.datastructure.FileLocation
+
 
+
fileName - Variable in class proguard.resources.file.ResourceFile
+
 
+
FileNameParser - Class in proguard.util
+
+
This StringParser can create StringMatcher instances for regular expressions + matching file names.
+
+
FileNameParser() - Constructor for class proguard.util.FileNameParser
+
+
Creates a new FileNameParser.
+
+
FileNameParser(WildcardManager) - Constructor for class proguard.util.FileNameParser
+
+
Creates a new FileNameParser that supports references to earlier wildcards.
+
+
FilePool - Interface in proguard.resources.file
+
+
Interface with methods related to file pools.
+
+
FilePoolNameFunction - Class in proguard.resources.file.util
+
+
This StringFunction maps resource file names on their (obfuscated) resource file name, as + present on the ResourceFile object in the given resource file pool.
+
+
FilePoolNameFunction(FilePool) - Constructor for class proguard.resources.file.util.FilePoolNameFunction
+
+
Creates a new ResourceFileNameFunction based on the given resource file pool.
+
+
FilePoolNameFunction(FilePool, String) - Constructor for class proguard.resources.file.util.FilePoolNameFunction
+
+
Creates a new ResourceFileNameFunction based on the given resource file pool, with a default + string for resource files that are not in the resource file pool.
+
+
fileSize - Variable in class proguard.resources.file.ResourceFile
+
 
+
FileSource - Class in proguard.io
+
+
This DataEntrySource wraps a single given file or DataEntry.
+
+
FileSource(File) - Constructor for class proguard.io.FileSource
+
+
Creates a new FileSource.
+
+
FileSource(File, File) - Constructor for class proguard.io.FileSource
+
+
Creates a new FileSource.
+
+
FileSource(FileDataEntry) - Constructor for class proguard.io.FileSource
+
+
Creates a new FileSource.
+
+
FILL_ARRAY_DATA - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
FILL_ARRAY_DATA - proguard.dexfile.reader.Op
+
 
+
FillArrayDataStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
FillArrayDataStmtNode(Op, int, Object) - Constructor for class proguard.dexfile.reader.node.insn.FillArrayDataStmtNode
+
 
+
FILLED_ARRAY - proguard.dexfile.ir.expr.Value.VT
+
 
+
FILLED_NEW_ARRAY - proguard.dexfile.reader.Op
+
 
+
FILLED_NEW_ARRAY_RANGE - proguard.dexfile.reader.Op
+
 
+
FilledArrayExpr - Class in proguard.dexfile.ir.expr
+
+
Represent a FILLED_ARRAY expression.
+
+
FilledArrayExpr(Value[], String) - Constructor for class proguard.dexfile.ir.expr.FilledArrayExpr
+
 
+
FilledNewArrayStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
FilledNewArrayStmtNode(Op, int[], String) - Constructor for class proguard.dexfile.reader.node.insn.FilledNewArrayStmtNode
+
 
+
filter(Collection<String>, StringMatcher) - Static method in class proguard.util.ListUtil
+
+
Returns the subset of the given list, containing all strings that match the given filter.
+
+
FilteredClassVisitor - Class in proguard.classfile.visitor
+
+
This ClassPoolVisitor lets a given ClassVisitor visit all matching Clazz + instances of the class pools it visits.
+
+
FilteredClassVisitor(String, ClassVisitor) - Constructor for class proguard.classfile.visitor.FilteredClassVisitor
+
+
Creates a new FilteredClassVisitor with the given class name filter and visitor.
+
+
FilteredClassVisitor(StringMatcher, ClassVisitor) - Constructor for class proguard.classfile.visitor.FilteredClassVisitor
+
+
Creates a new FilteredClassVisitor with the given class name filter and visitor.
+
+
FilteredDataEntryReader - Class in proguard.io
+
+
This DataEntryReader delegates to one of two other DataEntryReader instances, + depending on whether the data entry passes through a given data entry filter or not.
+
+
FilteredDataEntryReader(DataEntryFilter, DataEntryReader) - Constructor for class proguard.io.FilteredDataEntryReader
+
+
Creates a new FilteredDataEntryReader with only a reader for accepted data entries.
+
+
FilteredDataEntryReader(DataEntryFilter, DataEntryReader, DataEntryReader) - Constructor for class proguard.io.FilteredDataEntryReader
+
+
Creates a new FilteredDataEntryReader.
+
+
FilteredDataEntryWriter - Class in proguard.io
+
+
This DataEntryWriter delegates to one of two other DataEntryWriter instances, + depending on whether the data entry passes through a given data entry filter or not.
+
+
FilteredDataEntryWriter(DataEntryFilter, DataEntryWriter) - Constructor for class proguard.io.FilteredDataEntryWriter
+
+
Creates a new FilteredDataEntryWriter with only a writer for accepted data entries.
+
+
FilteredDataEntryWriter(DataEntryFilter, DataEntryWriter, DataEntryWriter) - Constructor for class proguard.io.FilteredDataEntryWriter
+
+
Creates a new FilteredDataEntryWriter.
+
+
FilteredStringFunction - Class in proguard.util
+
+
This StringFunction delegates a given String to one of two other StringFunction + instances, depending on whether it matches the given filter.
+
+
FilteredStringFunction(String, StringFunction, StringFunction) - Constructor for class proguard.util.FilteredStringFunction
+
 
+
FilteredStringFunction(StringMatcher, StringFunction, StringFunction) - Constructor for class proguard.util.FilteredStringFunction
+
 
+
FINAL - Static variable in class proguard.classfile.AccessConstants
+
 
+
FINAL - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
finalMatch(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
+
Performs a final check on the candidate sequence to match, after the pattern has been + successfully fully matched with the sequence.
+
+
findAttribute(String) - Method in class proguard.classfile.editor.AttributesEditor
+
+
Finds the specified attribute in the target.
+
+
FindBranches - Class in proguard.examples
+
+
This sample application illustrates how to find branches in the code and print out some results.
+
+
FindBranches() - Constructor for class proguard.examples.FindBranches
+
 
+
findClass(String) - Method in class proguard.classfile.util.ClassPoolClassLoader
+
 
+
findField(String, String) - Method in interface proguard.classfile.Clazz
+
+
Returns the field with the given name and descriptor.
+
+
findField(String, String) - Method in class proguard.classfile.LibraryClass
+
 
+
findField(String, String) - Method in class proguard.classfile.ProgramClass
+
 
+
findField(Clazz, String, String) - Method in class proguard.classfile.util.MemberFinder
+
+
Finds the field with the given name and descriptor in the given class or its hierarchy.
+
+
findField(Clazz, Clazz, String, String) - Method in class proguard.classfile.util.MemberFinder
+
+
Finds the field with the given name and descriptor in the given class or its hierarchy.
+
+
findMember(Clazz, String, String, boolean) - Method in class proguard.classfile.util.MemberFinder
+
+
Finds the class member with the given name and descriptor in the given class or its hierarchy.
+
+
findMember(Clazz, Clazz, String, String, boolean) - Method in class proguard.classfile.util.MemberFinder
+
+
Finds the class member with the given name and descriptor in the given class or its hierarchy, + referenced from the optional given class.
+
+
findMethod(String, String) - Method in interface proguard.classfile.Clazz
+
+
Returns the method with the given name and descriptor.
+
+
findMethod(String, String) - Method in class proguard.classfile.LibraryClass
+
 
+
findMethod(String, String) - Method in class proguard.classfile.ProgramClass
+
 
+
findMethod(Clazz, String, String) - Method in class proguard.classfile.util.MemberFinder
+
+
Finds the method with the given name and descriptor in the given class or its hierarchy.
+
+
findMethod(Clazz, Clazz, String, String) - Method in class proguard.classfile.util.MemberFinder
+
+
Finds the method with the given name and descriptor in the given class or its hierarchy.
+
+
findNestHostClassName(Clazz) - Method in class proguard.classfile.util.NestHostFinder
+
+
Returns the class name of the nest host of the given class.
+
+
findOrAddConstant(Constant) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or adds a given constant pool entry.
+
+
fineName - Variable in class proguard.dexfile.reader.node.DexDebugNode
+
 
+
finish() - Method in interface proguard.io.Finisher
+
+
Finishes an output stream right before it is closed.
+
+
finish() - Method in class proguard.io.JarWriter
+
+
Writes out the collected manifest file before closing the jar, if any.
+
+
finish() - Method in class proguard.io.SignedJarWriter
+
 
+
Finisher - Interface in proguard.io
+
+
This interface specifies a listener that is called to finish an output stream before it is + closed.
+
+
finishIfNecessary(DataEntry) - Method in class proguard.io.JarWriter
+
+
Writes out the collected manifest file for the current jar, if we're entering a new jar with + this data entry.
+
+
first_case - Variable in class proguard.dexfile.reader.node.insn.PackedSwitchStmtNode
+
 
+
fixed - Variable in enum proguard.dexfile.ir.TypeClass
+
 
+
FixedFileWriter - Class in proguard.io
+
+
This DataEntryWriter writes data entries to a single given file.
+
+
FixedFileWriter(File) - Constructor for class proguard.io.FixedFileWriter
+
+
Creates a new FixedFileWriter.
+
+
FixedStringMatcher - Class in proguard.util
+
+
This StringMatcher tests whether strings start with a given fixed string and then match + another optional given StringMatcher.
+
+
FixedStringMatcher(String) - Constructor for class proguard.util.FixedStringMatcher
+
+
Creates a new FixedStringMatcher.
+
+
FixedStringMatcher(String, StringMatcher) - Constructor for class proguard.util.FixedStringMatcher
+
+
Creates a new FixedStringMatcher.
+
+
fixStaticFinalFieldValue(DexClassNode) - Static method in class proguard.dexfile.converter.DexFix
+
+
init value to default if the field is static and final, and the field is not init in clinit + method
+
+
fixStaticFinalFieldValue(DexFileNode) - Static method in class proguard.dexfile.converter.DexFix
+
 
+
FLAG_BRIDGES - Static variable in class proguard.classfile.attribute.BootstrapMethodInfo
+
 
+
FLAG_MARKERS - Static variable in class proguard.classfile.attribute.BootstrapMethodInfo
+
 
+
FLAG_SERIALIZABLE - Static variable in class proguard.classfile.attribute.BootstrapMethodInfo
+
 
+
flags - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
flags - Variable in class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
flags - Variable in class proguard.classfile.kotlin.KotlinEffectExpressionMetadata
+
 
+
flags - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
flags - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
flags - Variable in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
flags - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
flags - Variable in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
flags - Variable in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
flavor - Variable in class proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata
+
 
+
flexibilityID - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
fload(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fload(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fload(int) - Method in class proguard.evaluation.Variables
+
+
Loads the FloatValue from the variable with the given index.
+
+
fload_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fload_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fload_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fload_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fload_2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fload_2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fload_3() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fload_3() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
FLOAT - proguard.dexfile.ir.TypeClass
+
 
+
FLOAT - Static variable in class proguard.classfile.constant.Constant
+
 
+
FLOAT - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
FLOAT - Static variable in class proguard.classfile.TypeConstants
+
 
+
FLOAT_A_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
FLOAT_B_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
FLOAT_TO_DOUBLE - proguard.dexfile.reader.Op
+
 
+
FLOAT_TO_INT - proguard.dexfile.reader.Op
+
 
+
FLOAT_TO_LONG - proguard.dexfile.reader.Op
+
 
+
FLOAT_TYPE - Static variable in class proguard.classfile.attribute.preverification.VerificationType
+
 
+
FLOAT_VALUE - Static variable in class proguard.evaluation.value.BasicValueFactory
+
 
+
floatArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
floatArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the value of the array at the given index, assuming this type is an float array.
+
+
floatArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
floatArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
FloatConstant - Class in proguard.classfile.constant
+
+
This Constant represents a float constant in the constant pool.
+
+
FloatConstant() - Constructor for class proguard.classfile.constant.FloatConstant
+
+
Creates an uninitialized FloatConstant.
+
+
FloatConstant(float) - Constructor for class proguard.classfile.constant.FloatConstant
+
+
Creates a new FloatConstant with the given float value.
+
+
FloatType - Class in proguard.classfile.attribute.preverification
+
+
This VerificationType represents a Float type.
+
+
FloatType() - Constructor for class proguard.classfile.attribute.preverification.FloatType
+
 
+
floatValue() - Method in class proguard.evaluation.value.FloatValue
+
 
+
floatValue() - Method in class proguard.evaluation.value.TracingValue
+
 
+
floatValue() - Method in class proguard.evaluation.value.Value
+
+
Returns this Value as a FloatValue.
+
+
FloatValue - Class in proguard.evaluation.value
+
+
Representation of a partially evaluated float value.
+
+
FloatValue() - Constructor for class proguard.evaluation.value.FloatValue
+
 
+
FloatValue(float) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.FloatValue
+
 
+
flush() - Static method in class proguard.analysis.Metrics
+
+
Get all collected data as a string and clear it afterwards.
+
+
flush() - Method in class proguard.classfile.util.renderer.core.StringListWriter
+
 
+
fmul() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fmul() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fneg() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fneg() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
followerHeapNodeMapAbstractStateFactory - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
foo(String) - Static method in class proguard.examples.instrument.DebugStackTopExample
+
 
+
forEach(Consumer<? super AbstractState>) - Method in class proguard.analysis.cpa.defaults.AbstractWaitlist
+
 
+
FORGETFUL - proguard.analysis.cpa.jvm.state.heap.HeapModel
+
+
a singleton heap model
+
+
FormalParameterTargetInfo - Class in proguard.classfile.attribute.annotation.target
+
+
Representation of a formal parameter annotation target.
+
+
FormalParameterTargetInfo() - Constructor for class proguard.classfile.attribute.annotation.target.FormalParameterTargetInfo
+
+
Creates an uninitialized FormalParameterTargetInfo.
+
+
FormalParameterTargetInfo(byte) - Constructor for class proguard.classfile.attribute.annotation.target.FormalParameterTargetInfo
+
+
Creates a partially initialized FormalParameterTargetInfo.
+
+
FormalParameterTargetInfo(byte, int) - Constructor for class proguard.classfile.attribute.annotation.target.FormalParameterTargetInfo
+
+
Creates an initialized FormalParameterTargetInfo.
+
+
formalTypeParameters() - Method in class proguard.classfile.util.InternalTypeEnumeration
+
+
Returns the leading formal type parameters from the descriptor.
+
+
format - Variable in enum proguard.dexfile.reader.Op
+
 
+
fpop() - Method in class proguard.evaluation.Stack
+
+
Pops the top FloatValue from the stack.
+
+
fqn - Variable in class proguard.analysis.cpa.jvm.witness.JvmStaticFieldLocation
+
 
+
fqn - Variable in class proguard.classfile.Signature
+
 
+
fqName - Variable in class proguard.resources.kotlinmodule.KotlinModulePackage
+
 
+
frame - Variable in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
frame - Variable in class proguard.dexfile.ir.stmt.Stmt
+
+
Used in Local Split, forward frame of the Stmt
+
+
frem() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
frem() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
freturn() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
freturn() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
from - Variable in class proguard.dexfile.ir.expr.CastExpr
+
 
+
fstore(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fstore(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fstore_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fstore_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fstore_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fstore_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fstore_2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fstore_2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fstore_3() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fstore_3() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
fsub() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fsub() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
FULL_FRAME - Static variable in class proguard.classfile.attribute.preverification.StackMapFrame
+
 
+
FullFrame - Class in proguard.classfile.attribute.preverification
+
+
This StackMapFrame represents a "full frame".
+
+
FullFrame() - Constructor for class proguard.classfile.attribute.preverification.FullFrame
+
+
Creates an uninitialized FullFrame.
+
+
FullFrame(int, int, VerificationType[], int, VerificationType[]) - Constructor for class proguard.classfile.attribute.preverification.FullFrame
+
+
Creates a FullFrame with the given variables and stack.
+
+
FullFrame(int, VerificationType[], VerificationType[]) - Constructor for class proguard.classfile.attribute.preverification.FullFrame
+
+
Creates a FullFrame with the given variables and stack.
+
+
FUNCTION_NAME_ANONYMOUS - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
FUNCTION_NAME_MANGLE_SEPARATOR - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
FUNCTION_REFERENCE_CLASS_NAME - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
FunctionalInterfaceFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to another given ClassVisitor, but only + for functional interfaces, that is, interface classes that have exactly one abstract method.
+
+
FunctionalInterfaceFilter(ClassVisitor) - Constructor for class proguard.classfile.visitor.FunctionalInterfaceFilter
+
+
Creates a new ProgramClassFilter.
+
+
FunctionIntegrity - Class in proguard.util.kotlin.asserter.constraint
+
+
This class checks the assumption: All functions need a JVM signature
+
+
FunctionIntegrity() - Constructor for class proguard.util.kotlin.asserter.constraint.FunctionIntegrity
+
 
+
functionNodes - Variable in class proguard.analysis.cpa.defaults.Cfa
+
 
+
FunctionReferenceInfo - Class in proguard.classfile.kotlin.reflect
+
+
FunctionReference info.
+
+
FunctionReferenceInfo(Clazz, KotlinDeclarationContainerMetadata, KotlinFunctionMetadata) - Constructor for class proguard.classfile.kotlin.reflect.FunctionReferenceInfo
+
 
+
functions - Variable in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
functions - Variable in class proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata
+
 
+
functionsAccept(Clazz, KotlinFunctionVisitor) - Method in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
functionsAccept(Clazz, KotlinFunctionVisitor) - Method in class proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata
+
 
+
+ + + +

G

+
+
G - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
G - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
gArrayValues - Variable in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
+
reference to values
+
+
GE - proguard.dexfile.ir.expr.Value.VT
+
 
+
generalize(Set<TypedReferenceValue>) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
generalize(Stack) - Method in class proguard.evaluation.Stack
+
+
Generalizes the values of this Stack with the values of the given Stack.
+
+
generalize(TracedStack) - Method in class proguard.evaluation.TracedStack
+
 
+
generalize(TracedVariables, boolean) - Method in class proguard.evaluation.TracedVariables
+
 
+
generalize(ArrayReferenceValue) - Method in class proguard.evaluation.value.ArrayReferenceValue
+
 
+
generalize(ArrayReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other ArrayReferenceValue.
+
+
generalize(ArrayReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(DetailedArrayReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other + DetailedArrayReferenceValue.
+
+
generalize(DetailedArrayReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the generalization of this DoubleValue and the given other DoubleValue.
+
+
generalize(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
generalize(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
generalize(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
generalize(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the generalization of this FloatValue and the given other FloatValue.
+
+
generalize(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
generalize(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
generalize(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
generalize(IdentifiedArrayReferenceValue) - Method in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
generalize(IdentifiedArrayReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other + IdentifiedArrayReferenceValue.
+
+
generalize(IdentifiedArrayReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(IdentifiedReferenceValue) - Method in class proguard.evaluation.value.IdentifiedReferenceValue
+
 
+
generalize(IdentifiedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other IdentifiedReferenceValue.
+
+
generalize(IdentifiedReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(InstructionOffsetValue) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns the generalization of this InstructionOffsetValue and the given other + InstructionOffsetValue.
+
+
generalize(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the generalization of this IntegerValue and the given other IntegerValue.
+
+
generalize(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
generalize(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
generalize(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
generalize(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
generalize(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the generalization of this LongValue and the given other LongValue.
+
+
generalize(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
generalize(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
generalize(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
generalize(MultiTypedReferenceValue) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
generalize(MultiTypedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other MultiTypedReferenceValue.
+
+
generalize(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the generalization of this DoubleValue and the given other ParticularDoubleValue.
+
+
generalize(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
generalize(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the generalization of this FloatValue and the given other ParticularFloatValue.
+
+
generalize(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
generalize(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the generalization of this IntegerValue and the given other ParticularIntegerValue.
+
+
generalize(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
generalize(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
generalize(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the generalization of this LongValue and the given other ParticularLongValue.
+
+
generalize(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
generalize(ParticularReferenceValue) - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
generalize(ParticularReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other ParticularReferenceValue.
+
+
generalize(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the generalization of this IntegerValue and the given other RangeIntegerValue.
+
+
generalize(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
generalize(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
generalize(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.ArrayReferenceValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.IdentifiedReferenceValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other ReferenceValue.
+
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.UnknownReferenceValue
+
 
+
generalize(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the generalization of this DoubleValue and the given other SpecificDoubleValue.
+
+
generalize(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
generalize(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the generalization of this FloatValue and the given other SpecificFloatValue.
+
+
generalize(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
generalize(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the generalization of this IntegerValue and the given other SpecificIntegerValue.
+
+
generalize(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
generalize(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the generalization of this LongValue and the given other SpecificLongValue.
+
+
generalize(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
generalize(TracedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other TracedReferenceValue.
+
+
generalize(TracedReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(TracingValue) - Method in class proguard.evaluation.value.TracingValue
+
+
Returns the generalization of this TracingValue and the given other TracingValue.
+
+
generalize(TypedReferenceValue) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
generalize(TypedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other TypedReferenceValue.
+
+
generalize(TypedReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(TypedReferenceValue) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
generalize(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the generalization of this IntegerValue and the given other UnknownIntegerValue.
+
+
generalize(UnknownReferenceValue) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
generalize(UnknownReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other UnknownReferenceValue.
+
+
generalize(UnknownReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(Value) - Method in class proguard.evaluation.value.DoubleValue
+
 
+
generalize(Value) - Method in class proguard.evaluation.value.FloatValue
+
 
+
generalize(Value) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
generalize(Value) - Method in class proguard.evaluation.value.IntegerValue
+
 
+
generalize(Value) - Method in class proguard.evaluation.value.LongValue
+
 
+
generalize(Value) - Method in class proguard.evaluation.value.ReferenceValue
+
 
+
generalize(Value) - Method in class proguard.evaluation.value.TopValue
+
 
+
generalize(Value) - Method in class proguard.evaluation.value.TracingValue
+
 
+
generalize(Value) - Method in class proguard.evaluation.value.UnknownValue
+
 
+
generalize(Value) - Method in class proguard.evaluation.value.Value
+
+
Returns the generalization of this Value and the given other Value.
+
+
generalize(Variables, boolean) - Method in class proguard.evaluation.Variables
+
+
Generalizes the values of this Variables object with the values of the given Variables object.
+
+
generalizeInstructionBlock(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
generalizeInstructionBlock(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int) - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
generalizeInstructionBlock(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
The instruction has been seen a certain number of times and the evaluator deems it time to + start generalizing the instruction.
+
+
generalizeMayBeNull(boolean) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
generalizeSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
generalizeSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
The partial evaluator will start generalizing the results of the evaluated subroutine.
+
+
generateAbstractSuccessors(AbstractState, Precision) - Method in class proguard.analysis.cpa.bam.BamTransferRelation
+
+
In order to implement an inter-procedural analysis the abstract successors are calculated for + the following cases:
+
+
generateAbstractSuccessors(AbstractState, Precision) - Method in class proguard.analysis.cpa.defaults.SingleWrapperTransferRelation
+
 
+
generateAbstractSuccessors(AbstractState, Precision) - Method in interface proguard.analysis.cpa.interfaces.ProgramLocationDependentTransferRelation
+
 
+
generateAbstractSuccessors(AbstractState, Precision) - Method in interface proguard.analysis.cpa.interfaces.TransferRelation
+
+
Returns abstract successor states of the abstractState under the selected + precision.
+
+
generateAbstractSuccessors(AbstractState, Precision) - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationTransferRelation
+
 
+
generateEdgeAbstractSuccessor(AbstractState, JvmCfaEdge, Precision) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceTransferRelation
+
 
+
generateEdgeAbstractSuccessor(AbstractState, JvmCfaEdge, Precision) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
 
+
generateEdgeAbstractSuccessors(AbstractState, CfaEdgeT, Precision) - Method in interface proguard.analysis.cpa.interfaces.ProgramLocationDependentTransferRelation
+
+
Computes the successor states for the CFA edge.
+
+
generateEdgeAbstractSuccessors(AbstractState, JvmCfaEdge, Precision) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceTransferRelation
+
 
+
generateEdgeAbstractSuccessors(AbstractState, JvmCfaEdge, Precision) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTransferRelation
+
 
+
generateEdgeAbstractSuccessors(AbstractState, JvmCfaEdge, Precision) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
generateGetterName(String) - Static method in class proguard.classfile.util.kotlin.KotlinNameUtil
+
 
+
generateMethodSignaturesForModel(ReflectiveModelExecutor.SupportedModelInfo<T>, HierarchyProvider) - Static method in class proguard.evaluation.executor.ReflectiveModelExecutor
+
+
Computes the methods the executor needs to support for the specified classes.
+
+
generateReferenceId() - Static method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
generateSetterName(String) - Static method in class proguard.classfile.util.kotlin.KotlinNameUtil
+
 
+
GENERIC_BOUND - Static variable in class proguard.classfile.TypeConstants
+
 
+
GENERIC_END - Static variable in class proguard.classfile.TypeConstants
+
 
+
GENERIC_START - Static variable in class proguard.classfile.TypeConstants
+
 
+
GENERIC_VARIABLE_START - Static variable in class proguard.classfile.TypeConstants
+
 
+
get(int) - Method in class proguard.io.ClassPath
+
 
+
get(Object) - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
get(K) - Method in class proguard.util.MultiValueMap
+
 
+
get(AbstractState, Precision, SignatureT) - Method in interface proguard.analysis.cpa.bam.BamCache
+
+
Gets the block abstraction identified by the provided keys from the cache.
+
+
get(AbstractState, Precision, SignatureT) - Method in class proguard.analysis.cpa.bam.BamCacheImpl
+
 
+
get(Precision, SignatureT) - Method in interface proguard.analysis.cpa.bam.BamCache
+
+
Returns a collection of all the cache entries for a specified method with a certain precision, + empty in case there are not such entries.
+
+
get(Precision, SignatureT) - Method in class proguard.analysis.cpa.bam.BamCacheImpl
+
 
+
get(SignatureT) - Method in interface proguard.analysis.cpa.bam.BamCache
+
+
Returns a collection of all the cache entries for a specified method, empty in case there are + not such entries.
+
+
get(SignatureT) - Method in class proguard.analysis.cpa.bam.BamCacheImpl
+
 
+
GET_PREFIX - Static variable in class proguard.classfile.util.kotlin.KotlinNameUtil
+
 
+
getAabFilter() - Method in class proguard.io.ClassPathEntry
+
+
Returns the name filter that is applied to aab files in this entry, if any.
+
+
getAarFilter() - Method in class proguard.io.ClassPathEntry
+
+
Returns the name filter that is applied to aar files in this entry, if any.
+
+
getAbortOperator() - Method in class proguard.analysis.cpa.defaults.CpaRun
+
+
Returns the abort operator.
+
+
getAbstractByteConstant(byte) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
getAbstractByteConstant(byte) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns an abstract representation of a byte constant b.
+
+
getAbstractDefault() - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceTransferRelation
+
 
+
getAbstractDefault() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTransferRelation
+
 
+
getAbstractDefault() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
getAbstractDefault() - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns a default abstract state.
+
+
getAbstractDomain() - Method in class proguard.analysis.cpa.bam.BamCpa
+
+
Returns the abstract domain of the wrapped CPA.
+
+
getAbstractDomain() - Method in class proguard.analysis.cpa.defaults.SimpleCpa
+
 
+
getAbstractDomain() - Method in interface proguard.analysis.cpa.interfaces.ConfigurableProgramAnalysis
+
+
Returns the abstract domain of this CPA.
+
+
getAbstractDoubleConstant(double) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
getAbstractDoubleConstant(double) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns an abstract representation of a double constant d.
+
+
getAbstractFloatConstant(float) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
getAbstractFloatConstant(float) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns an abstract representation of a float constant f.
+
+
getAbstractIntegerConstant(int) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
getAbstractIntegerConstant(int) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns an abstract representation of an integer constant i.
+
+
getAbstractLongConstant(long) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
getAbstractLongConstant(long) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns an abstract representation of a long constant l.
+
+
getAbstractNull() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
getAbstractNull() - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns an abstract representation of a null reference.
+
+
getAbstractReferenceValue(String) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
getAbstractReferenceValue(String) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns an abstract representation of a reference value object.
+
+
getAbstractReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
getAbstractReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns an abstract representation of a reference value object.
+
+
getAbstractReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
getAbstractReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns an abstract representation of a reference value object.
+
+
getAbstractShortConstant(short) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
getAbstractShortConstant(short) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns an abstract representation of a short constant s.
+
+
getAbstractState() - Method in class proguard.analysis.cpa.defaults.PrecisionAdjustmentResult
+
+
Returns the abstract state.
+
+
getAbstractSuccessorForInstruction(JvmAbstractState<SetAbstractState<JvmTaintSource>>, Instruction, Clazz, Precision) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTransferRelation
+
 
+
getAbstractSuccessorForInstruction(JvmAbstractState<StateT>, Instruction, Clazz, Precision) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns the result of applying instruction to the abstractState.
+
+
getAccessFlags() - Method in interface proguard.classfile.Clazz
+
+
Returns the access flags of this class.
+
+
getAccessFlags() - Method in class proguard.classfile.LibraryClass
+
 
+
getAccessFlags() - Method in class proguard.classfile.LibraryMember
+
 
+
getAccessFlags() - Method in interface proguard.classfile.Member
+
+
Returns the access flags.
+
+
getAccessFlags() - Method in class proguard.classfile.ProgramClass
+
 
+
getAccessFlags() - Method in class proguard.classfile.ProgramMember
+
 
+
getActualMaxSize() - Method in class proguard.evaluation.Stack
+
+
Returns the actual maximum stack size that was required for all stack operations, accounting + for the double space required by Category 2 values.
+
+
getActualType() - Method in exception proguard.evaluation.exception.ValueTypeException
+
 
+
getAllMethods() - Method in interface proguard.analysis.cpa.bam.BamCache
+
+
Returns a set of all the methods that have an entry in the cache.
+
+
getAllMethods() - Method in class proguard.analysis.cpa.bam.BamCacheImpl
+
 
+
getAllNodes() - Method in class proguard.analysis.cpa.defaults.Cfa
+
+
Returns a stream of all the nodes present in the graph.
+
+
getAllNodes() - Method in class proguard.analysis.cpa.jvm.cfa.JvmCfa
+
 
+
getAllPredecessors() - Method in class proguard.analysis.datastructure.callgraph.Node
+
+
Get all predecessors of this node.
+
+
getAnalyzedMethods() - Method in class proguard.analysis.cpa.defaults.BamCpaRun
+
 
+
getAnswer() - Static method in class com.example.SampleClassWithArray
+
 
+
getAnswer() - Static method in class com.example.SampleClassWithConstantComputation
+
 
+
getAnswer() - Static method in class com.example.SampleClassWithRangeComputation
+
 
+
getAnswer(int, int) - Static method in class com.example.SampleClassWithVariableComputation
+
 
+
getAnswer(Number) - Static method in class com.example.SampleClassWithObjects
+
 
+
getApkFilter() - Method in class proguard.io.ClassPathEntry
+
+
Returns the name filter that is applied to apk files in this entry, if any.
+
+
getArgs() - Method in class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
getArgument(int) - Method in class proguard.analysis.datastructure.callgraph.Call
+
+
Get the value for a specific argument index.
+
+
getArgumentCount() - Method in class proguard.analysis.datastructure.callgraph.Call
+
+
Returns the number of arguments.
+
+
getArgumentTypes() - Method in class proguard.classfile.MethodDescriptor
+
 
+
getArray() - Method in exception proguard.evaluation.exception.ArrayStoreTypeException
+
 
+
getArrayElementOrDefault(T, StateT, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.JvmForgetfulHeapAbstractState
+
 
+
getArrayElementOrDefault(T, StateT, StateT) - Method in interface proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState
+
+
Returns an array element at the specified index or the defaultValue, if + the element is unset.
+
+
getArrayElementOrDefault(T, StateT, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
getArrayElementOrDefault(T, StateT, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns an abstract state for the array element at the given index or the + abstractDefault if there is no information available.
+
+
getAssumedCase() - Method in class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeCaseCfaEdge
+
+
Returns the assumed integer value of the switch variable made on this edge.
+
+
getAttribute(Clazz, String) - Method in class proguard.classfile.attribute.CodeAttribute
+
+
Returns the (first) attribute with the given name.
+
+
getAttributeName(Clazz) - Method in class proguard.classfile.attribute.Attribute
+
+
Returns the String name of the attribute.
+
+
getBootstrapMethodAttributeIndex() - Method in class proguard.classfile.constant.DynamicConstant
+
+
Returns the index of the bootstrap method in the bootstrap methods attribute of the class.
+
+
getBootstrapMethodAttributeIndex() - Method in class proguard.classfile.constant.InvokeDynamicConstant
+
+
Returns the index of the bootstrap method in the bootstrap methods attribute of the class.
+
+
getBootstrapMethodIndex() - Method in class proguard.classfile.editor.BootstrapMethodInfoAdder
+
+
Returns the index of the most recently added bootstrap method.
+
+
getBootstrapMethodIndex() - Method in class proguard.classfile.editor.BootstrapMethodsAttributeAdder
+
+
Returns the index of the most recently added bootstrap method.
+
+
getBottom(int) - Method in class proguard.evaluation.Stack
+
+
Gets the specified Value from the stack, without disturbing it.
+
+
getBottomActualProducerValue(int) - Method in class proguard.evaluation.TracedStack
+
+
Gets the specified actual producer Value from the stack, ignoring dup/swap instructions, + without disturbing it.
+
+
getBottomProducerValue(int) - Method in class proguard.evaluation.TracedStack
+
+
Gets the specified producer Value from the stack, without disturbing it.
+
+
getBound() - Method in exception proguard.evaluation.exception.ArrayIndexOutOfBounds
+
 
+
getBound() - Method in exception proguard.evaluation.exception.VariableIndexOutOfBoundException
+
 
+
getBytes() - Method in class proguard.classfile.constant.Utf8Constant
+
+
Returns the UTF-8 data as an array of bytes.
+
+
getCache() - Method in class proguard.analysis.cpa.bam.BamCpa
+
+
Returns the BAM cache used by the CPA.
+
+
getCache() - Method in class proguard.analysis.cpa.bam.BamTransferRelation
+
+
Returns BAM cache storing analysis result for various method calls.
+
+
getCall() - Method in interface proguard.analysis.cpa.interfaces.CallEdge
+
+
Get the information about the procedure call represented by the edge.
+
+
getCall() - Method in class proguard.analysis.cpa.jvm.cfa.edges.JvmCallCfaEdge
+
 
+
getCaller() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Get the code location of the call site.
+
+
getCatchType() - Method in class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeExceptionCfaEdge
+
+
Returns the integer representing the exception type in the exception table of the method the + node belongs to.
+
+
getCatchType() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCatchCfaNode
+
+
Returns the integer representing the exception type in the exception table of the method the + node belongs to.
+
+
getCfa() - Method in class proguard.analysis.cpa.bam.BamCpa
+
+
Returns the CFA used by the CPA.
+
+
getCfa() - Method in class proguard.analysis.cpa.bam.BamTransferRelation
+
+
Returns the CFA used by the transfer relation.
+
+
getCfa() - Method in class proguard.analysis.cpa.defaults.BamCpaRun
+
+
Returns the CFA.
+
+
getCfa() - Method in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun
+
 
+
getClass(String) - Method in class proguard.classfile.ClassPool
+
+
Returns a Clazz from the class pool based on its name.
+
+
getClassForArray(String) - Static method in class proguard.evaluation.value.ReflectiveMethodCallUtil
+
+
Deprecated.
+
getClassForPrimitive(char) - Static method in class proguard.evaluation.value.ReflectiveMethodCallUtil
+
+
Deprecated.
+
Returns the Class for the given primitive type.
+
+
getClassIndex() - Method in class proguard.classfile.constant.RefConstant
+
+
Returns the class index.
+
+
getClassName() - Method in class proguard.classfile.Signature
+
 
+
getClassName() - Method in class proguard.dexfile.ir.expr.InvokeNewExpr
+
 
+
getClassName(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the class name of ClassConstant at the specified index.
+
+
getClassName(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getClassName(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getClassName(Clazz) - Method in class proguard.classfile.attribute.annotation.ClassElementValue
+
+
Returns the class info name.
+
+
getClassName(Clazz) - Method in class proguard.classfile.attribute.EnclosingMethodAttribute
+
+
Returns the class name.
+
+
getClassName(Clazz) - Method in class proguard.classfile.constant.MethodHandleConstant
+
+
Returns the class name.
+
+
getClassName(Clazz) - Method in class proguard.classfile.constant.RefConstant
+
+
Returns the class name.
+
+
getClassNames() - Method in interface proguard.dexfile.reader.BaseDexFileReader
+
 
+
getClassNames() - Method in class proguard.dexfile.reader.DexContainerReader
+
 
+
getClassNames() - Method in class proguard.dexfile.reader.DexFileReader
+
 
+
getClassPathEntries() - Method in class proguard.io.ClassPath
+
+
Returns the list of class path entries for this class path.
+
+
getClassSize() - Method in class proguard.dexfile.reader.DexFileReader
+
+
the size of class in dex file
+
+
getClassVisitor() - Method in class proguard.classfile.visitor.VariableClassVisitor
+
 
+
getClazz() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
+
Returns the class the node belongs to.
+
+
getClazz() - Method in exception proguard.classfile.exception.NegativeStackSizeException
+
 
+
getClazz() - Method in exception proguard.evaluation.exception.PartialEvaluatorException
+
 
+
getClazz() - Method in class proguard.evaluation.value.object.model.ClassModel
+
 
+
getClazz(String) - Method in class proguard.util.BasicHierarchyProvider
+
 
+
getClazz(String) - Method in interface proguard.util.HierarchyProvider
+
 
+
getCodeLength() - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Returns the current length (in bytes) of the code attribute being composed.
+
+
getCodeLength() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Returns the current length (in bytes) of the code attribute being composed.
+
+
getComponentErrorId() - Method in exception proguard.exception.ProguardCoreException
+
+
Returns the id for the error (exception).
+
+
getConstant(int) - Method in class proguard.classfile.ProgramClass
+
+
Returns the Constant at the given index in the constant pool.
+
+
getConstantIndex() - Method in class proguard.classfile.editor.ConstantAdder
+
+
Returns the index of the most recently created constant in the constant pool of the target + class.
+
+
getConstantName(Clazz) - Method in class proguard.classfile.attribute.annotation.EnumConstantElementValue
+
+
Returns the constant name.
+
+
getConstantPoolEditor() - Method in class proguard.classfile.editor.ClassBuilder
+
+
Returns a ConstantPoolEditor instance for the created or edited class instance.
+
+
getConstantPoolEditor() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Returns a ConstantPoolEditor instance for the created or edited class instance.
+
+
getConstantPoolEditor() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Returns the ConstantPoolEditor used by this builder to create constants.
+
+
getConstantPoolEditor() - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
Returns a ConstantPoolEditor instance for the created or edited class instance.
+
+
getConstructorDescriptor() - Method in class proguard.backport.LambdaExpression
+
 
+
getConstructorHandlers(Class<T>) - Static method in class proguard.evaluation.value.object.model.reflective.ModelHelper
+
+
Given a model class, use reflection to build a mapping from BasicMethodInfos used by + the analysis to identify a constructor to the Method handler to the method modeling it, + in order to be able to invoke it.
+
+
getCount() - Method in class proguard.classfile.attribute.visitor.AttributeCounter
+
+
Returns the number of class members that has been visited so far.
+
+
getCount() - Method in class proguard.classfile.constant.visitor.ConstantCounter
+
+
Returns the number of class members that has been visited so far.
+
+
getCount() - Method in class proguard.classfile.instruction.visitor.InstructionCounter
+
 
+
getCount() - Method in class proguard.classfile.visitor.ClassCounter
+
 
+
getCount() - Method in class proguard.classfile.visitor.ExceptionCounter
+
+
Returns the number of exceptions that has been visited so far.
+
+
getCount() - Method in class proguard.classfile.visitor.MemberCounter
+
+
Returns the number of class members that has been visited so far.
+
+
getCount() - Method in class proguard.classfile.visitor.MethodCounter
+
 
+
getCount() - Method in interface proguard.util.Counter
+
+
Returns the current value of the counter.
+
+
getCount() - Method in interface proguard.util.kotlin.asserter.Reporter
+
 
+
getCpa() - Method in class proguard.analysis.cpa.defaults.BamCpaRun
+
 
+
getCpa() - Method in class proguard.analysis.cpa.defaults.CpaRun
+
+
Returns the CPA.
+
+
getDefaultInstanceHandler() - Method in class proguard.evaluation.executor.ReflectionExecutor
+
+
Provides a default instance handler used by the executor in case the reflective execution + fails.
+
+
getDefaultInstanceHandler() - Method in class proguard.evaluation.executor.StringReflectionExecutor
+
 
+
getDepth() - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
+
Returns the depth of the action node with regard to the root map.
+
+
getDesc() - Method in class proguard.dexfile.reader.Method
+
 
+
getDesc() - Method in class proguard.dexfile.reader.Proto
+
 
+
getDescriptor() - Method in class proguard.classfile.BasicMethodInfo
+
 
+
getDescriptor() - Method in interface proguard.classfile.MethodInfo
+
+
Returns the method's descriptor.
+
+
getDescriptor() - Method in class proguard.classfile.MethodSignature
+
 
+
getDescriptor(Method) - Static method in class proguard.analysis.CallResolver
+
+
Get the Descriptor of a Method.
+
+
getDescriptor(Clazz) - Method in class proguard.classfile.attribute.LocalVariableInfo
+
+
Returns the descriptor.
+
+
getDescriptor(Clazz) - Method in class proguard.classfile.attribute.RecordComponentInfo
+
+
Returns the record component descriptor descriptor.
+
+
getDescriptor(Clazz) - Method in class proguard.classfile.LibraryMember
+
 
+
getDescriptor(Clazz) - Method in interface proguard.classfile.Member
+
+
Returns the class member's descriptor.
+
+
getDescriptor(Clazz) - Method in class proguard.classfile.ProgramMember
+
 
+
getDescriptorIndex() - Method in class proguard.classfile.constant.MethodTypeConstant
+
+
Returns the descriptor index.
+
+
getDescriptorIndex() - Method in class proguard.classfile.constant.NameAndTypeConstant
+
+
Returns the descriptor index.
+
+
getDexVersion() - Method in interface proguard.dexfile.reader.BaseDexFileReader
+
 
+
getDexVersion() - Method in class proguard.dexfile.reader.DexContainerReader
+
 
+
getDexVersion() - Method in class proguard.dexfile.reader.DexFileReader
+
 
+
getDisplayName() - Method in class proguard.dexfile.ir.stmt.LabelStmt
+
 
+
getDummyObject(Class<T>) - Static method in class proguard.evaluation.value.object.model.reflective.ModelHelper
+
 
+
getEarFilter() - Method in class proguard.io.ClassPathEntry
+
+
Returns the name filter that is applied to ear files in this entry, if any.
+
+
getEdges(ProgramLocationDependent<CfaNodeT, CfaEdgeT, SignatureT>) - Method in interface proguard.analysis.cpa.interfaces.ProgramLocationDependentBackwardTransferRelation
+
 
+
getEdges(ProgramLocationDependent<CfaNodeT, CfaEdgeT, SignatureT>) - Method in interface proguard.analysis.cpa.interfaces.ProgramLocationDependentForwardTransferRelation
+
 
+
getEdges(ProgramLocationDependent<CfaNodeT, CfaEdgeT, SignatureT>) - Method in interface proguard.analysis.cpa.interfaces.ProgramLocationDependentTransferRelation
+
 
+
getEndPoints() - Method in interface proguard.analysis.cpa.jvm.domain.memory.TraceExtractor
+
+
Returns endpoints or the extracted traces.
+
+
getEndPoints() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun
+
 
+
getEndPointToSinks() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun
+
 
+
getEnteringEdges() - Method in interface proguard.analysis.cpa.interfaces.CfaNode
+
+
Returns a list of entering edges.
+
+
getEnteringEdges() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
 
+
getEnteringIntraproceduralEdges() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
+
Returns the edges entering the node that do not come from another method.
+
+
getEnteringInvokeEdge() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
+
If the node is the location after a method invocation, returns the entering JvmInstructionCfaEdge for the method invocation, empty otherwise.
+
+
getErrorParameters() - Method in exception proguard.exception.ProguardCoreException
+
+
Returns the list of information related to this error.
+
+
getExceptedType() - Method in exception proguard.evaluation.exception.ValueTypeException
+
 
+
getExceptionValue(Clazz, ClassConstant) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
getExceptionValue(Clazz, ClassConstant) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
 
+
getExceptionValue(Clazz, ClassConstant) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
+
Returns the value of the specified exception.
+
+
getExecutionInfo() - Method in class proguard.evaluation.value.object.model.reflective.ModelHelper.MethodExecutionContext
+
 
+
getExpandOperator() - Method in class proguard.analysis.cpa.bam.BamCpa
+
+
Returns the expand operator of the wrapped CPA.
+
+
getExpandOperator() - Method in class proguard.analysis.cpa.bam.CpaWithBamOperators
+
+
Returns the ExpandOperator.
+
+
getExpectedType() - Method in exception proguard.evaluation.exception.StackTypeException
+
 
+
getExpectedType() - Method in exception proguard.evaluation.exception.VariableTypeException
+
 
+
getExternalClassName() - Method in class proguard.analysis.datastructure.CodeLocation
+
 
+
getExternalPackageName() - Method in class proguard.classfile.Signature
+
 
+
getExtraFeatureNames() - Method in interface proguard.util.FeatureNamed
+
+
Returns the set of feature names for this entity.
+
+
getExtraFeatureNames() - Method in class proguard.util.SimpleFeatureNamedProcessable
+
 
+
getFeatureName() - Method in class proguard.io.ClassPathEntry
+
+
Returns the feature name.
+
+
getFeatureName() - Method in interface proguard.util.FeatureNamed
+
+
Returns the feature name for this entity.
+
+
getFeatureName() - Method in class proguard.util.SimpleFeatureNamedProcessable
+
 
+
getfield(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getfield(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getfield(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getfield(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getfield(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getfield(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getfield(Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getfield(Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getField() - Method in class proguard.dexfile.reader.MethodHandle
+
 
+
getFieldClassValue(Clazz, FieldrefConstant, String) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
getFieldClassValue(Clazz, FieldrefConstant, String) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
 
+
getFieldClassValue(Clazz, FieldrefConstant, String) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
+
Returns the class though which the specified field is accessed.
+
+
getFieldOrDefault(T, String, SetAbstractState<Reference>) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceAbstractState
+
 
+
getFieldOrDefault(T, String, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.JvmForgetfulHeapAbstractState
+
 
+
getFieldOrDefault(T, String, StateT) - Method in interface proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState
+
+
Returns a field fqn from a reference object.
+
+
getFieldOrDefault(T, String, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
getFieldOrDefault(T, String, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns an abstract state representing the field descriptor of the object or + defaultState if there is no entry.
+
+
getFieldOrDefault(T, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns an abstract state representing the default field of the object or + defaultState if there is no entry.
+
+
getFieldValue(Clazz, FieldrefConstant, String) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
getFieldValue(Clazz, FieldrefConstant, String) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
 
+
getFieldValue(Clazz, FieldrefConstant, String) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
 
+
getFieldValue(Clazz, FieldrefConstant, String) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
+
Returns the value of the specified field.
+
+
getFile() - Method in class proguard.io.ClassPathEntry
+
+
Returns the file.
+
+
getFile() - Method in class proguard.io.FileDataEntry
+
+
Returns the complete file, including its directory.
+
+
getFileName() - Method in class proguard.resources.file.ResourceFile
+
+
Returns the file name.
+
+
getFileSize() - Method in class proguard.resources.file.ResourceFile
+
+
Returns the file size.
+
+
getFilter() - Method in class proguard.io.ClassPathEntry
+
+
Returns the name filter that is applied to bottom-level files in this entry.
+
+
getFilterExcludingVersionedClasses(ClassPathEntry) - Static method in class proguard.io.DataEntryReaderFactory
+
+
Method to return an augmented filter for supported features.
+
+
getFirst() - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
getFirst() - Method in exception proguard.evaluation.exception.StackGeneralizationException
+
 
+
getFirst() - Method in exception proguard.evaluation.exception.VariablesGeneralizationException
+
 
+
getFoundValue() - Method in exception proguard.evaluation.exception.StackCategoryOneException
+
 
+
getFoundValue() - Method in exception proguard.evaluation.exception.StackTypeException
+
 
+
getFoundValue() - Method in exception proguard.evaluation.exception.VariableTypeException
+
 
+
getFqn() - Method in class proguard.classfile.Signature
+
 
+
getFrame() - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns the frame abstract state.
+
+
getFrame(Stmt) - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
getFromFrame(int) - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
getFunctionCatchNode(MethodSignature, int) - Method in class proguard.analysis.cpa.jvm.cfa.JvmCfa
+
+
Returns the catch node of a method the handler of which begins at the specific code offset, + returns null if the method or the specific catch node are not in the graph.
+
+
getFunctionCatchNodes(MethodSignature) - Method in class proguard.analysis.cpa.jvm.cfa.JvmCfa
+
+
Returns all the catch nodes of a specific method, returns an empty collection if the function + is not in the graph or if it has no catch nodes.
+
+
getFunctionEntryNode(SignatureT) - Method in class proguard.analysis.cpa.defaults.Cfa
+
+
Returns the entry node of a specific function (with offset 0), returns null if the function or + its entry node are not in the graph.
+
+
getFunctionEntryNodes() - Method in class proguard.analysis.cpa.defaults.Cfa
+
+
Returns a collection of the entry nodes (with offset 0) of all the functions present in the + graph, returns an empty collection if the graph is empty.
+
+
getFunctionExceptionExitNode(MethodSignature, Clazz) - Method in class proguard.analysis.cpa.jvm.cfa.JvmCfa
+
+
Returns the exception exit node (i.e.
+
+
getFunctionNode(Clazz, Method, int) - Method in class proguard.analysis.cpa.defaults.Cfa
+
+
Returns the node of a function at a specific code offset, returns null if the function or the + specific node are not in the graph.
+
+
getFunctionNode(SignatureT, int) - Method in class proguard.analysis.cpa.defaults.Cfa
+
+
Returns the node of a function at a specific code offset, returns null if the function or the + specific node are not in the graph.
+
+
getFunctionNodes(SignatureT) - Method in class proguard.analysis.cpa.defaults.Cfa
+
+
Returns all the nodes of a specific function, returns an empty collection if the function is + not in the graph or if it has no nodes.
+
+
getFunctionReturnExitNode(MethodSignature, Clazz) - Method in class proguard.analysis.cpa.jvm.cfa.JvmCfa
+
+
Returns the exit node of the specified method if present, otherwise creates the exit node for + the method and returns it.
+
+
getFurthestPredecessors() - Method in class proguard.analysis.datastructure.callgraph.Node
+
+
Get the predecessor leaf nodes in the call sub-graph represented by this node.
+
+
getFurthestSuccessors() - Method in class proguard.analysis.datastructure.callgraph.Node
+
+
Get the successor leaf nodes in the call sub-graph represented by this node.
+
+
getGeneralizedType() - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
getHeap() - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns the heap abstract state.
+
+
getHighestLineNumber() - Method in class proguard.classfile.attribute.LineNumberTableAttribute
+
+
Returns the highest line number with the default null source, or 0 if there aren't any such + line numbers.
+
+
getHighestLineNumber() - Method in class proguard.classfile.attribute.visitor.LineNumberRangeFinder
+
+
Returns the highest line number that has been visited so far.
+
+
getHostClassName(Clazz) - Method in class proguard.classfile.attribute.NestHostAttribute
+
+
Returns the host class name.
+
+
getIdFromSpecificReferenceValue(ReferenceValue) - Static method in class proguard.util.PartialEvaluatorUtils
+
+
Returns the identifier of a reference value for which Value.isSpecific() is true (i.e., + the reference is identified by a unique number).
+
+
getIndex() - Method in class proguard.analysis.cpa.jvm.witness.JvmStackLocation
+
+
Returns the stack index from the top.
+
+
getIndex() - Method in exception proguard.evaluation.exception.ArrayIndexOutOfBounds
+
 
+
getIndex() - Method in exception proguard.evaluation.exception.VariableEvaluationException
+
 
+
getInitialStates() - Method in class proguard.analysis.cpa.defaults.CpaRun
+
+
Returns a collection of initial AbstractStates.
+
+
getInitialStates() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun
+
 
+
getInitialStates() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun
+
 
+
getInitialStates() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun
+
 
+
getInputCpaRun() - Method in class proguard.analysis.cpa.defaults.SequentialCpaRun
+
 
+
getInputStream() - Method in class proguard.io.ClassPathDataEntry
+
 
+
getInputStream() - Method in interface proguard.io.DataEntry
+
+
Returns an input stream for reading the content of this data entry.
+
+
getInputStream() - Method in class proguard.io.DummyDataEntry
+
 
+
getInputStream() - Method in class proguard.io.FileDataEntry
+
 
+
getInputStream() - Method in class proguard.io.NamedDataEntry
+
 
+
getInputStream() - Method in class proguard.io.StreamingDataEntry
+
 
+
getInputStream() - Method in class proguard.io.WrappedDataEntry
+
 
+
getInputStream() - Method in class proguard.io.ZipDataEntry
+
 
+
getInputStream() - Method in class proguard.io.ZipFileDataEntry
+
 
+
getInstance() - Static method in class proguard.analysis.cpa.state.HashMapAbstractStateFactory
+
 
+
getInstance() - Method in class proguard.analysis.datastructure.callgraph.Call
+
+
If this is a virtual call, this describes the this pointer of the object whose + method is called, usually an IdentifiedReferenceValue.
+
+
getInstance() - Method in class proguard.evaluation.executor.ReflectionExecutor.InstanceCopyResult
+
 
+
getInstanceMethodHandlers(Class<T>) - Static method in class proguard.evaluation.value.object.model.reflective.ModelHelper
+
+
Given a model class, use reflection to build a mapping from BasicMethodInfos used by + the analysis to identify an instance method to the Method handler to the method + modeling it, in order to be able to invoke it.
+
+
getInstanceNonStatic() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Returns the calling instance value of the method, throws if the method is static.
+
+
getInstanceOrCopyIfMutable(ReferenceValue) - Method in class proguard.evaluation.executor.ReflectionExecutor
+
+
Get an object which will act as the calling instance.
+
+
getInstanceOrCopyIfMutable(ReferenceValue) - Method in class proguard.evaluation.executor.StringReflectionExecutor
+
 
+
getInstanceOrNullIfStatic() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Returns the calling instance value of the method, or null if the method is static.
+
+
getInstanceType() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Get the type of the instance, or empty for static methods.
+
+
getInstruction() - Method in class proguard.analysis.cpa.jvm.cfa.edges.JvmInstructionCfaEdge
+
+
Generates and returns the JVM instruction represented by the edge.
+
+
getInstruction() - Method in exception proguard.classfile.exception.NegativeStackSizeException
+
 
+
getInstructionOffset() - Method in exception proguard.classfile.exception.NegativeStackSizeException
+
 
+
getInstructionSequenceMatcher() - Method in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
getInterface(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the interface at the given index.
+
+
getInterface(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getInterface(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getInterfaceCount() - Method in interface proguard.classfile.Clazz
+
+
Returns the number of interfaces that this class implements.
+
+
getInterfaceCount() - Method in class proguard.classfile.LibraryClass
+
 
+
getInterfaceCount() - Method in class proguard.classfile.ProgramClass
+
 
+
getInterfaceName(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the full internal name of the interface at the given index of this class.
+
+
getInterfaceName(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getInterfaceName(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getJarFilter() - Method in class proguard.io.ClassPathEntry
+
+
Returns the name filter that is applied to jar files in this entry, if any.
+
+
getJmodFilter() - Method in class proguard.io.ClassPathEntry
+
+
Returns the name filter that is applied to jmod files in this entry, if any.
+
+
getJson() - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
getJvmArgumentSize() - Method in class proguard.analysis.datastructure.callgraph.Call
+
+
Returns the number of elements that need to be popped from the JVM stack for this call.
+
+
getKnownMethodCallEdges() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
+
Returns all the interprocedural call edges leaving the node with target method the code of + which is known.
+
+
getKotlinType(Clazz) - Static method in class proguard.classfile.kotlin.KotlinConstants
+
+
Get the Kotlin equivalent of a Java type.
+
+
getLambdaClassName() - Method in class proguard.backport.LambdaExpression
+
+
Returns the class name of the converted anonymous class.
+
+
getLast() - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
getLeavingEdges() - Method in interface proguard.analysis.cpa.interfaces.CfaNode
+
+
Returns a list of leaving edges.
+
+
getLeavingEdges() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
 
+
getLeavingInterproceduralEdges() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
+
Returns the edges entering the node that come from another method.
+
+
getLeavingIntraproceduralEdges() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
+
Returns the edges leaving the node that do not come from another method.
+
+
getLeavingInvokeEdge() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
+
If the node is the location before a method invocation, returns the leaving JvmInstructionCfaEdge for the method invocation, empty otherwise.
+
+
getLength() - Method in class proguard.classfile.constant.PrimitiveArrayConstant
+
+
Returns the length of the primitive array.
+
+
getLibraryClass() - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
Returns the created or edited LibraryClass instance.
+
+
getLineNumber(int) - Method in class proguard.classfile.attribute.LineNumberTableAttribute
+
+
Returns the line number corresponding to the given byte code program counter.
+
+
getLineNumberInfo(int) - Method in class proguard.classfile.attribute.LineNumberTableAttribute
+
+
Returns the line number info corresponding to the given byte code program counter.
+
+
getLocalSize() - Method in class proguard.dexfile.ir.ts.an.SimpleLiveAnalyze
+
 
+
getLocalVariables() - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
+
Returns the variable array.
+
+
getLocationDependentMemoryLocation() - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
 
+
getLongSize() - Method in class proguard.io.ZipOutput.LargeDataOutputStream
+
 
+
getLowestLineNumber() - Method in class proguard.classfile.attribute.LineNumberTableAttribute
+
+
Returns the lowest line number with the default null source, or 0 if there aren't any such line + numbers.
+
+
getLowestLineNumber() - Method in class proguard.classfile.attribute.visitor.LineNumberRangeFinder
+
+
Returns the lowest line number that has been visited so far.
+
+
getMainClassName(Clazz) - Method in class proguard.classfile.attribute.module.ModuleMainClassAttribute
+
+
Returns the main class name.
+
+
getMainSignature() - Method in class proguard.analysis.cpa.defaults.BamCpaRun
+
+
Returns the signature of the main procedure.
+
+
getMainSignature() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun
+
 
+
getMainSignature() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun
+
 
+
getMatchingString() - Method in class proguard.util.VariableStringMatcher
+
+
Returns the string that has been matched most recently.
+
+
getMaxCallStackDepth() - Method in class proguard.analysis.cpa.bam.BamTransferRelation
+
+
Returns the maximal call stack depth.
+
+
getMaxCallStackDepth() - Method in class proguard.analysis.cpa.defaults.BamCpaRun
+
+
Returns the maximal call stack depth.
+
+
getMaxStackSize() - Method in class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
+
Returns the maximum stack size of the most recently visited code attribute.
+
+
getMaxStackSize() - Method in class proguard.classfile.attribute.visitor.StackSizeComputer
+
+
Returns the maximum stack size of the most recently visited code attribute.
+
+
getMemberName() - Method in class proguard.analysis.datastructure.CodeLocation
+
 
+
getMemberVisitor() - Method in class proguard.classfile.visitor.VariableMemberVisitor
+
 
+
getMemoryLocation() - Method in class proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation
+
 
+
getMemoryLocations() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink
+
+
Returns memory locations which trigger this taint sink.
+
+
getMemoryLocations() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmReturnTaintSink
+
+
The location of values returned by a method is the top of the stack.
+
+
getMemoryLocations() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSink
+
+
Returns memory locations which trigger this taint sink.
+
+
getMergeOperator() - Method in class proguard.analysis.cpa.bam.BamCpa
+
+
Returns the merge operator of the wrapped CPA.
+
+
getMergeOperator() - Method in class proguard.analysis.cpa.defaults.SimpleCpa
+
 
+
getMergeOperator() - Method in interface proguard.analysis.cpa.interfaces.ConfigurableProgramAnalysis
+
+
Returns the merge operator of this CPA.
+
+
getMethod() - Method in exception proguard.classfile.exception.NegativeStackSizeException
+
 
+
getMethod() - Method in class proguard.dexfile.reader.MethodHandle
+
 
+
getMethod() - Method in exception proguard.evaluation.exception.PartialEvaluatorException
+
 
+
getMethodCode() - Method in class proguard.analysis.cpa.jvm.cfa.edges.JvmInstructionCfaEdge
+
+
Returns the code attribute of the method the node belongs to.
+
+
getMethodName() - Method in class proguard.classfile.BasicMethodInfo
+
 
+
getMethodName() - Method in interface proguard.classfile.MethodInfo
+
+
Returns the method's name.
+
+
getMethodName() - Method in class proguard.classfile.MethodSignature
+
 
+
getMethodName(Clazz) - Method in class proguard.classfile.attribute.annotation.ElementValue
+
+
Returns the element name.
+
+
getMethodParameterValue(Clazz, Method, int, String, Clazz) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
getMethodParameterValue(Clazz, Method, int, String, Clazz) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
 
+
getMethodParameterValue(Clazz, Method, int, String, Clazz) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
+
Returns the value of the specified method parameter.
+
+
getMethodResult(MethodExecutionInfo, ValueCalculator) - Method in interface proguard.evaluation.executor.Executor
+
+
Calculate the result of a given method.
+
+
getMethodResult(MethodExecutionInfo, ValueCalculator) - Method in class proguard.evaluation.executor.JavaReflectionApiExecutor
+
 
+
getMethodResult(MethodExecutionInfo, ValueCalculator) - Method in class proguard.evaluation.executor.ReflectionExecutor
+
 
+
getMethodResult(MethodExecutionInfo, ValueCalculator) - Method in class proguard.evaluation.executor.ReflectiveModelExecutor
+
 
+
getMethodReturnValue(Clazz, AnyMethodrefConstant, String) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
getMethodReturnValue(Clazz, AnyMethodrefConstant, String) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
 
+
getMethodReturnValue(Clazz, AnyMethodrefConstant, String) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
 
+
getMethodReturnValue(Clazz, AnyMethodrefConstant, String) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
+
Returns the return value of the specified method.
+
+
getMethodReturnValue(Clazz, InvokeDynamicConstant, String) - Method in class proguard.evaluation.BasicInvocationUnit
+
+
Returns the return value of the specified method.
+
+
getMethodReturnValue(Clazz, InvokeDynamicConstant, String) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
 
+
getMethodReturnValue(Clazz, InvokeDynamicConstant, String) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
+
Returns the return value of the specified method.
+
+
getModelClass() - Method in class proguard.evaluation.executor.ReflectiveModelExecutor.SupportedModelInfo
+
 
+
getModeledOrNullValue() - Method in interface proguard.evaluation.value.object.AnalyzedObject
+
+
Returns the wrapped value if modeled (i.e, AnalyzedObject.isModeled() is true) or null, + throws if called on a non-modeled and non-null value.
+
+
getModeledValue() - Method in interface proguard.evaluation.value.object.AnalyzedObject
+
+
Returns the wrapped value if modeled (i.e, AnalyzedObject.isModeled() is true), throws + if called on a non-modeled value.
+
+
getModifiedUtf8Bytes(String) - Static method in class proguard.util.StringUtil
+
+
Returns the modified UTF-8 byte array representation of the given string.
+
+
getModifiedUtf8Length(String) - Static method in class proguard.util.StringUtil
+
+
Returns the length of the modified UTF-8 byte array representation of the given string.
+
+
getModuleName(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the name of the ModuleConstant at the specified index.
+
+
getModuleName(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getModuleName(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getName() - Method in class proguard.analysis.datastructure.CodeLocation
+
 
+
getName() - Method in class proguard.analysis.datastructure.FileLocation
+
 
+
getName() - Method in class proguard.analysis.datastructure.Location
+
+
Returns the name of the location, e.g., the signature of a CodeLocation, or the filename of a + FileLocation
+
+
getName() - Method in interface proguard.classfile.Clazz
+
+
Returns the full internal name of this class.
+
+
getName() - Method in class proguard.classfile.instruction.Instruction
+
+
Returns the name of the instruction.
+
+
getName() - Method in interface proguard.classfile.kotlin.reflect.CallableReferenceInfo
+
+
The Kotlin name of the callable, the one which was declared in the source code (@JvmName + doesn't change it).
+
+
getName() - Method in class proguard.classfile.kotlin.reflect.FunctionReferenceInfo
+
 
+
getName() - Method in class proguard.classfile.kotlin.reflect.JavaReferenceInfo
+
 
+
getName() - Method in class proguard.classfile.kotlin.reflect.LocalVariableReferenceInfo
+
 
+
getName() - Method in class proguard.classfile.kotlin.reflect.PropertyReferenceInfo
+
 
+
getName() - Method in class proguard.classfile.LibraryClass
+
 
+
getName() - Method in class proguard.classfile.ProgramClass
+
 
+
getName() - Method in class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
getName() - Method in class proguard.dexfile.reader.Field
+
 
+
getName() - Method in class proguard.dexfile.reader.Method
+
 
+
getName() - Method in class proguard.io.ClassPathDataEntry
+
 
+
getName() - Method in class proguard.io.ClassPathEntry
+
+
Returns the path name of the entry.
+
+
getName() - Method in interface proguard.io.DataEntry
+
+
Returns the name of this data entry.
+
+
getName() - Method in class proguard.io.DummyDataEntry
+
 
+
getName() - Method in class proguard.io.FileDataEntry
+
 
+
getName() - Method in class proguard.io.NamedDataEntry
+
 
+
getName() - Method in class proguard.io.RenamedDataEntry
+
 
+
getName() - Method in class proguard.io.StreamingDataEntry
+
 
+
getName() - Method in class proguard.io.WrappedDataEntry
+
 
+
getName() - Method in class proguard.io.ZipDataEntry
+
 
+
getName() - Method in class proguard.io.ZipFileDataEntry
+
 
+
getName(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the name of the NameAndTypeConstant at the specified index.
+
+
getName(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getName(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getName(Clazz) - Method in class proguard.classfile.attribute.EnclosingMethodAttribute
+
+
Returns the method/field name.
+
+
getName(Clazz) - Method in class proguard.classfile.attribute.LocalVariableInfo
+
+
Returns the name.
+
+
getName(Clazz) - Method in class proguard.classfile.attribute.LocalVariableTypeInfo
+
+
Returns the name.
+
+
getName(Clazz) - Method in class proguard.classfile.attribute.ParameterInfo
+
+
Returns the parameter name.
+
+
getName(Clazz) - Method in class proguard.classfile.attribute.RecordComponentInfo
+
+
Returns the record component descriptor name.
+
+
getName(Clazz) - Method in class proguard.classfile.constant.ClassConstant
+
+
Returns the name.
+
+
getName(Clazz) - Method in class proguard.classfile.constant.DynamicConstant
+
+
Returns the method name.
+
+
getName(Clazz) - Method in class proguard.classfile.constant.InvokeDynamicConstant
+
+
Returns the method name.
+
+
getName(Clazz) - Method in class proguard.classfile.constant.MethodHandleConstant
+
+
Returns the method/field name.
+
+
getName(Clazz) - Method in class proguard.classfile.constant.ModuleConstant
+
+
Returns the name.
+
+
getName(Clazz) - Method in class proguard.classfile.constant.NameAndTypeConstant
+
+
Returns the name.
+
+
getName(Clazz) - Method in class proguard.classfile.constant.PackageConstant
+
+
Returns the name.
+
+
getName(Clazz) - Method in class proguard.classfile.constant.RefConstant
+
+
Returns the method/field name.
+
+
getName(Clazz) - Method in class proguard.classfile.LibraryMember
+
 
+
getName(Clazz) - Method in interface proguard.classfile.Member
+
+
Returns the class member name.
+
+
getName(Clazz) - Method in class proguard.classfile.ProgramMember
+
 
+
GETNAME_METHOD_DESC - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
GETNAME_METHOD_NAME - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
getNameAndTypeIndex() - Method in class proguard.classfile.constant.DynamicConstant
+
+
Returns the name-and-type index.
+
+
getNameAndTypeIndex() - Method in class proguard.classfile.constant.InvokeDynamicConstant
+
+
Returns the name-and-type index.
+
+
getNameAndTypeIndex() - Method in class proguard.classfile.constant.RefConstant
+
+
Returns the name-and-type index.
+
+
getNameIndex() - Method in class proguard.classfile.constant.NameAndTypeConstant
+
+
Returns the name index.
+
+
getNewName(ProgramClass, ProgramMember, String, String) - Method in interface proguard.classfile.editor.ClassReferenceFixer.NameGenerationStrategy
+
+
A method for generating a new name for a program member.
+
+
getNewOffset(int) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Get the new offset corresponding to the given old offset.
+
+
getNext() - Method in class proguard.dexfile.ir.stmt.Stmt
+
 
+
getObjectForValue(Value, Class<?>) - Static method in class proguard.evaluation.value.ReflectiveMethodCallUtil
+
+
Deprecated.
+
Extract the Object from the given Value.
+
+
getOffset() - Method in interface proguard.analysis.cpa.interfaces.CfaNode
+
+
Returns the instruction offset.
+
+
getOffset() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
 
+
getOffsetDelta() - Method in class proguard.classfile.attribute.preverification.StackMapFrame
+
+
Returns the bytecode offset delta relative to the previous stack map frame.
+
+
getOp() - Method in class proguard.dexfile.ir.expr.Value.E1Expr
+
 
+
getOp() - Method in class proguard.dexfile.ir.expr.Value
+
 
+
getOp() - Method in class proguard.dexfile.ir.stmt.Stmt.E1Stmt
+
 
+
getOp() - Method in class proguard.dexfile.ir.stmt.Stmt
+
 
+
getOp1() - Method in class proguard.dexfile.ir.expr.Value.E2Expr
+
 
+
getOp1() - Method in class proguard.dexfile.ir.expr.Value
+
 
+
getOp1() - Method in class proguard.dexfile.ir.stmt.Stmt.E2Stmt
+
 
+
getOp1() - Method in class proguard.dexfile.ir.stmt.Stmt
+
 
+
getOp2() - Method in class proguard.dexfile.ir.expr.Value.E2Expr
+
 
+
getOp2() - Method in class proguard.dexfile.ir.expr.Value
+
 
+
getOp2() - Method in class proguard.dexfile.ir.stmt.Stmt.E2Stmt
+
 
+
getOp2() - Method in class proguard.dexfile.ir.stmt.Stmt
+
 
+
getOperandStack() - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
+
Returns the operand stack.
+
+
getOps() - Method in class proguard.dexfile.ir.expr.Value.EnExpr
+
 
+
getOps() - Method in class proguard.dexfile.ir.expr.Value
+
 
+
getOps() - Method in class proguard.dexfile.ir.stmt.Stmt
+
 
+
getOrCreate(Map<Local, RemoveLocalFromSSA.PhiObject>, Local) - Static method in class proguard.dexfile.ir.ts.RemoveLocalFromSSA
+
 
+
GETORCREATEKOTLINCLASS_METHOD_DESC - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
GETORCREATEKOTLINCLASS_METHOD_NAME - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
GETORCREATEKOTLINPACKAGE_METHOD_DESC - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
GETORCREATEKOTLINPACKAGE_METHOD_NAME - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
getOrDefault(int, AbstractSpaceT) - Method in class proguard.analysis.cpa.defaults.ListAbstractState
+
+
Returns the abstract state at index, if present, returns the defaultState + otherwise.
+
+
getOriginalFilename() - Method in class proguard.analysis.datastructure.FileLocation
+
 
+
getOriginalName() - Method in class proguard.io.ClassPathDataEntry
+
 
+
getOriginalName() - Method in interface proguard.io.DataEntry
+
+
Returns the original name of this data entry, i.e.
+
+
getOriginalName() - Method in class proguard.io.DummyDataEntry
+
 
+
getOriginalName() - Method in class proguard.io.FileDataEntry
+
 
+
getOriginalName() - Method in class proguard.io.NamedDataEntry
+
 
+
getOriginalName() - Method in class proguard.io.StreamingDataEntry
+
 
+
getOriginalName() - Method in class proguard.io.WrappedDataEntry
+
 
+
getOriginalName() - Method in class proguard.io.ZipDataEntry
+
 
+
getOriginalName() - Method in class proguard.io.ZipFileDataEntry
+
 
+
getOutput() - Method in class proguard.classfile.util.renderer.core.StringListWriter
+
 
+
getOutputReachedSet() - Method in class proguard.analysis.cpa.defaults.SequentialCpaRun
+
 
+
getOutputReachedSet() - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationBamCpaRun
+
 
+
getOutputReachedSet() - Method in interface proguard.analysis.cpa.jvm.domain.memory.TraceExtractor
+
+
Returns the reached set of a trace extracting memory location CPA.
+
+
getOwner() - Method in interface proguard.classfile.kotlin.reflect.CallableReferenceInfo
+
+
The class or package where the callable should be located, usually specified on the LHS of the + '::' operator.
+
+
getOwner() - Method in class proguard.classfile.kotlin.reflect.FunctionReferenceInfo
+
 
+
getOwner() - Method in class proguard.classfile.kotlin.reflect.JavaReferenceInfo
+
 
+
getOwner() - Method in class proguard.classfile.kotlin.reflect.LocalVariableReferenceInfo
+
 
+
getOwner() - Method in class proguard.classfile.kotlin.reflect.PropertyReferenceInfo
+
 
+
getOwner() - Method in class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
getOwner() - Method in class proguard.dexfile.reader.Field
+
 
+
getOwner() - Method in class proguard.dexfile.reader.Method
+
 
+
GETOWNER_METHOD_DESC - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
GETOWNER_METHOD_NAME - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
getPackageName() - Method in class proguard.classfile.Signature
+
+
Deprecated.
+
+
getPackageName(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the name of the PackageConstant at the specified index.
+
+
getPackageName(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getPackageName(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getParameterClasses() - Method in class proguard.classfile.visitor.ReferencedClassesExtractor
+
+
Returns the referenced Clazz for each parameter.
+
+
getParameters() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Returns the parameters of the method, calling instance not included.
+
+
getParametersClasses() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Returns the referenced Clazz for each parameter.
+
+
getParameterTypes() - Method in class proguard.dexfile.reader.Method
+
 
+
getParameterTypes() - Method in class proguard.dexfile.reader.Proto
+
 
+
getParent() - Method in class proguard.io.ClassPathDataEntry
+
 
+
getParent() - Method in interface proguard.io.DataEntry
+
+
Returns the parent of this data entry, or null if it doesn't + have one.
+
+
getParent() - Method in class proguard.io.DummyDataEntry
+
 
+
getParent() - Method in class proguard.io.FileDataEntry
+
 
+
getParent() - Method in class proguard.io.NamedDataEntry
+
 
+
getParent() - Method in class proguard.io.StreamingDataEntry
+
 
+
getParent() - Method in class proguard.io.WrappedDataEntry
+
 
+
getParent() - Method in class proguard.io.ZipDataEntry
+
 
+
getParent() - Method in class proguard.io.ZipFileDataEntry
+
 
+
getPotentialTypes() - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
getPre() - Method in class proguard.dexfile.ir.stmt.Stmt
+
 
+
getPreciseValue() - Method in interface proguard.evaluation.value.object.AnalyzedObject
+
+
Returns the wrapped value if precise (i.e, AnalyzedObject.isPrecise() is true), throws + if called on a non-precise value.
+
+
getPrecision() - Method in class proguard.analysis.cpa.defaults.AbstractSingleWrapperState
+
 
+
getPrecision() - Method in class proguard.analysis.cpa.defaults.PrecisionAdjustmentResult
+
+
Returns the precision.
+
+
getPrecision() - Method in interface proguard.analysis.cpa.interfaces.AbstractState
+
+
Returns the Precision used by the PrecisionAdjustment.
+
+
getPrecisionAdjustment() - Method in class proguard.analysis.cpa.bam.BamCpa
+
+
Returns the precision adjustment of the wrapped CPA.
+
+
getPrecisionAdjustment() - Method in class proguard.analysis.cpa.defaults.SimpleCpa
+
 
+
getPrecisionAdjustment() - Method in interface proguard.analysis.cpa.interfaces.ConfigurableProgramAnalysis
+
+
Returns the precision adjustment of this CPA.
+
+
getPredecessorDepth() - Method in class proguard.analysis.datastructure.callgraph.Node
+
+
Calculate the distance between this node and its furthest predecessor.
+
+
getPredecessors(CallGraph, MethodSignature) - Static method in class proguard.util.CallGraphWalker
+
+
Like CallGraphWalker.getPredecessors(CallGraph, MethodSignature, int, int) but using default values + for max depth and max width.
+
+
getPredecessors(CallGraph, MethodSignature, int, int) - Static method in class proguard.util.CallGraphWalker
+
+
Inverse of CallGraphWalker.getSuccessors(CallGraph, MethodSignature): Starting from one particular + method, all methods that can transitively reach it are collected in a single set.
+
+
getPrettyArgumentTypes() - Method in class proguard.classfile.MethodDescriptor
+
+
Get the human readable representation of the argument types.
+
+
getPrettyFqn() - Method in class proguard.classfile.Signature
+
 
+
getPrettyReturnType() - Method in class proguard.classfile.MethodDescriptor
+
+
Get the human readable representation of the return type.
+
+
getPrimitiveType() - Method in class proguard.classfile.constant.PrimitiveArrayConstant
+
+
Returns the type of the elements of the primitive array.
+
+
getProcessingFlags() - Method in interface proguard.util.Processable
+
+
Returns the processing flags.
+
+
getProcessingFlags() - Method in class proguard.util.SimpleProcessable
+
 
+
getProcessingInfo() - Method in interface proguard.util.Processable
+
+
Gets the processing information.
+
+
getProcessingInfo() - Method in class proguard.util.SimpleProcessable
+
 
+
getProducerValue(int) - Method in class proguard.evaluation.TracedVariables
+
+
Gets the producer Value for the specified variable, without disturbing it.
+
+
getProgramClass() - Method in class proguard.classfile.editor.ClassBuilder
+
+
Returns the created or edited ProgramClass instance.
+
+
getProgramLocation() - Method in interface proguard.analysis.cpa.interfaces.ProgramLocationDependent
+
+
Returns the program location.
+
+
getProgramLocation() - Method in class proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation
+
 
+
getProgramLocation() - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
 
+
getProgramLocation() - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
getProto() - Method in class proguard.dexfile.ir.expr.AbstractInvokeExpr
+
 
+
getProto() - Method in class proguard.dexfile.ir.expr.InvokeCustomExpr
+
 
+
getProto() - Method in class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
getProto() - Method in class proguard.dexfile.ir.expr.InvokePolymorphicExpr
+
 
+
getProto() - Method in class proguard.dexfile.reader.Method
+
 
+
getProto() - Method in class proguard.dexfile.reader.node.insn.AbstractMethodStmtNode
+
 
+
getProto() - Method in class proguard.dexfile.reader.node.insn.MethodCustomStmtNode
+
 
+
getProto() - Method in class proguard.dexfile.reader.node.insn.MethodPolymorphicStmtNode
+
 
+
getProto() - Method in class proguard.dexfile.reader.node.insn.MethodStmtNode
+
 
+
getReached(CfaNodeT) - Method in class proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet
+
+
Returns a collection of abstract states belonging to the given location.
+
+
getReached(AbstractState) - Method in class proguard.analysis.cpa.defaults.DefaultReachedSet
+
 
+
getReached(AbstractState) - Method in class proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet
+
 
+
getReached(AbstractState) - Method in interface proguard.analysis.cpa.interfaces.ReachedSet
+
+
Returns a collection of abstract states mergeable with the abstractState.
+
+
getReachedSet() - Method in class proguard.analysis.cpa.bam.BamTransferRelation
+
+
By default the ReachedSet used by the applyBlockAbstraction algorithm is a ProgramLocationDependentReachedSet, this method can be overridden to provide a different + reached set.
+
+
getReachedSet() - Method in class proguard.analysis.cpa.bam.BlockAbstraction
+
+
Returns the ReachedSet of the block abstraction.
+
+
getRebuildOperator() - Method in class proguard.analysis.cpa.bam.BamCpa
+
+
Returns the rebuild operator of the wrapped CPA.
+
+
getRebuildOperator() - Method in class proguard.analysis.cpa.bam.CpaWithBamOperators
+
+
Returns the RebuildOperator.
+
+
getReduceOperator() - Method in class proguard.analysis.cpa.bam.BamCpa
+
+
Returns the reduce operator of the wrapped CPA.
+
+
getReduceOperator() - Method in class proguard.analysis.cpa.bam.CpaWithBamOperators
+
+
Returns the ReduceOperator.
+
+
getRefClassName(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the class name of the RefConstant at the specified index.
+
+
getRefClassName(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getRefClassName(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getReferencedClass() - Method in class proguard.classfile.Signature
+
+
Returns the Clazz reference corresponding to the class returned by Signature.getClassName() or null if no reference is available (e.g.
+
+
getReferencedClass() - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
getReferencedClass() - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the class that is referenced by the type.
+
+
getReferencedClass() - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
getReferencedClass() - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
getReferencedClass() - Method in class proguard.evaluation.value.UnknownReferenceValue
+
 
+
getReferencedMethod() - Method in class proguard.classfile.MethodSignature
+
+
Returns the Method reference that corresponds to the method represented by this MethodSignature or null if no reference is available (e.g.
+
+
getReferenceIndex() - Method in class proguard.classfile.constant.MethodHandleConstant
+
+
Returns the field ref, interface method ref, or method ref index.
+
+
getReferenceKind() - Method in class proguard.classfile.constant.MethodHandleConstant
+
+
Returns the kind of reference to which this constant is pointing.
+
+
getReferences() - Method in class proguard.resources.file.visitor.ResourceJavaReferenceCollector
+
 
+
getReferenceValue() - Method in class proguard.evaluation.value.TracedReferenceValue
+
+
Returns the reference value.
+
+
getRefName(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the name of the RefConstant at the specified index.
+
+
getRefName(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getRefName(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getRefType(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the type of the RefConstant at the specified index.
+
+
getRefType(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getRefType(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getReg(int) - Method in class proguard.dexfile.reader.node.analysis.DvmFrame
+
 
+
getResolvedTargetSignature() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Gets the resolved target of the method call.
+
+
getResourceFile(String) - Method in interface proguard.resources.file.FilePool
+
+
Returns a ResourceFile from this pool, based on its name.
+
+
getResourceFile(String) - Method in class proguard.resources.file.ResourceFilePool
+
+
Returns a ResourceFile from this pool, based on its name.
+
+
getRet() - Method in class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
getReturnClass() - Method in class proguard.classfile.visitor.ReferencedClassesExtractor
+
+
Returns the referenced return Clazz of the target method.
+
+
getReturnClass() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Get the return class of the method.
+
+
getReturnType() - Method in class proguard.classfile.MethodDescriptor
+
 
+
getReturnType() - Method in class proguard.dexfile.reader.Method
+
 
+
getReturnType() - Method in class proguard.dexfile.reader.Proto
+
 
+
getReturnType() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Get the static return type of the method.
+
+
getReturnValue() - Method in class proguard.analysis.datastructure.callgraph.Call
+
+
Get the return value of this call.
+
+
getReturnValue() - Method in class proguard.evaluation.MethodResult
+
+
The return value of the method invocation if MethodResult.isReturnValuePresent, throws + otherwise.
+
+
getSecond() - Method in exception proguard.evaluation.exception.StackGeneralizationException
+
 
+
getSecond() - Method in exception proguard.evaluation.exception.VariablesGeneralizationException
+
 
+
getSignature() - Method in interface proguard.analysis.cpa.interfaces.CfaNode
+
+
Returns the function signature it belongs to.
+
+
getSignature() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
 
+
getSignature() - Method in interface proguard.classfile.kotlin.reflect.CallableReferenceInfo
+
+
The signature of the callable.
+
+
getSignature() - Method in class proguard.classfile.kotlin.reflect.FunctionReferenceInfo
+
+
For functions this is just their name and descriptor.
+
+
getSignature() - Method in class proguard.classfile.kotlin.reflect.JavaFieldReferenceInfo
+
+
If there is no getter method then the signature is the imaginary default getter that would be + generated otherwise e.g.
+
+
getSignature() - Method in class proguard.classfile.kotlin.reflect.JavaReferenceInfo
+
 
+
getSignature() - Method in class proguard.classfile.kotlin.reflect.LocalVariableReferenceInfo
+
 
+
getSignature() - Method in class proguard.classfile.kotlin.reflect.PropertyReferenceInfo
+
+
For properties this is the signature of it's JVM getter method.
+
+
getSignature() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Get the method signature of the method
+
+
getSignature(Clazz) - Method in class proguard.classfile.attribute.LocalVariableTypeInfo
+
+
Returns the signature.
+
+
getSignature(Clazz) - Method in class proguard.classfile.attribute.SignatureAttribute
+
+
Returns the signature.
+
+
GETSIGNATURE_METHOD_DESC - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
GETSIGNATURE_METHOD_NAME - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
getSignaturesToSources() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintExpandOperator
+
+
Returns the mapping from fqns to taint sources.
+
+
getSize() - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
getSize() - Method in class proguard.io.ClassPathDataEntry
+
 
+
getSize() - Method in interface proguard.io.DataEntry
+
+
Returns the size of this data entry, in bytes, or -1 if unknown.
+
+
getSize() - Method in class proguard.io.DummyDataEntry
+
 
+
getSize() - Method in class proguard.io.FileDataEntry
+
 
+
getSize() - Method in class proguard.io.NamedDataEntry
+
 
+
getSize() - Method in class proguard.io.StreamingDataEntry
+
 
+
getSize() - Method in class proguard.io.WrappedDataEntry
+
 
+
getSize() - Method in class proguard.io.ZipDataEntry
+
 
+
getSize() - Method in class proguard.io.ZipFileDataEntry
+
 
+
getSource() - Method in interface proguard.analysis.cpa.interfaces.CfaEdge
+
+
Returns its source node.
+
+
getSource() - Method in class proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge
+
 
+
getSource() - Method in class proguard.classfile.attribute.ExtendedLineNumberInfo
+
 
+
getSource() - Method in class proguard.classfile.attribute.LineNumberInfo
+
+
Returns a description of the source of the line, if known, or null otherwise.
+
+
getSource(int) - Method in class proguard.classfile.attribute.LineNumberTableAttribute
+
+
Returns the source corresponding to the given byte code program counter.
+
+
getSourceLocations() - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
+
Returns the source set.
+
+
getSourceReachedSet() - Method in interface proguard.analysis.cpa.bam.BamLocationDependent
+
+
Returns the reached set the abstract state belongs to.
+
+
getSourceReachedSet() - Method in class proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation
+
 
+
getSourceReachedSet() - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
 
+
getSpecificInstance() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Returns the specific calling instance value of the method.
+
+
getStackAfter(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns the stack after execution of the instruction at the given offset.
+
+
getStackBefore(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns the stack before execution of the instruction at the given offset.
+
+
getStackBefore(PartialEvaluator, int, int) - Static method in class proguard.util.PartialEvaluatorUtils
+
+
Returns the value from the before stack at offset, counting from the top.
+
+
getStackSizeAfter(int) - Method in class proguard.classfile.attribute.visitor.StackSizeComputer
+
+
Returns the stack size after the given instruction offset of the most recently visited code + attribute.
+
+
getStackSizeBefore(int) - Method in class proguard.classfile.attribute.visitor.StackSizeComputer
+
+
Returns the stack size before the given instruction offset of the most recently visited code + attribute.
+
+
getStackValue(Stack, int) - Static method in class proguard.util.PartialEvaluatorUtils
+
+
Returns the value from the stack, counting from the top of the stack.
+
+
getStateByName(String) - Method in interface proguard.analysis.cpa.interfaces.AbstractState
+
+
Returns an abstract state for a given {@param name} if the state is composite, returns + self otherwise.
+
+
getstatic(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getstatic(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getstatic(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getstatic(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getstatic(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getstatic(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getstatic(Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getstatic(Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getStaticFields() - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns the static field table abstract state.
+
+
getStaticMethodHandlers(Class<T>) - Static method in class proguard.evaluation.value.object.model.reflective.ModelHelper
+
+
Given a model class, use reflection to build a mapping from BasicMethodInfos used by + the analysis to identify an instance method to the Method handler to the method + modeling it, in order to be able to invoke it.
+
+
getStaticOrDefault(String, SetAbstractState<Reference>) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceAbstractState
+
 
+
getStaticOrDefault(String, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns an abstract state representing the static field fqn or defaultState if + there is no entry.
+
+
getStopOperator() - Method in class proguard.analysis.cpa.bam.BamCpa
+
+
Returns the stop operator of the wrapped CPA.
+
+
getStopOperator() - Method in class proguard.analysis.cpa.defaults.SimpleCpa
+
 
+
getStopOperator() - Method in interface proguard.analysis.cpa.interfaces.ConfigurableProgramAnalysis
+
+
Returns the stop operator of this CPA.
+
+
getString() - Method in class proguard.classfile.constant.Utf8Constant
+
+
Returns the UTF-8 data as a String.
+
+
getString(byte[]) - Static method in class proguard.util.StringUtil
+
+
Returns the String representation of the given modified UTF-8 byte array.
+
+
getString(byte[], int, int) - Static method in class proguard.util.StringUtil
+
+
Returns the String representation of the given modified UTF-8 byte array.
+
+
getString(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the String value of the Utf8Constant at the specified index.
+
+
getString(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getString(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getString(Clazz) - Method in class proguard.classfile.constant.StringConstant
+
+
Returns the string value.
+
+
getStringString(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the String value of the StringConstant at the specified index.
+
+
getStringString(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getStringString(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getSubClasses(String) - Method in class proguard.util.BasicHierarchyProvider
+
 
+
getSubClasses(String) - Method in interface proguard.util.HierarchyProvider
+
 
+
getSuccessorDepth() - Method in class proguard.analysis.datastructure.callgraph.Node
+
+
Calculate the distance between this node and its furthest successor.
+
+
getSuccessors(CallGraph, MethodSignature) - Static method in class proguard.util.CallGraphWalker
+
+
Like CallGraphWalker.getSuccessors(CallGraph, MethodSignature, int, int) but using default values for + max depth and max width.
+
+
getSuccessors(CallGraph, MethodSignature, int, int) - Static method in class proguard.util.CallGraphWalker
+
+
Analogous to Soot's getReachableMethods(): Starting from one particular method, + all methods that are transitively reachable are collected in a single set.
+
+
getSuperClass() - Method in interface proguard.classfile.Clazz
+
+
Returns the super class of this class.
+
+
getSuperClass() - Method in class proguard.classfile.LibraryClass
+
 
+
getSuperClass() - Method in class proguard.classfile.ProgramClass
+
 
+
getSuperinterfaces(Clazz, Set<Clazz>) - Static method in class proguard.analysis.CallUtil
+
+
Get the transitive superinterfaces of a class/interface recursively.
+
+
getSuperName() - Method in interface proguard.classfile.Clazz
+
+
Returns the full internal name of the super class of this class, or null if this class + represents java.lang.Object.
+
+
getSuperName() - Method in class proguard.classfile.LibraryClass
+
 
+
getSuperName() - Method in class proguard.classfile.ProgramClass
+
 
+
getSupportedMethods(Class<T>) - Static method in class proguard.evaluation.value.object.model.reflective.ModelHelper
+
 
+
getSupportedMethodSignatures() - Method in interface proguard.evaluation.executor.Executor
+
+
Get a list of method signatures that indicate which methods are supported by this executor.
+
+
getSupportedMethodSignatures() - Method in class proguard.evaluation.executor.JavaReflectionApiExecutor
+
 
+
getSupportedMethodSignatures() - Method in class proguard.evaluation.executor.ReflectiveModelExecutor
+
 
+
getSupportedMethodSignatures() - Method in class proguard.evaluation.executor.StringReflectionExecutor
+
 
+
getTag() - Method in class proguard.classfile.attribute.annotation.AnnotationElementValue
+
 
+
getTag() - Method in class proguard.classfile.attribute.annotation.ArrayElementValue
+
 
+
getTag() - Method in class proguard.classfile.attribute.annotation.ClassElementValue
+
 
+
getTag() - Method in class proguard.classfile.attribute.annotation.ConstantElementValue
+
 
+
getTag() - Method in class proguard.classfile.attribute.annotation.ElementValue
+
+
Returns the tag of this element value.
+
+
getTag() - Method in class proguard.classfile.attribute.annotation.EnumConstantElementValue
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.DoubleType
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.FloatType
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.FullFrame
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.IntegerType
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.LessZeroFrame
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.LongType
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.MoreZeroFrame
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.NullType
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.ObjectType
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.SameOneFrame
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.SameZeroFrame
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.StackMapFrame
+
+
Returns the stack map frame tag that specifies the entry type.
+
+
getTag() - Method in class proguard.classfile.attribute.preverification.TopType
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.UninitializedThisType
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.UninitializedType
+
 
+
getTag() - Method in class proguard.classfile.attribute.preverification.VerificationType
+
+
Returns the tag of the verification type.
+
+
getTag() - Method in class proguard.classfile.constant.ClassConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.Constant
+
+
Returns the constant pool info tag that specifies the entry type.
+
+
getTag() - Method in class proguard.classfile.constant.DoubleConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.DynamicConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.FieldrefConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.FloatConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.IntegerConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.InterfaceMethodrefConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.InvokeDynamicConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.LongConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.MethodHandleConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.MethodrefConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.MethodTypeConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.ModuleConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.NameAndTypeConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.PackageConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.PrimitiveArrayConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.StringConstant
+
 
+
getTag() - Method in class proguard.classfile.constant.Utf8Constant
+
 
+
getTag(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the tag value of the Constant at the specified index.
+
+
getTag(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getTag(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getTaintSinks() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun
+
 
+
getTarget() - Method in interface proguard.analysis.cpa.interfaces.CfaEdge
+
+
Returns its target node.
+
+
getTarget() - Method in class proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge
+
 
+
getTarget() - Method in class proguard.analysis.datastructure.callgraph.Call
+
+
The MethodSignature of the method that is being called.
+
+
getTarget() - Method in class proguard.analysis.datastructure.callgraph.ConcreteCall
+
 
+
getTarget() - Method in class proguard.analysis.datastructure.callgraph.SymbolicCall
+
 
+
getTarget() - Method in class proguard.dexfile.ir.stmt.GotoStmt
+
 
+
getTarget() - Method in class proguard.dexfile.ir.stmt.IfStmt
+
 
+
getTarget() - Method in interface proguard.dexfile.ir.stmt.JumpStmt
+
 
+
getTargetClass() - Method in class proguard.analysis.datastructure.callgraph.ConcreteCall
+
 
+
getTargetClass() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Returns the target class for which code is generated.
+
+
getTargetClass() - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Returns the target class in which constants are edited.
+
+
getTargetClass() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Returns the referenced Clazz of the target method.
+
+
getTargetMethod() - Method in class proguard.analysis.datastructure.callgraph.ConcreteCall
+
 
+
getTargetType() - Method in class proguard.classfile.attribute.annotation.target.TargetInfo
+
+
Returns the type of the target.
+
+
getTargetType() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Get the static target type of the method.
+
+
getterFlags - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
getterNameToPropertyName(String, boolean) - Static method in class proguard.classfile.util.kotlin.KotlinNameUtil
+
+
See propertiesConventionUtil.kt
+
+
getterSignature - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
getTmp() - Method in class proguard.dexfile.reader.node.analysis.DvmFrame
+
 
+
getTop(int) - Method in class proguard.evaluation.Stack
+
+
Gets the specified Value from the stack, without disturbing it.
+
+
getTopActualProducerValue(int) - Method in class proguard.evaluation.TracedStack
+
+
Gets the specified actual producer Value from the stack, ignoring dup/swap instructions, + without disturbing it.
+
+
getTopProducerValue(int) - Method in class proguard.evaluation.TracedStack
+
+
Gets the specified producer Value from the stack, without disturbing it.
+
+
getTotalRegisters() - Method in class proguard.dexfile.reader.node.analysis.DvmFrame
+
 
+
getTraceBranchTargets() - Method in class proguard.evaluation.BasicBranchUnit
+
+
Returns the accumulated branch targets that were passed to the branch unit methods.
+
+
getTraceValue() - Method in class proguard.evaluation.value.TracedReferenceValue
+
+
Returns the trace value.
+
+
getTransferRelation() - Method in class proguard.analysis.cpa.bam.BamCpa
+
+
Returns the BAM transfer relation, more details in BamTransferRelation.
+
+
getTransferRelation() - Method in class proguard.analysis.cpa.defaults.SimpleCpa
+
 
+
getTransferRelation() - Method in interface proguard.analysis.cpa.interfaces.ConfigurableProgramAnalysis
+
+
Returns the transfer relation of this CPA.
+
+
getType() - Method in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
getType() - Method in class proguard.dexfile.reader.Field
+
 
+
getType() - Method in class proguard.dexfile.reader.MethodHandle
+
 
+
getType() - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
getType() - Method in interface proguard.evaluation.value.object.AnalyzedObject
+
+
Returns the type of the tracked value.
+
+
getType() - Method in class proguard.evaluation.value.object.model.ArrayModel
+
 
+
getType() - Method in class proguard.evaluation.value.object.model.ClassModel
+
 
+
getType() - Method in interface proguard.evaluation.value.object.model.Model
+
+
Returns the type of the modeled class.
+
+
getType() - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the type.
+
+
getType() - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
getType() - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
getType() - Method in class proguard.evaluation.value.UnknownReferenceValue
+
 
+
getType(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the type of the NameAndTypeConstant at the specified index.
+
+
getType(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getType(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getType(Clazz) - Method in class proguard.classfile.attribute.annotation.Annotation
+
+
Returns the type.
+
+
getType(Clazz) - Method in class proguard.classfile.attribute.EnclosingMethodAttribute
+
+
Returns the type.
+
+
getType(Clazz) - Method in class proguard.classfile.constant.DynamicConstant
+
+
Returns the method type.
+
+
getType(Clazz) - Method in class proguard.classfile.constant.InvokeDynamicConstant
+
+
Returns the method type.
+
+
getType(Clazz) - Method in class proguard.classfile.constant.MethodHandleConstant
+
+
Returns the type.
+
+
getType(Clazz) - Method in class proguard.classfile.constant.MethodTypeConstant
+
+
Returns the type.
+
+
getType(Clazz) - Method in class proguard.classfile.constant.NameAndTypeConstant
+
+
Returns the type.
+
+
getType(Clazz) - Method in class proguard.classfile.constant.RefConstant
+
+
Returns the type.
+
+
getTypeName(Clazz) - Method in class proguard.classfile.attribute.annotation.EnumConstantElementValue
+
+
Returns the enumeration type name.
+
+
getUpdatedInstance() - Method in class proguard.evaluation.MethodResult
+
+
The updated instance value after a method invocation if MethodResult.isInstanceUpdated(), throws otherwise.
+
+
getUpdatedParameters() - Method in class proguard.evaluation.MethodResult
+
+
The updated parameter value after a method invocation if MethodResult.isAnyParameterUpdated(), throws otherwise.
+
+
getValue() - Method in class proguard.analysis.cpa.jvm.domain.value.ValueAbstractState
+
+
Returns the Value associated with this abstract state.
+
+
getValue() - Method in class proguard.classfile.constant.DoubleConstant
+
+
Returns the double value of this DoubleConstant.
+
+
getValue() - Method in class proguard.classfile.constant.FloatConstant
+
+
Returns the float value of this FloatConstant.
+
+
getValue() - Method in class proguard.classfile.constant.IntegerConstant
+
+
Returns the integer value of this IntegerConstant.
+
+
getValue() - Method in class proguard.classfile.constant.LongConstant
+
+
Returns the long value of this LongConstant.
+
+
getValue() - Method in exception proguard.evaluation.exception.ArrayStoreTypeException
+
 
+
getValue() - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
getValue() - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
getValue() - Method in class proguard.evaluation.value.ReferenceValue
+
 
+
getValue(int) - Method in class proguard.evaluation.Variables
+
+
Gets the Value of the variable with the given index, without disturbing it.
+
+
getValueCalculator() - Method in class proguard.evaluation.value.object.model.reflective.ModelHelper.MethodExecutionContext
+
 
+
getValueFactory() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
+
Returns the ValueFactory.
+
+
getValueFactory() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
getValues() - Method in class proguard.classfile.constant.PrimitiveArrayConstant
+
+
Returns the values.
+
+
getValues() - Method in class proguard.evaluation.value.object.model.ArrayModel
+
 
+
getValues() - Method in class proguard.evaluation.Variables
+
+
Gets the Values of the variables array, without disturbing it.
+
+
getValues() - Method in class proguard.util.MultiValueMap
+
+
Returns a Set with all values of all keys.
+
+
getVariableOrDefault(int, SetAbstractState<Reference>) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceAbstractState
+
 
+
getVariableOrDefault(int, ValueAbstractState) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
+
Returns an abstract state at the indexth position of the variable array, the + corresponding heap value for an IdentifiedReferenceValue or defaultState if + there is no entry.
+
+
getVariableOrDefault(int, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns an abstract state at the indexth position of the variable array or + defaultState if there is no entry.
+
+
getVariableOrDefault(int, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
+
Returns an abstract state at the indexth position of the variable array or + defaultState if there is no entry.
+
+
getVariablesAfter(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns the variables after execution of the instruction at the given offset.
+
+
getVariablesBefore(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns the variables before execution of the instruction at the given offset.
+
+
getWaitlist() - Method in class proguard.analysis.cpa.bam.BamTransferRelation
+
+
By default the Waitlist used by the applyBlockAbstraction algorithm is a BreadthFirstWaitlist, this method can be overridden to provide a different waitlist.
+
+
getWaitlist() - Method in class proguard.analysis.cpa.bam.BlockAbstraction
+
+
Returns the Waitlist of the block abstraction.
+
+
getWarFilter() - Method in class proguard.io.ClassPathEntry
+
+
Returns the name filter that is applied to war files in this entry, if any.
+
+
getWarningCount() - Method in class proguard.classfile.util.WarningLogger
+
 
+
getWarningCount() - Method in class proguard.classfile.util.WarningPrinter
+
+
Returns the number of warnings printed so far.
+
+
getWrappedCpa() - Method in class proguard.analysis.cpa.bam.BamTransferRelation
+
+
Returns the wrapped domain-dependent intra-procedural CPA.
+
+
getWrappedState() - Method in class proguard.analysis.cpa.defaults.AbstractSingleWrapperState
+
+
Returns the wrapped abstract state.
+
+
getWrappedStates() - Method in class proguard.analysis.cpa.defaults.AbstractSingleWrapperState
+
 
+
getWrappedStates() - Method in class proguard.analysis.cpa.defaults.AbstractWrapperState
+
+
Returns the wrapped abstract states.
+
+
getWrappedTransferRelations() - Method in class proguard.analysis.cpa.defaults.SingleWrapperTransferRelation
+
 
+
getWrappedTransferRelations() - Method in interface proguard.analysis.cpa.interfaces.WrapperTransferRelation
+
+
Returns wrapped transfer relations.
+
+
getZipFilter() - Method in class proguard.io.ClassPathEntry
+
+
Returns the name filter that is applied to zip files in this entry, if any.
+
+
GOTO - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
GOTO - proguard.dexfile.reader.Op
+
 
+
goto_(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
goto_(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
GOTO_16 - proguard.dexfile.reader.Op
+
 
+
GOTO_32 - proguard.dexfile.reader.Op
+
 
+
goto_w(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
goto_w(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
GotoStmt - Class in proguard.dexfile.ir.stmt
+
+
Represent a GOTO statement
+
+
GotoStmt(LabelStmt) - Constructor for class proguard.dexfile.ir.stmt.GotoStmt
+
 
+
greaterThan(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is greater than the given IntegerValue: NEVER, + MAYBE, or ALWAYS.
+
+
greaterThan(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is greater than the given ParticularIntegerValue: NEVER + , MAYBE, or ALWAYS.
+
+
greaterThan(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is greater than the given RangeIntegerValue: NEVER + , MAYBE, or ALWAYS.
+
+
greaterThan(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is greater than the given SpecificIntegerValue: NEVER + , MAYBE, or ALWAYS.
+
+
greaterThan(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is greater than the given UnknownIntegerValue: NEVER + , MAYBE, or ALWAYS.
+
+
greaterThanOrEqual(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is greater than or equal to the given IntegerValue: + NEVER, MAYBE, or ALWAYS.
+
+
greaterThanOrEqual(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is greater than or equal to the given ParticularIntegerValue: + NEVER, MAYBE, or ALWAYS.
+
+
greaterThanOrEqual(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is greater than or equal to the given RangeIntegerValue: + NEVER, MAYBE, or ALWAYS.
+
+
greaterThanOrEqual(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is greater than or equal to the given SpecificIntegerValue: + NEVER, MAYBE, or ALWAYS.
+
+
greaterThanOrEqual(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is greater than or equal to the given UnknownIntegerValue: + NEVER, MAYBE, or ALWAYS.
+
+
GT - proguard.dexfile.ir.expr.Value.VT
+
 
+
+ + + +

H

+
+
H - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
H - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
handle - Variable in class proguard.dexfile.ir.expr.InvokeCustomExpr
+
 
+
handleCall(Call, TracedStack, TracedVariables) - Method in interface proguard.analysis.CallHandler
+
+
Will be called for every newly discovered method call in the code.
+
+
handleCheckCast(ValueAbstractState, String) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
handleCheckCast(StateT, String) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns an abstract state representing the result of the checkcast operation.
+
+
handler - Variable in class proguard.dexfile.reader.node.TryCatchNode
+
 
+
handlers - Variable in class proguard.dexfile.ir.Trap
+
 
+
hasAabInput(ClassPath) - Static method in class proguard.io.util.ClassPathUtil
+
+
Returns whether the class path contains any input app bundles.
+
+
hasAnnotations - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
 
+
hasAnnotations - Variable in class proguard.classfile.kotlin.flags.KotlinCommonFlags
+
+
Valid for: class, constructor, function, synthetic function, property, property accessor, + typeAlias, type, type parameter, value parameter
+
+
hasAnnotations - Variable in class proguard.classfile.kotlin.flags.KotlinConstructorFlags
+
 
+
hasAnnotations - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
 
+
hasAnnotations - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyAccessorFlags
+
 
+
hasAnnotations - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
 
+
hasAnnotations - Variable in class proguard.classfile.kotlin.flags.KotlinTypeAliasFlags
+
 
+
hasAnnotations - Variable in class proguard.classfile.kotlin.flags.KotlinValueParameterFlags
+
 
+
hasConstant - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
+
Signifies that the corresponding property has a constant value.
+
+
hasConstantValue - Variable in class proguard.classfile.kotlin.KotlinEffectExpressionMetadata
+
 
+
hasDefaultValue - Variable in class proguard.classfile.kotlin.flags.KotlinValueParameterFlags
+
+
Signifies that the corresponding value parameter declares a default value.
+
+
hasFormalTypeParameters() - Method in class proguard.classfile.util.InternalTypeEnumeration
+
+
Returns whether the descriptor has leading formal type parameters.
+
+
hashCode - Variable in class proguard.classfile.Signature
+
 
+
hashCode() - Method in class proguard.analysis.cpa.defaults.AbstractWrapperState
+
 
+
hashCode() - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
hashCode() - Method in class proguard.analysis.cpa.domain.taint.TaintSink
+
 
+
hashCode() - Method in class proguard.analysis.cpa.domain.taint.TaintSource
+
 
+
hashCode() - Method in interface proguard.analysis.cpa.interfaces.AbstractState
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState.StackEntry
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.domain.reference.Reference
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmReturnTaintSink
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSink
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSource
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.domain.value.ValueAbstractState
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.state.heap.JvmForgetfulHeapAbstractState
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.witness.JvmHeapLocation
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.witness.JvmLocalVariableLocation
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.witness.JvmMemoryLocation
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.witness.JvmStackLocation
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.witness.JvmStaticFieldLocation
+
 
+
hashCode() - Method in class proguard.analysis.datastructure.callgraph.Call
+
 
+
hashCode() - Method in class proguard.analysis.datastructure.callgraph.ConcreteCall
+
 
+
hashCode() - Method in class proguard.analysis.datastructure.callgraph.Node
+
 
+
hashCode() - Method in class proguard.analysis.datastructure.callgraph.SymbolicCall
+
 
+
hashCode() - Method in class proguard.analysis.datastructure.CodeLocation
+
 
+
hashCode() - Method in class proguard.analysis.datastructure.FileLocation
+
 
+
hashCode() - Method in class proguard.classfile.attribute.preverification.FullFrame
+
 
+
hashCode() - Method in class proguard.classfile.attribute.preverification.LessZeroFrame
+
 
+
hashCode() - Method in class proguard.classfile.attribute.preverification.MoreZeroFrame
+
 
+
hashCode() - Method in class proguard.classfile.attribute.preverification.ObjectType
+
 
+
hashCode() - Method in class proguard.classfile.attribute.preverification.SameOneFrame
+
 
+
hashCode() - Method in class proguard.classfile.attribute.preverification.StackMapFrame
+
 
+
hashCode() - Method in class proguard.classfile.attribute.preverification.UninitializedType
+
 
+
hashCode() - Method in class proguard.classfile.attribute.preverification.VerificationType
+
 
+
hashCode() - Method in class proguard.classfile.BasicMethodInfo
+
 
+
hashCode() - Method in class proguard.classfile.constant.ClassConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.DoubleConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.DynamicConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.FloatConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.IntegerConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.InvokeDynamicConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.LongConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.MethodHandleConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.MethodTypeConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.ModuleConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.NameAndTypeConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.PackageConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.PrimitiveArrayConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.RefConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.StringConstant
+
 
+
hashCode() - Method in class proguard.classfile.constant.Utf8Constant
+
 
+
hashCode() - Method in class proguard.classfile.editor.CodeAttributeEditor.Label
+
 
+
hashCode() - Method in class proguard.classfile.editor.InstructionSequenceReplacer.Label
+
 
+
hashCode() - Method in class proguard.classfile.instruction.BranchInstruction
+
 
+
hashCode() - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
hashCode() - Method in class proguard.classfile.instruction.Instruction
+
 
+
hashCode() - Method in class proguard.classfile.instruction.LookUpSwitchInstruction
+
 
+
hashCode() - Method in class proguard.classfile.instruction.SimpleInstruction
+
 
+
hashCode() - Method in class proguard.classfile.instruction.SwitchInstruction
+
 
+
hashCode() - Method in class proguard.classfile.instruction.TableSwitchInstruction
+
 
+
hashCode() - Method in class proguard.classfile.instruction.VariableInstruction
+
 
+
hashCode() - Method in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
hashCode() - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.AnnotationValue
+
 
+
hashCode() - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.ArrayValue
+
 
+
hashCode() - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue
+
 
+
hashCode() - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.EnumValue
+
 
+
hashCode() - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument
+
 
+
hashCode() - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.LiteralValue
+
 
+
hashCode() - Method in class proguard.classfile.MethodDescriptor
+
 
+
hashCode() - Method in class proguard.classfile.Signature
+
 
+
hashCode() - Method in class proguard.dexfile.reader.Method
+
 
+
hashCode() - Method in class proguard.dexfile.reader.MethodHandle
+
 
+
hashCode() - Method in class proguard.dexfile.reader.Proto
+
 
+
hashCode() - Method in class proguard.evaluation.Stack
+
 
+
hashCode() - Method in class proguard.evaluation.TracedStack
+
 
+
hashCode() - Method in class proguard.evaluation.TracedVariables
+
 
+
hashCode() - Method in class proguard.evaluation.value.ArrayReferenceValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.ComparisonValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.CompositeDoubleValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.CompositeFloatValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.CompositeLongValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.ConvertedByteValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.ConvertedCharacterValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.ConvertedDoubleValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.ConvertedFloatValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.ConvertedIntegerValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.ConvertedLongValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.ConvertedShortValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.IdentifiedDoubleValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.IdentifiedFloatValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.IdentifiedIntegerValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.IdentifiedLongValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.IdentifiedReferenceValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.NegatedDoubleValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.NegatedFloatValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.NegatedIntegerValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.NegatedLongValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.object.model.ArrayModel
+
 
+
hashCode() - Method in class proguard.evaluation.value.object.model.ClassModel
+
 
+
hashCode() - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.ReferenceValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.TopValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.TracingValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
hashCode() - Method in class proguard.evaluation.value.UnknownValue
+
 
+
hashCode() - Method in class proguard.evaluation.Variables
+
 
+
hashCode() - Method in class proguard.resources.file.ResourceJavaReference
+
 
+
hashCode(boolean[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns a hash code for the elements of the given array.
+
+
hashCode(byte[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns a hash code for the elements of the given array.
+
+
hashCode(char[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns a hash code for the elements of the given array.
+
+
hashCode(double[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns a hash code for the elements of the given array.
+
+
hashCode(float[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns a hash code for the elements of the given array.
+
+
hashCode(int[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns a hash code for the elements of the given array.
+
+
hashCode(long[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns a hash code for the elements of the given array.
+
+
hashCode(short[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns a hash code for the elements of the given array.
+
+
hashCode(Object) - Static method in class proguard.util.ObjectUtil
+
+
Returns the hash code of the given object, or 0 if it is null.
+
+
hashCode(Object[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns a hash code for the elements of the given array.
+
+
hashCodeOrNull(Object[]) - Static method in class proguard.util.ArrayUtil
+
+
Returns a hash code for the elements of the given array, or 0 if it is null.
+
+
hashCodeOrNull(Object[], int) - Static method in class proguard.util.ArrayUtil
+
+
Returns a hash code for the elements of the given array, or 0 if it is null.
+
+
HashMapAbstractState<KeyT,​AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>> - Class in proguard.analysis.cpa.defaults
+
+
This HashMapAbstractState represents a map to LatticeAbstractStates with the + semilattice operators lifted to the map.
+
+
HashMapAbstractState() - Constructor for class proguard.analysis.cpa.defaults.HashMapAbstractState
+
+
Create an empty hash map abstract state.
+
+
HashMapAbstractState(int) - Constructor for class proguard.analysis.cpa.defaults.HashMapAbstractState
+
+
Create an empty hash map abstract state with reserved initial capacity.
+
+
HashMapAbstractState(Map<? extends KeyT, ? extends AbstractSpaceT>) - Constructor for class proguard.analysis.cpa.defaults.HashMapAbstractState
+
+
Create a hash map abstract state from another map.
+
+
HashMapAbstractStateFactory<KeyT,​StateT extends LatticeAbstractState<StateT>> - Class in proguard.analysis.cpa.state
+
+
This interface contains a method creating a fresh instance of HashMapAbstractState.
+
+
hasIncompleteTarget() - Method in class proguard.analysis.datastructure.callgraph.Call
+
+
Check if this call's target is fully known or only parts of it (e.g.
+
+
hasIncompleteTarget() - Method in class proguard.analysis.datastructure.callgraph.ConcreteCall
+
 
+
hasIncompleteTarget() - Method in class proguard.analysis.datastructure.callgraph.SymbolicCall
+
 
+
hasIncreased(int, int) - Static method in class proguard.classfile.visitor.CounterConditionalClassVisitor
+
 
+
hasMethodBodiesInInterface - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
Applied to an interface compiled with -Xjvm-default=all or all-compatibility.
+
+
hasMoreClassNames() - Method in class proguard.classfile.util.DescriptorClassEnumeration
+
+
Returns whether the enumeration can provide more class names from the descriptor.
+
+
hasMoreTypes() - Method in class proguard.classfile.util.ExternalTypeEnumeration
+
 
+
hasMoreTypes() - Method in class proguard.classfile.util.InternalTypeEnumeration
+
+
Returns whether the enumeration can provide more types from the method descriptor.
+
+
hasNext() - Method in class proguard.classfile.util.InternalTypeEnumeration
+
 
+
hasNonStableParameterNames - Variable in class proguard.classfile.kotlin.flags.KotlinConstructorFlags
+
+
Signifies that the corresponding constructor has non-stable parameter names, i.e.
+
+
hasOutput() - Method in class proguard.io.ClassPath
+
+
Returns whether the class path contains any output entries.
+
+
hasProcessingFlags(int...) - Method in class proguard.util.SimpleProcessable
+
+
Checks whether all the given flags are set on this processable.
+
+
hasSource() - Method in class proguard.classfile.attribute.visitor.LineNumberRangeFinder
+
+
Returns whether any of the visited line numbers has a non-null source.
+
+
heap - Variable in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
heapModel - Variable in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun.Builder
+
 
+
heapModel - Variable in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun
+
 
+
HeapModel - Enum in proguard.analysis.cpa.jvm.state.heap
+
+
An enumeration of supported heap models.
+
+
hierarchyAccept(boolean, boolean, boolean, boolean, ClassVisitor) - Method in interface proguard.classfile.Clazz
+
+
Accepts the given class visitor in the class hierarchy.
+
+
hierarchyAccept(boolean, boolean, boolean, boolean, ClassVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
hierarchyAccept(boolean, boolean, boolean, boolean, ClassVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
HierarchyProvider - Interface in proguard.util
+
+
And interface to be implemented by classes that are able to provide information on the hierarchy + of classes.
+
+
highCase - Variable in class proguard.classfile.instruction.TableSwitchInstruction
+
 
+
HIGHEST_ALLOWED_TO_WRITE - Static variable in class proguard.classfile.io.kotlin.KotlinMetadataWriter
+
 
+
+ + + +

I

+
+
I - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
I - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
i2b() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
i2b() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
i2c() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
i2c() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
i2d() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
i2d() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
i2f() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
i2f() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
i2l() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
i2l() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
i2s() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
i2s() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iadd() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iadd() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iaload() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iaload() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iand() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iand() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iastore() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iastore() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iconst(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iconst(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iconst_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iconst_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iconst_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iconst_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iconst_2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iconst_2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iconst_3() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iconst_3() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iconst_4() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iconst_4() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iconst_5() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iconst_5() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iconst_m1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iconst_m1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
id - Variable in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
id - Variable in class proguard.dexfile.ir.stmt.Stmt
+
+
Used in ordering statements in a TreeSet, id of the Stmt in its StmtList
+
+
id - Variable in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
id - Variable in class proguard.evaluation.value.IdentifiedReferenceValue
+
 
+
IdentifiedArrayReferenceValue - Class in proguard.evaluation.value
+
+
This ArrayReferenceValue represents an array reference value that is identified by a + unique ID.
+
+
IdentifiedArrayReferenceValue(String, Clazz, boolean, IntegerValue, ValueFactory, int) - Constructor for class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
+
Creates a new array reference value with the given ID.
+
+
IdentifiedDoubleValue - Class in proguard.evaluation.value
+
+
This DoubleValue represents a double value that is identified by a unique ID.
+
+
IdentifiedDoubleValue(ValueFactory, int) - Constructor for class proguard.evaluation.value.IdentifiedDoubleValue
+
+
Creates a new double value with the given ID.
+
+
IdentifiedFloatValue - Class in proguard.evaluation.value
+
+
This FloatValue represents a float value that is identified by a unique ID.
+
+
IdentifiedFloatValue(ValueFactory, int) - Constructor for class proguard.evaluation.value.IdentifiedFloatValue
+
+
Creates a new float value with the given ID.
+
+
IdentifiedIntegerValue - Class in proguard.evaluation.value
+
+
This IntegerValue represents a integer value that is identified by a unique ID.
+
+
IdentifiedIntegerValue(ValueFactory, int) - Constructor for class proguard.evaluation.value.IdentifiedIntegerValue
+
+
Creates a new integer value with the given ID.
+
+
IdentifiedLongValue - Class in proguard.evaluation.value
+
+
This LongValue represents a long value that is identified by a unique ID.
+
+
IdentifiedLongValue(ValueFactory, int) - Constructor for class proguard.evaluation.value.IdentifiedLongValue
+
+
Creates a new long value with the given ID.
+
+
IdentifiedReferenceValue - Class in proguard.evaluation.value
+
+
This ReferenceValue represents a reference value that is identified by a unique ID.
+
+
IdentifiedReferenceValue(String, Clazz, boolean, boolean, ValueFactory, Object) - Constructor for class proguard.evaluation.value.IdentifiedReferenceValue
+
+
Creates a new reference value with the given ID.
+
+
IdentifiedValueFactory - Class in proguard.evaluation.value
+
+
This class provides methods to create and reuse Value instances that are identified by unique + integer IDs.
+
+
IdentifiedValueFactory() - Constructor for class proguard.evaluation.value.IdentifiedValueFactory
+
+
Creates a new IdentifiedValueFactory which does not keep track of particular references.
+
+
IdentifiedValueFactory(ValueFactory) - Constructor for class proguard.evaluation.value.IdentifiedValueFactory
+
+
Creates a new IdentifiedValueFactory, which uses the given valuefactory for both array and + non-array reference construction.
+
+
IdentifiedValueFactory(ValueFactory, ValueFactory) - Constructor for class proguard.evaluation.value.IdentifiedValueFactory
+
+
Creates a new IdentifiedValueFactory.
+
+
identifier - Variable in class proguard.classfile.editor.CodeAttributeEditor.Label
+
 
+
identifier - Variable in class proguard.classfile.editor.InstructionSequenceReplacer.Label
+
 
+
IDENTITY - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
IDENTITY_FUNCTION - Static variable in interface proguard.util.StringFunction
+
+
A StringFunction that returns the given string.
+
+
IdentityStringFunction - Class in proguard.util
+
+
This StringFunction returns unchanged String instances.
+
+
IdentityStringFunction() - Constructor for class proguard.util.IdentityStringFunction
+
 
+
idiv() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
idiv() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
IDIV - proguard.dexfile.ir.expr.Value.VT
+
 
+
IdleRewriter - Class in proguard.io
+
+
This DataEntryReader reads data entries and requests their corresponding output streams + from a given DataEntryWriter, without actually using the output stream.
+
+
IdleRewriter(DataEntryWriter) - Constructor for class proguard.io.IdleRewriter
+
 
+
IF - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
IF - proguard.dexfile.ir.TypeClass
+
 
+
IF_EQ - proguard.dexfile.reader.Op
+
 
+
IF_EQZ - proguard.dexfile.reader.Op
+
 
+
IF_GE - proguard.dexfile.reader.Op
+
 
+
IF_GEZ - proguard.dexfile.reader.Op
+
 
+
IF_GT - proguard.dexfile.reader.Op
+
 
+
IF_GTZ - proguard.dexfile.reader.Op
+
 
+
IF_LE - proguard.dexfile.reader.Op
+
 
+
IF_LEZ - proguard.dexfile.reader.Op
+
 
+
IF_LT - proguard.dexfile.reader.Op
+
 
+
IF_LTZ - proguard.dexfile.reader.Op
+
 
+
IF_NE - proguard.dexfile.reader.Op
+
 
+
IF_NEZ - proguard.dexfile.reader.Op
+
 
+
ifacmpeq(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifacmpeq(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifacmpne(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifacmpne(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifeq(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifeq(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifge(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifge(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifgt(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifgt(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ificmpeq(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ificmpeq(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ificmpge(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ificmpge(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ificmpgt(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ificmpgt(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ificmple(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ificmple(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ificmplt(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ificmplt(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ificmpne(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ificmpne(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifle(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifle(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iflt(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iflt(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifne(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifne(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifnonnull(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifnonnull(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifnull(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifnull(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
IfStmt - Class in proguard.dexfile.ir.stmt
+
+
Represent a IF statement
+
+
IfStmt(Stmt.ST, Value, LabelStmt) - Constructor for class proguard.dexfile.ir.stmt.IfStmt
+
+
IF
+
+
IGET - proguard.dexfile.reader.Op
+
 
+
IGET_BOOLEAN - proguard.dexfile.reader.Op
+
 
+
IGET_BYTE - proguard.dexfile.reader.Op
+
 
+
IGET_CHAR - proguard.dexfile.reader.Op
+
 
+
IGET_OBJECT - proguard.dexfile.reader.Op
+
 
+
IGET_SHORT - proguard.dexfile.reader.Op
+
 
+
IGET_WIDE - proguard.dexfile.reader.Op
+
 
+
IGNORE_READ_EXCEPTION - Static variable in class proguard.dexfile.reader.DexFileReader
+
+
ingore read exception
+
+
ignoreClass(String) - Method in class proguard.dexfile.reader.DexFileReader
+
 
+
iinc(int, int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iinc(int, int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iload(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iload(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iload(int) - Method in class proguard.evaluation.Variables
+
+
Loads the IntegerValue from the variable with the given index.
+
+
iload_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iload_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iload_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iload_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iload_2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iload_2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iload_3() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iload_3() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ImplementedClassConstantFilter - Class in proguard.classfile.visitor
+
+
This ConstantVisitor delegates its visits to class constants to another given ConstantVisitor, except for classes that extend or implement a given class.
+
+
ImplementedClassConstantFilter(Clazz, ConstantVisitor) - Constructor for class proguard.classfile.visitor.ImplementedClassConstantFilter
+
+
Creates a new ImplementedClassConstantFilter.
+
+
ImplementedClassFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to one of two given ClassVisitors, + depending on whether the visited classes extend/implement a given class or not.
+
+
ImplementedClassFilter(Clazz, boolean, ClassVisitor, ClassVisitor) - Constructor for class proguard.classfile.visitor.ImplementedClassFilter
+
+
Creates a new ImplementedClassFilter.
+
+
ImplementingClassConstantFilter - Class in proguard.classfile.visitor
+
+
This ConstantVisitor delegates its visits to class constants to another given ConstantVisitor, except for classes that are extended or implemented by a given class.
+
+
ImplementingClassConstantFilter(Clazz, ConstantVisitor) - Constructor for class proguard.classfile.visitor.ImplementingClassConstantFilter
+
+
Creates a new ImplementingClassConstantFilter.
+
+
imul() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
imul() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
IN - proguard.classfile.kotlin.KotlinTypeVariance
+
+
The affected type parameter or type is *contravariant*.
+
+
incoming - Variable in class proguard.analysis.datastructure.callgraph.CallGraph
+
 
+
incomingCallLocations - Variable in class proguard.analysis.datastructure.callgraph.Node
+
+
The CodeLocations containing the calls in this node's predecessors that lead here.
+
+
INCOMPLETE_CALL_SKIPPED - proguard.analysis.Metrics.MetricType
+
 
+
INCOMPLETE_CLASS_HIERARCHY - Static variable in class proguard.evaluation.value.TypedReferenceValue
+
+
Indicates whether there were occurrences of IncompleteClassHierarchyException.
+
+
INCOMPLETE_CLASS_HIERARCHY - Static variable in class proguard.exception.ErrorId
+
 
+
IncompleteClassHierarchyException - Exception in proguard.evaluation.exception
+
+
Represents an exception during partial evaluation when an incomplete class hierarchy was + encountered.
+
+
IncompleteClassHierarchyException - Exception in proguard.evaluation
+
+
Deprecated.
+
+
IncompleteClassHierarchyException(String) - Constructor for exception proguard.evaluation.exception.IncompleteClassHierarchyException
+
 
+
IncompleteClassHierarchyException(String) - Constructor for exception proguard.evaluation.IncompleteClassHierarchyException
+
+
Deprecated.
+
increaseCount(Metrics.MetricType) - Static method in class proguard.analysis.Metrics
+
 
+
index - Variable in class proguard.analysis.cpa.jvm.witness.JvmLocalVariableLocation
+
 
+
index - Variable in class proguard.analysis.cpa.jvm.witness.JvmStackLocation
+
 
+
index - Variable in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
indexOf(boolean[], int, boolean) - Static method in class proguard.util.ArrayUtil
+
+
Returns the index of the given value in the given array.
+
+
indexOf(byte[], int, byte) - Static method in class proguard.util.ArrayUtil
+
+
Returns the index of the given value in the given array.
+
+
indexOf(char[], int, char) - Static method in class proguard.util.ArrayUtil
+
+
Returns the index of the given value in the given array.
+
+
indexOf(double[], int, double) - Static method in class proguard.util.ArrayUtil
+
+
Returns the index of the given value in the given array.
+
+
indexOf(float[], int, float) - Static method in class proguard.util.ArrayUtil
+
+
Returns the index of the given value in the given array.
+
+
indexOf(int[], int, int) - Static method in class proguard.util.ArrayUtil
+
+
Returns the index of the given value in the given array.
+
+
indexOf(long[], int, long) - Static method in class proguard.util.ArrayUtil
+
+
Returns the index of the given value in the given array.
+
+
indexOf(short[], int, short) - Static method in class proguard.util.ArrayUtil
+
+
Returns the index of the given value in the given array.
+
+
indexOf(Object[], int, Object) - Static method in class proguard.util.ArrayUtil
+
+
Returns the index of the given value in the given array.
+
+
indexType - Variable in enum proguard.dexfile.reader.Op
+
 
+
ineg() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ineg() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
info - Variable in class proguard.classfile.attribute.SourceDebugExtensionAttribute
+
 
+
info - Variable in class proguard.classfile.attribute.UnknownAttribute
+
 
+
init() - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
init(DvmFrame<? extends V>) - Method in class proguard.dexfile.reader.node.analysis.DvmFrame
+
 
+
init(MethodExecutionInfo, ValueCalculator) - Method in class proguard.evaluation.value.object.model.ArrayModel
+
 
+
init(MethodExecutionInfo, ValueCalculator) - Method in class proguard.evaluation.value.object.model.ClassModel
+
 
+
init(MethodExecutionInfo, ValueCalculator) - Method in interface proguard.evaluation.value.object.model.Model
+
+
Execute a constructor call for the modeled class.
+
+
init(MethodExecutionInfo, ValueCalculator) - Method in interface proguard.evaluation.value.object.model.reflective.ReflectiveModel
+
 
+
initCFG() - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
initFirstFrame(Stmt) - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
initFirstFrame(Stmt) - Method in interface proguard.dexfile.ir.ts.Cfg.FrameVisitor
+
 
+
InitializationFinder - Class in proguard.evaluation
+
+
This AttributeVisitor links 'new' instructions and their corresponding initializers in + the CodeAttribute instances that it visits.
+
+
InitializationFinder() - Constructor for class proguard.evaluation.InitializationFinder
+
+
Creates a new InitializationFinder.
+
+
InitializationFinder(PartialEvaluator, boolean) - Constructor for class proguard.evaluation.InitializationFinder
+
+
Creates a new InitializationFinder that will use the given partial evaluator.
+
+
InitializationUtil - Class in proguard.classfile.util
+
+
This utility class provides a method to initialize the cached cross-references classes.
+
+
InitializationUtil() - Constructor for class proguard.classfile.util.InitializationUtil
+
 
+
initialize(ClassPool, ClassPool) - Static method in class proguard.classfile.util.InitializationUtil
+
+
Initializes the cached cross-references of the classes in the given class pools.
+
+
initialize(ClassPool, ClassPool, WarningPrinter) - Static method in class proguard.classfile.util.InitializationUtil
+
+
Initializes the cached cross-references of the classes in the given class pools.
+
+
initialize(Clazz, int, int[], String[], String[], int, String, String) - Method in class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
+
Initialize Kotlin metadata for a given Clazz.
+
+
initialize(TracedVariables) - Method in class proguard.evaluation.TracedVariables
+
 
+
initialize(Variables) - Method in class proguard.evaluation.Variables
+
+
Initializes the values of this Variables object with the values of the given Variables object.
+
+
InitializedClassUtil - Class in proguard.classfile.util
+
+
Utility methods for operation on Clazz that require initialization of the ClassPools to work (i.e., ClassReferenceInitializer, ClassSubHierarchyInitializer, and ClassSuperHierarchyInitializer should have run on the + class pools).
+
+
InitializerEditor - Class in proguard.classfile.editor
+
+
This editor allows to build and/or edit classes (ProgramClass instances).
+
+
InitializerEditor(ProgramClass) - Constructor for class proguard.classfile.editor.InitializerEditor
+
+
Creates a new InitializerEditor for the given class.
+
+
InitializerEditor.CodeBuilder - Interface in proguard.classfile.editor
+
+
This functional interface provides an instruction sequence builder to its caller.
+
+
InitializerMethodFilter - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates its visits to one of two other given MemberVisitor + instances, depending on whether the visited method is a static initializer or instance + initializer, or not.
+
+
InitializerMethodFilter(MemberVisitor) - Constructor for class proguard.classfile.visitor.InitializerMethodFilter
+
+
Creates a new InitializerMethodFilter.
+
+
InitializerMethodFilter(MemberVisitor, MemberVisitor) - Constructor for class proguard.classfile.visitor.InitializerMethodFilter
+
+
Creates a new InitializerMethodFilter.
+
+
InitialValueFactory - Class in proguard.evaluation.value
+
+
This value factory creates initial values for fields and array elements, with the help of a given + value factory.
+
+
InitialValueFactory(ValueFactory) - Constructor for class proguard.evaluation.value.InitialValueFactory
+
+
Creates a new InitialValueFactory.
+
+
INJECTED - Static variable in class proguard.util.ProcessingFlags
+
 
+
inlineClassUnderlyingPropertyTypeAccept(Clazz, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
INNER_CLASS_SEPARATOR - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
INNER_CLASS_SEPARATOR - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
INNER_CLASS_SEPARATOR - Static variable in class proguard.classfile.TypeConstants
+
 
+
INNER_CLASSES - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
innerClassConstantAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.InnerClassesInfo
+
+
Applies the given constant pool visitor to the class constant of the inner class, if any.
+
+
innerClassEntriesAccept(Clazz, InnerClassesInfoVisitor) - Method in class proguard.classfile.attribute.InnerClassesAttribute
+
+
Applies the given visitor to all inner classes.
+
+
InnerClassesAccessFixer - Class in proguard.classfile.editor
+
+
This InnerClassesInfoVisitor fixes the inner class access flags of the inner classes + information that it visits.
+
+
InnerClassesAccessFixer() - Constructor for class proguard.classfile.editor.InnerClassesAccessFixer
+
 
+
InnerClassesAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents an inner classes attribute.
+
+
InnerClassesAttribute() - Constructor for class proguard.classfile.attribute.InnerClassesAttribute
+
+
Creates an uninitialized InnerClassesAttribute.
+
+
InnerClassesAttribute(int, int, InnerClassesInfo[]) - Constructor for class proguard.classfile.attribute.InnerClassesAttribute
+
+
Creates an initialized InnerClassesAttribute.
+
+
InnerClassesAttributeEditor - Class in proguard.classfile.editor
+
+
This class can add/remove bootstrap methods to/from a given inner classes attribute.
+
+
InnerClassesAttributeEditor(InnerClassesAttribute) - Constructor for class proguard.classfile.editor.InnerClassesAttributeEditor
+
+
Creates a new InnerClassesAttributeEditor that will edit inner classes in the given inner + classes attribute.
+
+
InnerClassesInfo - Class in proguard.classfile.attribute
+
+
Representation of an inner classes table entry.
+
+
InnerClassesInfo() - Constructor for class proguard.classfile.attribute.InnerClassesInfo
+
+
Creates an uninitialized InnerClassesInfo.
+
+
InnerClassesInfo(int, int, int, int) - Constructor for class proguard.classfile.attribute.InnerClassesInfo
+
+
Creates an InnerClassesInfo with the given properties.
+
+
InnerClassesInfoVisitor - Interface in proguard.classfile.attribute.visitor
+
+
This interface specifies the methods for a visitor of InnerClassesInfo instances.
+
+
innerNameConstantAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.InnerClassesInfo
+
+
Applies the given constant pool visitor to the Utf8 constant of the inner name, if any.
+
+
inputCpaRun - Variable in class proguard.analysis.cpa.defaults.SequentialCpaRun
+
 
+
inputReachedSet - Variable in class proguard.analysis.cpa.defaults.SequentialCpaRun
+
 
+
InputStreams - Class in proguard.dexfile.reader.util
+
 
+
InputStreams() - Constructor for class proguard.dexfile.reader.util.InputStreams
+
 
+
inSameNest(Clazz, Clazz) - Method in class proguard.classfile.util.NestHostFinder
+
+
Returns whether the two given classes are in the same nest.
+
+
insert(byte[], int, int, byte) - Static method in class proguard.util.ArrayUtil
+
+
Inserts the given element in the given array.
+
+
insert(char[], int, int, char) - Static method in class proguard.util.ArrayUtil
+
+
Inserts the given element in the given array.
+
+
insert(double[], int, int, double) - Static method in class proguard.util.ArrayUtil
+
+
Inserts the given element in the given array.
+
+
insert(float[], int, int, float) - Static method in class proguard.util.ArrayUtil
+
+
Inserts the given element in the given array.
+
+
insert(int[], int, int, int) - Static method in class proguard.util.ArrayUtil
+
+
Inserts the given element in the given array.
+
+
insert(long[], int, int, long) - Static method in class proguard.util.ArrayUtil
+
+
Inserts the given element in the given array.
+
+
insert(short[], int, int, short) - Static method in class proguard.util.ArrayUtil
+
+
Inserts the given element in the given array.
+
+
insert(T[], int, int, T) - Static method in class proguard.util.ArrayUtil
+
+
Inserts the given element in the given array.
+
+
insertAfter(Stmt, Stmt) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
insertAfterInstruction(int, Instruction) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Remembers to place the given instruction right after the instruction at the given offset.
+
+
insertAfterInstruction(int, Instruction[]) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Remembers to place the given instructions right after the instruction at the given offset.
+
+
insertBefore(Stmt, Stmt) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
insertBeforeInstruction(int, Instruction) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Remembers to place the given instruction right before the instruction at the given offset.
+
+
insertBeforeInstruction(int, Instruction[]) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Remembers to place the given instructions right before the instruction at the given offset.
+
+
insertBeforeOffset(int, Instruction) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Remembers to place the given instruction right before the instruction at the given offset.
+
+
insertBeforeOffset(int, Instruction[]) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Remembers to place the given instructions right before the instruction at the given offset.
+
+
insertFirst(Stmt) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
insertLast(Stmt) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
insertLineNumber(int, LineNumberInfo) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Inserts the given line number at the appropriate position in the line number table.
+
+
insertLineNumber(LineNumberInfo) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Inserts the given line number at the appropriate position in the line number table.
+
+
INSTANCE - Static variable in class proguard.analysis.cpa.defaults.NeverAbortOperator
+
 
+
INSTANCE - Static variable in class proguard.analysis.cpa.jvm.cfa.nodes.JvmUnknownCfaNode
+
 
+
INSTANCE_GET - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
INSTANCE_OF - proguard.dexfile.ir.expr.Value.VT
+
 
+
INSTANCE_OF - proguard.dexfile.reader.Op
+
 
+
INSTANCE_PUT - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
InstanceCopyResult(AnalyzedObject, boolean) - Constructor for class proguard.evaluation.executor.ReflectionExecutor.InstanceCopyResult
+
 
+
instanceOf(String, Clazz) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
instanceOf(String, Clazz) - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
instanceOf(String, Clazz) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether the type is an instance of the given type.
+
+
instanceOf(String, Clazz) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
instanceOf(String, Clazz) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
instanceOf(String, Clazz) - Method in class proguard.evaluation.value.UnknownReferenceValue
+
 
+
instanceof_(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
instanceof_(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
instanceof_(String, Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
instanceof_(String, Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
instanceof_(Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
instruction - Variable in class proguard.analysis.datastructure.callgraph.Call
+
+
The instruction performing this call.
+
+
Instruction - Class in proguard.classfile.instruction
+
+
Base class for representing instructions.
+
+
Instruction() - Constructor for class proguard.classfile.instruction.Instruction
+
 
+
INSTRUCTION_OFFSET_MASK - Static variable in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
InstructionAbstractInterpreter(JvmAbstractState<SetAbstractState<JvmTaintSource>>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTransferRelation.InstructionAbstractInterpreter
+
 
+
InstructionAbstractInterpreter(JvmAbstractState<StateT>) - Constructor for class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation.InstructionAbstractInterpreter
+
 
+
instructionAccept(Clazz, Method, int, InstructionVisitor) - Method in class proguard.classfile.attribute.CodeAttribute
+
+
Applies the given instruction visitor to the instruction at the specified offset.
+
+
InstructionAdder - Class in proguard.classfile.editor
+
+
This InstructionVisitor adds all instructions that it visits to the given target code + attribute.
+
+
InstructionAdder(ProgramClass, CodeAttributeComposer) - Constructor for class proguard.classfile.editor.InstructionAdder
+
+
Creates a new InstructionAdder that will copy classes into the given target code attribute.
+
+
instructionBlockDone(Clazz, Method, CodeAttribute, TracedVariables, TracedStack, int) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
instructionBlockDone(Clazz, Method, CodeAttribute, TracedVariables, TracedStack, int) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
An instruction block has been evaluated.
+
+
InstructionClassifier - Class in proguard.analysis.cpa.jvm.util
+
+
Util for operations involving Instruction.
+
+
InstructionClassifier() - Constructor for class proguard.analysis.cpa.jvm.util.InstructionClassifier
+
 
+
InstructionConstantVisitor - Class in proguard.classfile.instruction.visitor
+
+
This InstructionVisitor lets a given ConstantVisitor visit all constants of the + instructions it visits.
+
+
InstructionConstantVisitor(ConstantVisitor) - Constructor for class proguard.classfile.instruction.visitor.InstructionConstantVisitor
+
+
Creates a new InstructionConstantVisitor.
+
+
instructionCount() - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
+
Returns the number of instructions in the pattern sequence.
+
+
InstructionCounter - Class in proguard.classfile.instruction.visitor
+
+
This InstructionVisitor counts the number of instructions that has been visited.
+
+
InstructionCounter() - Constructor for class proguard.classfile.instruction.visitor.InstructionCounter
+
 
+
InstructionExceptionFormatter - Class in proguard.exception
+
+
This class is used to format an exception with the previous instructions.
+
+
InstructionExceptionFormatter(Logger, CircularIntBuffer, byte[], Clazz, Method) - Constructor for class proguard.exception.InstructionExceptionFormatter
+
 
+
InstructionFactory - Class in proguard.classfile.instruction
+
+
This class provides methods to create and reuse Instruction instances.
+
+
InstructionFactory() - Constructor for class proguard.classfile.instruction.InstructionFactory
+
 
+
InstructionFormat - Enum in proguard.dexfile.reader
+
 
+
InstructionIndexType - Enum in proguard.dexfile.reader
+
 
+
instructionOffset(int) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns the specified instruction offset of this value.
+
+
instructionOffsetCount() - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns the number of instruction offsets of this value.
+
+
instructionOffsetValue() - Method in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
instructionOffsetValue() - Method in class proguard.evaluation.value.TracingValue
+
 
+
instructionOffsetValue() - Method in class proguard.evaluation.value.Value
+
+
Returns this Value as an InstructionOffsetValue.
+
+
InstructionOffsetValue - Class in proguard.evaluation.value
+
+
Representation of a partially evaluated instruction offset.
+
+
InstructionOffsetValue(int) - Constructor for class proguard.evaluation.value.InstructionOffsetValue
+
+
Creates a new InstructionOffsetValue with the given instruction offset.
+
+
InstructionOffsetValue(int[]) - Constructor for class proguard.evaluation.value.InstructionOffsetValue
+
+
Creates a new InstructionOffsetValue with the given list of instruction offsets.
+
+
InstructionOpCodeFilter - Class in proguard.classfile.instruction.visitor
+
+
This InstructionVisitor delegates its visits to one of two InstructionVisitors, based on whether + the opcode of the visited instruction matches the list of passed opcodes.
+
+
InstructionOpCodeFilter(int[], InstructionVisitor) - Constructor for class proguard.classfile.instruction.visitor.InstructionOpCodeFilter
+
 
+
InstructionOpCodeFilter(int[], InstructionVisitor, InstructionVisitor) - Constructor for class proguard.classfile.instruction.visitor.InstructionOpCodeFilter
+
 
+
instructions() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Returns the accumulated sequence of instructions and resets the sequence in the builder.
+
+
instructionsAccept(Clazz, Method, int, int, InstructionVisitor) - Method in class proguard.classfile.attribute.CodeAttribute
+
+
Applies the given instruction visitor to all instructions in the specified range of offsets.
+
+
instructionsAccept(Clazz, Method, InstructionVisitor) - Method in class proguard.classfile.attribute.CodeAttribute
+
+
Applies the given instruction visitor to all instructions.
+
+
InstructionSequenceBuilder - Class in proguard.classfile.editor
+
+
This utility class allows to construct sequences of instructions and their constants.
+
+
InstructionSequenceBuilder() - Constructor for class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Creates a new InstructionSequenceBuilder.
+
+
InstructionSequenceBuilder(ClassPool, ClassPool) - Constructor for class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Creates a new InstructionSequenceBuilder that automatically initializes class references and + class member references in new constants.
+
+
InstructionSequenceBuilder(ConstantPoolEditor) - Constructor for class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Creates a new InstructionSequenceBuilder.
+
+
InstructionSequenceBuilder(ProgramClass) - Constructor for class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Creates a new InstructionSequenceBuilder.
+
+
InstructionSequenceBuilder(ProgramClass, ClassPool, ClassPool) - Constructor for class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Creates a new InstructionSequenceBuilder that automatically initializes class references and + class member references in new constants.
+
+
InstructionSequenceMatcher - Class in proguard.classfile.util
+
+
This InstructionVisitor checks whether a given pattern instruction sequence occurs in the + instructions that are visited.
+
+
InstructionSequenceMatcher(Constant[], Instruction[]) - Constructor for class proguard.classfile.util.InstructionSequenceMatcher
+
+
Creates a new InstructionSequenceMatcher.
+
+
InstructionSequenceMatcher(Constant[], Instruction[], boolean) - Constructor for class proguard.classfile.util.InstructionSequenceMatcher
+
+
Creates a new InstructionSequenceMatcher.
+
+
InstructionSequenceReplacer - Class in proguard.classfile.editor
+
+
This InstructionVisitor replaces a given pattern instruction sequence by another given + replacement instruction sequence.
+
+
InstructionSequenceReplacer(Constant[], Instruction[], Constant[], Instruction[], BranchTargetFinder, CodeAttributeEditor) - Constructor for class proguard.classfile.editor.InstructionSequenceReplacer
+
+
Creates a new InstructionSequenceReplacer.
+
+
InstructionSequenceReplacer(Constant[], Instruction[], Constant[], Instruction[], BranchTargetFinder, CodeAttributeEditor, InstructionVisitor) - Constructor for class proguard.classfile.editor.InstructionSequenceReplacer
+
+
Creates a new InstructionSequenceReplacer.
+
+
InstructionSequenceReplacer(InstructionSequenceMatcher, Constant[], Instruction[], Constant[], Instruction[], BranchTargetFinder, CodeAttributeEditor, InstructionVisitor) - Constructor for class proguard.classfile.editor.InstructionSequenceReplacer
+
+ +
+
InstructionSequenceReplacer(InstructionSequenceMatcher, Constant[], Instruction[], BranchTargetFinder, CodeAttributeEditor, InstructionVisitor) - Constructor for class proguard.classfile.editor.InstructionSequenceReplacer
+
+
Creates a new InstructionSequenceReplacer.
+
+
InstructionSequenceReplacer.Label - Class in proguard.classfile.editor
+
+
This pseudo-instruction represents a label that marks an instruction offset, for use in the + context of the sequence replacer only.
+
+
InstructionSequencesReplacer - Class in proguard.classfile.editor
+
+
This InstructionVisitor replaces multiple instruction sequences at once.
+
+
InstructionSequencesReplacer(Constant[], Instruction[][][], BranchTargetFinder, CodeAttributeEditor) - Constructor for class proguard.classfile.editor.InstructionSequencesReplacer
+
+
Creates a new InstructionSequencesReplacer.
+
+
InstructionSequencesReplacer(Constant[], Instruction[][][], BranchTargetFinder, CodeAttributeEditor, InstructionVisitor) - Constructor for class proguard.classfile.editor.InstructionSequencesReplacer
+
+
Creates a new InstructionSequenceReplacer.
+
+
InstructionToAttributeVisitor - Class in proguard.classfile.attribute.visitor
+
+
This InstructionVisitor delegates to a given AttributeVisitor.
+
+
InstructionToAttributeVisitor(AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.InstructionToAttributeVisitor
+
+
Creates a new InstructionToAttributeVisitor.
+
+
InstructionUtil - Class in proguard.classfile.instruction
+
+
Utility methods for converting between representations of names and descriptions.
+
+
InstructionUtil() - Constructor for class proguard.classfile.instruction.InstructionUtil
+
 
+
InstructionVisitor - Interface in proguard.classfile.instruction.visitor
+
+
This interface specifies the methods for a visitor of Instruction instances.
+
+
InstructionWriter - Class in proguard.classfile.editor
+
+
This InstructionVisitor writes out the instructions that it visits, collecting + instructions that have to be widened.
+
+
InstructionWriter() - Constructor for class proguard.classfile.editor.InstructionWriter
+
 
+
INT - proguard.dexfile.ir.TypeClass
+
 
+
INT - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
INT - Static variable in class proguard.classfile.TypeConstants
+
 
+
INT_A_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
INT_B_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
INT_TO_BYTE - proguard.dexfile.reader.Op
+
 
+
INT_TO_CHAR - proguard.dexfile.reader.Op
+
 
+
INT_TO_DOUBLE - proguard.dexfile.reader.Op
+
 
+
INT_TO_FLOAT - proguard.dexfile.reader.Op
+
 
+
INT_TO_LONG - proguard.dexfile.reader.Op
+
 
+
INT_TO_SHORT - proguard.dexfile.reader.Op
+
 
+
INTEGER - Static variable in class proguard.classfile.constant.Constant
+
 
+
INTEGER_TYPE - Static variable in class proguard.classfile.attribute.preverification.VerificationType
+
 
+
INTEGER_VALUE - Static variable in class proguard.evaluation.value.BasicValueFactory
+
 
+
integerArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
integerArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the value of the array at the given index, assuming this type is an integer array.
+
+
integerArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
integerArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
IntegerConstant - Class in proguard.classfile.constant
+
+
This Constant represents a integer constant in the constant pool.
+
+
IntegerConstant() - Constructor for class proguard.classfile.constant.IntegerConstant
+
+
Creates an uninitialized IntegerConstant.
+
+
IntegerConstant(int) - Constructor for class proguard.classfile.constant.IntegerConstant
+
+
Creates a new IntegerConstant with the given integer value.
+
+
IntegerType - Class in proguard.classfile.attribute.preverification
+
+
This VerificationType represents an Integer type.
+
+
IntegerType() - Constructor for class proguard.classfile.attribute.preverification.IntegerType
+
 
+
integerValue() - Method in class proguard.evaluation.value.IntegerValue
+
 
+
integerValue() - Method in class proguard.evaluation.value.TracingValue
+
 
+
integerValue() - Method in class proguard.evaluation.value.Value
+
+
Returns this Value as an IntegerValue.
+
+
IntegerValue - Class in proguard.evaluation.value
+
+
Representation of a partially evaluated integer value.
+
+
IntegerValue() - Constructor for class proguard.evaluation.value.IntegerValue
+
 
+
INTERFACE - Static variable in class proguard.classfile.AccessConstants
+
 
+
INTERFACE - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
INTERFACE_METHODREF - Static variable in class proguard.classfile.constant.Constant
+
 
+
InterfaceAdder - Class in proguard.classfile.editor
+
+
This ConstantVisitor adds all interfaces that it visits to the given target class.
+
+
InterfaceAdder(ProgramClass) - Constructor for class proguard.classfile.editor.InterfaceAdder
+
+
Creates a new InterfaceAdder that will add interfaces to the given target class.
+
+
interfaceClasses - Variable in class proguard.classfile.LibraryClass
+
+
An extra field pointing to the interfaces of this class.
+
+
interfaceConstantsAccept(ConstantVisitor) - Method in interface proguard.classfile.Clazz
+
+
Lets the given constant pool entry visitor visit the class constant pool entries for all + interfaces of this class.
+
+
interfaceConstantsAccept(ConstantVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
interfaceConstantsAccept(ConstantVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
InterfaceDeleter - Class in proguard.classfile.editor
+
+
This ClassVisitor removes specified interfaces from the classes and class signatures that + it visits.
+
+
InterfaceDeleter(boolean[], boolean) - Constructor for class proguard.classfile.editor.InterfaceDeleter
+
+
Creates a new InterfaceDeleter to remove the specified interfaces.
+
+
interfaceMethod - Variable in class proguard.backport.LambdaExpression
+
 
+
interfaceMethodDescriptor - Variable in class proguard.backport.LambdaExpression
+
 
+
InterfaceMethodrefConstant - Class in proguard.classfile.constant
+
+
This Constant represents a interface method reference constant in the constant pool.
+
+
InterfaceMethodrefConstant() - Constructor for class proguard.classfile.constant.InterfaceMethodrefConstant
+
+
Creates an uninitialized InterfaceMethodrefConstant.
+
+
InterfaceMethodrefConstant(int, int, Clazz, Method) - Constructor for class proguard.classfile.constant.InterfaceMethodrefConstant
+
+
Creates a new InterfaceMethodrefConstant with the given name and type indices.
+
+
interfaceNames - Variable in class proguard.classfile.LibraryClass
+
 
+
interfaceNames - Variable in class proguard.dexfile.reader.node.DexClassNode
+
 
+
interfaces - Variable in class proguard.backport.LambdaExpression
+
 
+
interfacesAccept(ClassVisitor) - Method in class proguard.classfile.LibraryClass
+
+
Lets the given class visitor visit all known direct interfaces.
+
+
InterfacesEditor - Class in proguard.classfile.editor
+
+
This class can add and delete interfaces to and from classes.
+
+
InterfacesEditor(ProgramClass) - Constructor for class proguard.classfile.editor.InterfacesEditor
+
+
Creates a new InterfacesEditor that will edit interfaces in the given target class.
+
+
InterfaceSorter - Class in proguard.classfile.editor
+
+
This ClassVisitor sorts the interfaces of the program classes that it visits.
+
+
InterfaceSorter() - Constructor for class proguard.classfile.editor.InterfaceSorter
+
 
+
internalArrayTypeDimensionCount(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the number of dimensions of the given internal type.
+
+
internalArrayTypeFromClassName(String, int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal array type of a given class name with a given number of dimensions.
+
+
internalArrayTypeFromType(String, int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal array type of a given type, with a given number of additional dimensions.
+
+
internalClassName(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts an external class name into an internal class name.
+
+
internalClassNameFromClassSignature(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal class name for a given Class Signature.
+
+
internalClassNameFromClassType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal class name of a given internal class type (including an array type).
+
+
internalClassNameFromType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal class name of any given internal descriptor type, disregarding array + prefixes.
+
+
internalClassTypeFromType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal class type (class name or array type) of a given internal type (including + an array type).
+
+
internalClassVersion(int, int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the combined class version number.
+
+
internalClassVersion(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal class version number.
+
+
internalMajorClassVersion(int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the major part of the given class version number.
+
+
internalMethodDescriptor(String, String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts the given external method return type and name and arguments to an internal method + descriptor.
+
+
internalMethodDescriptor(String, List<String>) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts the given external method return type and List of arguments to an internal method + descriptor.
+
+
internalMethodDescriptorFromInternalTypes(String, List<String>) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts the given internal method return type and List of arguments to an internal method + descriptor.
+
+
internalMethodParameterCount(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the number of parameters of the given internal method descriptor.
+
+
internalMethodParameterCount(String, boolean) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the number of parameters of the given internal method descriptor.
+
+
internalMethodParameterCount(String, int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the number of parameters of the given internal method descriptor.
+
+
internalMethodParameterNumber(String, boolean, int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the parameter number in the given internal method descriptor, corresponding to the + given variable index.
+
+
internalMethodParameterNumber(String, int, int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the parameter number in the given internal method descriptor, corresponding to the + given variable index.
+
+
internalMethodParameterSize(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the size taken up on the stack by the parameters of the given internal method + descriptor.
+
+
internalMethodParameterSize(String, boolean) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the size taken up on the stack by the parameters of the given internal method + descriptor.
+
+
internalMethodParameterSize(String, int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the size taken up on the stack by the parameters of the given internal method + descriptor.
+
+
internalMethodParameterType(String, int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal type of the parameter in the given method descriptor, at the given index.
+
+
internalMethodReturnType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal type of the given internal method descriptor.
+
+
internalMethodVariableIndex(String, boolean, int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the parameter index in the given internal method descriptor, corresponding to the given + variable number.
+
+
internalMethodVariableIndex(String, int, int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the variable index corresponding to the given parameter number in the given internal + method descriptor.
+
+
internalMinorClassVersion(int) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal class version number.
+
+
internalNumericClassNameFromPrimitiveType(char) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal numeric (or void or array) class name corresponding to the given internal + primitive type.
+
+
internalPackageName(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal package name of the given internal class name.
+
+
internalPackagePrefix(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal package prefix of the given internal class name.
+
+
internalPrimitiveTypeFromNumericClassName(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal numeric (or void or array) class name corresponding to the given internal + primitive type.
+
+
internalPrimitiveTypeFromPrimitiveBoxingType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the primitive type corresponding to the given internal primitive boxing type.
+
+
internalPrimitiveTypeToComputationalType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
The internal primitive type computational type.
+
+
internalShortClassName(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal short class name of an internal class name, dropping the package + specification.
+
+
internalSimpleClassName(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the simple name of an internal class name, dropping the package specification and any + outer class part.
+
+
internalType() - Method in class proguard.evaluation.value.DoubleValue
+
 
+
internalType() - Method in class proguard.evaluation.value.FloatValue
+
 
+
internalType() - Method in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
internalType() - Method in class proguard.evaluation.value.IntegerValue
+
 
+
internalType() - Method in class proguard.evaluation.value.LongValue
+
 
+
internalType() - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
internalType() - Method in class proguard.evaluation.value.TopValue
+
 
+
internalType() - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
internalType() - Method in class proguard.evaluation.value.TracingValue
+
 
+
internalType() - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
internalType() - Method in class proguard.evaluation.value.UnknownReferenceValue
+
 
+
internalType() - Method in class proguard.evaluation.value.UnknownValue
+
 
+
internalType() - Method in class proguard.evaluation.value.Value
+
+
Returns the internal type of this Value.
+
+
internalType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts an external type into an internal type.
+
+
InternalTypeEnumeration - Class in proguard.classfile.util
+
+
An InternalTypeEnumeration provides an enumeration of all types listed in a given + internal descriptor or signature of a class, a method, or a field.
+
+
InternalTypeEnumeration(String) - Constructor for class proguard.classfile.util.InternalTypeEnumeration
+
+
Creates a new InternalTypeEnumeration for the given method descriptor.
+
+
internalTypeFromArrayType(byte) - Static method in class proguard.classfile.instruction.InstructionUtil
+
+
Returns the internal type corresponding to the given 'newarray' type.
+
+
internalTypeFromArrayType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal element type of a given internal array type.
+
+
internalTypeFromClassName(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal type of a given class name.
+
+
internalTypeFromClassType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the internal type of a given class type (class name or array type).
+
+
InternalTypeIterable - Class in proguard.classfile.util
+
+
This class wraps InternalTypeEnumeration to provide an Iterable interface for use with + enhanced for loops.
+
+
InternalTypeIterable(String) - Constructor for class proguard.classfile.util.InternalTypeIterable
+
 
+
internalTypeSize(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns the size taken up on the stack by the given internal type.
+
+
IntValue(int) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.IntValue
+
 
+
InvalidClassReferenceVisitor - Interface in proguard.classfile.util
+
+
A visitor that is visited for invalid class references.
+
+
InvalidMemberReferenceVisitor - Interface in proguard.classfile.util
+
+
A visitor for invalid member references.
+
+
InvalidReferenceVisitor - Interface in proguard.classfile.util
+
+
A visitor for invalid references.
+
+
invalidResult() - Static method in class proguard.evaluation.MethodResult
+
+
Returns a result communicating to the receiver that the creator is not able to provide any + additional information about the method execution.
+
+
INVARIANT - proguard.classfile.kotlin.KotlinTypeVariance
+
+
The affected type parameter or type is *invariant*, which means it has no variance applied to + it.
+
+
invocationKind - Variable in class proguard.classfile.kotlin.KotlinEffectMetadata
+
 
+
InvocationUnit - Interface in proguard.evaluation
+
+
This interface sets up the variables for entering a method, and it updates the stack for the + invocation of a class member.
+
+
invoke(MethodExecutionInfo, ValueCalculator) - Method in class proguard.evaluation.value.object.model.ArrayModel
+
 
+
invoke(MethodExecutionInfo, ValueCalculator) - Method in interface proguard.evaluation.value.object.model.Model
+
+
Execute an instance method on the modeled object.
+
+
invoke(MethodExecutionInfo, ValueCalculator) - Method in interface proguard.evaluation.value.object.model.reflective.ReflectiveModel
+
 
+
INVOKE_CONSTRUCTOR - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
INVOKE_CUSTOM - proguard.dexfile.ir.expr.Value.VT
+
 
+
INVOKE_CUSTOM - proguard.dexfile.reader.Op
+
 
+
INVOKE_CUSTOM_RANGE - proguard.dexfile.reader.Op
+
 
+
INVOKE_DIRECT - proguard.dexfile.reader.Op
+
 
+
INVOKE_DIRECT - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
INVOKE_DIRECT_RANGE - proguard.dexfile.reader.Op
+
 
+
INVOKE_DYNAMIC - Static variable in class proguard.classfile.constant.Constant
+
 
+
INVOKE_INSTANCE - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
INVOKE_INTERFACE - proguard.dexfile.ir.expr.Value.VT
+
 
+
INVOKE_INTERFACE - proguard.dexfile.reader.Op
+
 
+
INVOKE_INTERFACE - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
INVOKE_INTERFACE_RANGE - proguard.dexfile.reader.Op
+
 
+
INVOKE_NEW - proguard.dexfile.ir.expr.Value.VT
+
 
+
INVOKE_POLYMORPHIC - proguard.dexfile.ir.expr.Value.VT
+
 
+
INVOKE_POLYMORPHIC - proguard.dexfile.reader.Op
+
 
+
INVOKE_POLYMORPHIC_RANGE - proguard.dexfile.reader.Op
+
 
+
INVOKE_SPECIAL - proguard.dexfile.ir.expr.Value.VT
+
 
+
INVOKE_STATIC - proguard.dexfile.ir.expr.Value.VT
+
 
+
INVOKE_STATIC - proguard.dexfile.reader.Op
+
 
+
INVOKE_STATIC - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
INVOKE_STATIC_RANGE - proguard.dexfile.reader.Op
+
 
+
INVOKE_SUPER - proguard.dexfile.reader.Op
+
+
Behavior changed in 037, interface method is allowed
+
+
INVOKE_SUPER_RANGE - proguard.dexfile.reader.Op
+
 
+
INVOKE_VIRTUAL - proguard.dexfile.ir.expr.Value.VT
+
 
+
INVOKE_VIRTUAL - proguard.dexfile.reader.Op
+
 
+
INVOKE_VIRTUAL_RANGE - proguard.dexfile.reader.Op
+
 
+
InvokeCustomExpr - Class in proguard.dexfile.ir.expr
+
 
+
InvokeCustomExpr(Value.VT, Value[], String, Proto, MethodHandle, Object[]) - Constructor for class proguard.dexfile.ir.expr.InvokeCustomExpr
+
 
+
invokedClassName - Variable in class proguard.backport.LambdaExpression
+
 
+
invokedMethodDesc - Variable in class proguard.backport.LambdaExpression
+
 
+
invokedMethodName - Variable in class proguard.backport.LambdaExpression
+
 
+
invokedReferenceKind - Variable in class proguard.backport.LambdaExpression
+
 
+
invokedynamic(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokedynamic(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokedynamic(int, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokedynamic(int, String, String, Clazz[]) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokedynamic(int, String, String, Clazz[]) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
InvokeDynamicConstant - Class in proguard.classfile.constant
+
+
This Constant represents an invoke dynamic constant in the constant pool.
+
+
InvokeDynamicConstant() - Constructor for class proguard.classfile.constant.InvokeDynamicConstant
+
+
Creates an uninitialized InvokeDynamicConstant.
+
+
InvokeDynamicConstant(int, int, Clazz[]) - Constructor for class proguard.classfile.constant.InvokeDynamicConstant
+
+
Creates a new InvokeDynamicConstant with the given bootstrap method and name-and-type indices.
+
+
InvokeExpr - Class in proguard.dexfile.ir.expr
+
+
Represent a method invocation expression.
+
+
InvokeExpr(Value.VT, Value[], String, String, String[], String) - Constructor for class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
InvokeExpr(Value.VT, Value[], Method) - Constructor for class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
invokeinterface(int, int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokeinterface(int, int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokeinterface(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokeinterface(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokeinterface(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokeinterface(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokeinterface(Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokeinterface(Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokeMember(Clazz, Method, CodeAttribute, int, ConstantInstruction, Stack, Variables) - Method in interface proguard.evaluation.InvocationUnit
+
+
Updates the given stack corresponding to the execution of the given field or method reference + instruction.
+
+
invokeMember(Clazz, Method, CodeAttribute, int, ConstantInstruction, Stack, Variables) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
 
+
invokeMember(Clazz, Method, CodeAttribute, int, ConstantInstruction, Stack, Variables) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
invokeMethod(JvmAbstractState<SetAbstractState<Reference>>, Call, List<SetAbstractState<Reference>>) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceTransferRelation
+
 
+
invokeMethod(JvmAbstractState<SetAbstractState<JvmTaintSource>>, Call, List<SetAbstractState<JvmTaintSource>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTransferRelation
+
 
+
invokeMethod(JvmAbstractState<ValueAbstractState>, Call, List<ValueAbstractState>) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
invokeMethod(JvmAbstractState<StateT>, Call, List<StateT>) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
The default implementation computes join over its arguments.
+
+
InvokeNewExpr - Class in proguard.dexfile.ir.expr
+
+
Represents an IR instructor equivalent to Java bytecode: `new X, invoke-special X.`
+
+
InvokeNewExpr(Value.VT, Value[], String, String, String[], String) - Constructor for class proguard.dexfile.ir.expr.InvokeNewExpr
+
 
+
InvokeNewExpr(Value.VT, Value[], String, String, String[], String, String) - Constructor for class proguard.dexfile.ir.expr.InvokeNewExpr
+
 
+
InvokePolymorphicExpr - Class in proguard.dexfile.ir.expr
+
 
+
InvokePolymorphicExpr(Value.VT, Value[], Proto, Method) - Constructor for class proguard.dexfile.ir.expr.InvokePolymorphicExpr
+
 
+
invokespecial(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokespecial(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokespecial(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokespecial(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokespecial(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokespecial(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokespecial(Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokespecial(Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokespecial_interface(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokespecial_interface(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokespecial_interface(Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokesStaticInterfaceMethod() - Method in class proguard.backport.LambdaExpression
+
+
Returns whether the invoked method is a static interface method.
+
+
invokestatic(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokestatic(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokestatic(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokestatic(Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic(Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokeStatic(MethodExecutionInfo, ValueCalculator) - Method in class proguard.evaluation.value.object.model.ArrayModel
+
 
+
invokeStatic(MethodExecutionInfo, ValueCalculator) - Method in class proguard.evaluation.value.object.model.ClassModel
+
 
+
invokeStatic(MethodExecutionInfo, ValueCalculator) - Method in interface proguard.evaluation.value.object.model.Model
+
+
Execute a static method for the modeled class.
+
+
invokeStatic(MethodExecutionInfo, ValueCalculator) - Method in interface proguard.evaluation.value.object.model.reflective.ReflectiveModel
+
 
+
invokestatic_interface(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic_interface(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokestatic_interface(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic_interface(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokestatic_interface(Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic_interface(Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokevirtual(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokevirtual(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokevirtual(int, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokevirtual(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokevirtual(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokevirtual(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokevirtual(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokevirtual(Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokevirtual(Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ior() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ior() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
IOUtil - Class in proguard.io.util
+
+
This utility class provides methods to read the classes in jar, zips, aars into a ClassPool and write a ClassPool to a jar.
+
+
ipop() - Method in class proguard.evaluation.Stack
+
+
Pops the top IntegerValue from the stack.
+
+
IPUT - proguard.dexfile.reader.Op
+
 
+
IPUT_BOOLEAN - proguard.dexfile.reader.Op
+
 
+
IPUT_BYTE - proguard.dexfile.reader.Op
+
 
+
IPUT_CHAR - proguard.dexfile.reader.Op
+
 
+
IPUT_OBJECT - proguard.dexfile.reader.Op
+
 
+
IPUT_SHORT - proguard.dexfile.reader.Op
+
 
+
IPUT_WIDE - proguard.dexfile.reader.Op
+
 
+
ir(IrMethod) - Method in class proguard.dexfile.converter.IR2ProConverter
+
 
+
Ir2JRegAssignTransformer - Class in proguard.dexfile.ir.ts
+
+
+ Share same reg between locals with same type.
+
+
Ir2JRegAssignTransformer() - Constructor for class proguard.dexfile.ir.ts.Ir2JRegAssignTransformer
+
 
+
Ir2JRegAssignTransformer.Reg - Class in proguard.dexfile.ir.ts
+
 
+
IR2ProConverter - Class in proguard.dexfile.converter
+
+
This utility class converts code in Dex2jar's intermediate representation to ProGuard code.
+
+
IR2ProConverter() - Constructor for class proguard.dexfile.converter.IR2ProConverter
+
 
+
irem() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
irem() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ireturn() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ireturn() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
IrMethod - Class in proguard.dexfile.ir
+
 
+
IrMethod() - Constructor for class proguard.dexfile.ir.IrMethod
+
 
+
irTransformMemoryLimit - Static variable in class proguard.dexfile.ir.Util
+
 
+
IS_CLASS_AVAILABLE - Static variable in class proguard.util.ProcessingFlags
+
 
+
IS_PREFIX - Static variable in class proguard.classfile.util.kotlin.KotlinNameUtil
+
 
+
IS_VALID_FOR_SOURCE_DEFAULT - Static variable in class proguard.analysis.cpa.domain.taint.TaintSink
+
 
+
isAab() - Method in class proguard.io.ClassPathEntry
+
+
Returns whether this data entry is an aab file.
+
+
isAar() - Method in class proguard.io.ClassPathEntry
+
+
Returns whether this data entry is an aar file.
+
+
isAbstract - Variable in class proguard.classfile.kotlin.flags.KotlinModalityFlags
+
+
Signifies the declaration is 'abstract'
+
+
isAfterBranch(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the instruction at the given offset comes right after a definite branch + instruction in the CodeAttribute that was visited most recently.
+
+
isAliveAfter(int, int) - Method in class proguard.evaluation.LivenessAnalyzer
+
+
Returns whether the specified variable is alive after the instruction at the given offset.
+
+
isAliveBefore(int, int) - Method in class proguard.evaluation.LivenessAnalyzer
+
+
Returns whether the specified variable is alive before the instruction at the given offset.
+
+
isAndroid(ClassPath) - Static method in class proguard.io.util.ClassPathUtil
+
+
Returns whether the class path contains android target formats.
+
+
isAnnotationClass - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
A class kind flag, signifying that the corresponding class is an `annotation class`.
+
+
isAnyParameterUpdated() - Method in class proguard.evaluation.MethodResult
+
+
Whether any parameter was updated during method execution.
+
+
isApk() - Method in class proguard.io.ClassPathEntry
+
+
Returns whether this data entry is an apk file.
+
+
isApplicable(int) - Method in class proguard.classfile.attribute.ExceptionInfo
+
+
Returns whether the exception's try block contains the instruction at the given offset.
+
+
isApplicable(int, int) - Method in class proguard.classfile.attribute.ExceptionInfo
+
+
Returns whether the exception's try block overlaps with the specified block of instructions.
+
+
isArchive(ClassPathEntry) - Static method in class proguard.io.D8ClassConverter.D8DexFile
+
 
+
isBranchOrExceptionTarget(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether the instruction at the given offset is the target of a branch instruction or an + exception.
+
+
isBranchOrigin(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the instruction at the given offset is the origin of a branch instruction in + the CodeAttribute that was visited most recently.
+
+
isBranchOrigin(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether the instruction at the given offset is the origin of a branch instruction.
+
+
isBranchTarget(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the instruction at the given offset is the target of a branch instruction in + the CodeAttribute that was visited most recently.
+
+
isBranchTarget(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether the instruction at the given offset is the target of a branch instruction.
+
+
isCast(int) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns whether the specified instruction offset corresponds to a cast.
+
+
isCategory2() - Method in class proguard.classfile.constant.ClassConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.Constant
+
+
Returns whether the constant is of category 2.
+
+
isCategory2() - Method in class proguard.classfile.constant.DoubleConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.DynamicConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.FieldrefConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.FloatConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.IntegerConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.InterfaceMethodrefConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.InvokeDynamicConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.LongConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.MethodHandleConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.MethodrefConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.MethodTypeConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.ModuleConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.NameAndTypeConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.PackageConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.PrimitiveArrayConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.StringConstant
+
 
+
isCategory2() - Method in class proguard.classfile.constant.Utf8Constant
+
 
+
isCategory2() - Method in class proguard.classfile.instruction.Instruction
+
+
Returns whether the instruction is a Category 2 instruction.
+
+
isCategory2() - Method in class proguard.evaluation.value.Category1Value
+
 
+
isCategory2() - Method in class proguard.evaluation.value.Category2Value
+
 
+
isCategory2() - Method in class proguard.evaluation.value.TracingValue
+
 
+
isCategory2() - Method in class proguard.evaluation.value.UnknownValue
+
 
+
isCategory2() - Method in class proguard.evaluation.value.Value
+
+
Returns whether the computational type of this Value is a category 2 type.
+
+
isCategory2(int, int) - Method in class proguard.evaluation.LivenessAnalyzer
+
+
Returns whether the specified variable takes up two entries after the instruction at the given + offset.
+
+
isCaught() - Method in class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeExceptionCfaEdge
+
+
Returns the assumption on the exception being caught made for the edge.
+
+
isCertainlyCalled() - Method in class proguard.analysis.datastructure.callgraph.Call
+
+
Returns true if this call is always executed, no matter which branch in the methods are taken + and which type the called object has during runtime.
+
+
isClassInitializer(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given method name refers to a class initializer.
+
+
isCompanionObject - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
A class kind flag, signifying that the corresponding class is a `companion object`.
+
+
isCompiledInCompatibilityMode - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
Applied to an interface compiled with -Xjvm-default=all or all-compatibility.
+
+
isConst - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
+
Signifies that the corresponding property is `const`.
+
+
isConstructor() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Return whether the method is a constructor.
+
+
isCreation(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the instruction at the given offset creates a new, uninitialized object + instance, in the CodeAttribute that was visited most recently.
+
+
isCreation(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether the instruction at the given offset creates a new, uninitialized instance.
+
+
isCrossInline - Variable in class proguard.classfile.kotlin.flags.KotlinValueParameterFlags
+
+
Signifies that the corresponding value parameter is `crossinline`.
+
+
isDalvik(ClassPath) - Static method in class proguard.io.util.ClassPathUtil
+
+
Returns whether the class path contains dalvik target formats.
+
+
isData - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
Signifies that the corresponding class is `data`.
+
+
isDeclaration - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
+
A member kind flag, signifying that the corresponding function is explicitly declared in the + containing class.
+
+
isDeclared - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
+
A member kind flag, signifying that the corresponding property is explicitly declared in the + containing class.
+
+
isDefault - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyAccessorFlags
+
+
Signifies that the corresponding property is not default, i.e.
+
+
isDefaultImpls(KotlinSyntheticClassKindMetadata) - Static method in class proguard.classfile.kotlin.visitor.filter.KotlinSyntheticClassKindFilter
+
 
+
isDefinitelyNonNull - Variable in class proguard.classfile.kotlin.flags.KotlinTypeFlags
+
+
Signifies that the corresponding type is [definitely + non-null](https://kotlinlang.org/docs/whatsnew17.html#stable-definitely-non-nullable-types).
+
+
isDelegated - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
+
Signifies that the corresponding property is a delegated property.
+
+
isDelegation - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
+
A member kind flag, signifying that the corresponding function exists in the containing class + because it has been produced by interface delegation (delegation "by").
+
+
isDelegation - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
+
A member kind flag, signifying that the corresponding property exists in the containing class + because it has been produced by interface delegation (delegation "by").
+
+
isDeleted(int) - Method in class proguard.classfile.editor.VariableEditor
+
+
Returns whether the given variable at the given offset will be deleted.
+
+
isDex() - Method in class proguard.io.ClassPathEntry
+
+
Returns whether this data entry is a dex file.
+
+
isDirectory() - Method in class proguard.io.ClassPathDataEntry
+
 
+
isDirectory() - Method in interface proguard.io.DataEntry
+
+
Returns whether the data entry represents a directory.
+
+
isDirectory() - Method in class proguard.io.DummyDataEntry
+
 
+
isDirectory() - Method in class proguard.io.FileDataEntry
+
 
+
isDirectory() - Method in class proguard.io.NamedDataEntry
+
 
+
isDirectory() - Method in class proguard.io.StreamingDataEntry
+
 
+
isDirectory() - Method in class proguard.io.WrappedDataEntry
+
 
+
isDirectory() - Method in class proguard.io.ZipDataEntry
+
 
+
isDirectory() - Method in class proguard.io.ZipFileDataEntry
+
 
+
isEar() - Method in class proguard.io.ClassPathEntry
+
+
Returns whether this data entry is a ear file.
+
+
isEmpty() - Method in class proguard.analysis.cpa.defaults.AbstractWaitlist
+
 
+
isEmpty() - Method in class proguard.analysis.cpa.defaults.Cfa
+
+
Returns true if there are no nodes in the CFA, false otherwise.
+
+
isEmpty() - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
isEmpty() - Method in interface proguard.analysis.cpa.interfaces.Waitlist
+
+
Checks whether the waitlist is empty.
+
+
isEmpty() - Method in class proguard.io.ClassPath
+
 
+
isEntryNode() - Method in interface proguard.analysis.cpa.interfaces.CfaNode
+
+
Checks whether the node is a function entry.
+
+
isEntryNode() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
 
+
isEnumClass - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
A class kind flag, signifying that the corresponding class is an `enum class`.
+
+
isEnumEntry - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
A class kind flag, signifying that the corresponding class is an enum entry.
+
+
isExceptionEnd(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the instruction at the given offset is the end of an exception try block in the + CodeAttribute that was visited most recently.
+
+
isExceptionExitNode() - Method in interface proguard.analysis.cpa.interfaces.CfaNode
+
+
Returns true if the node is the return location of the function (offset == CfaNode.EXCEPTION_EXIT_NODE_OFFSET).
+
+
isExceptionHandler(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the instruction at the given offset is the start of an exception handler in the + CodeAttribute that was visited most recently.
+
+
isExceptionHandler(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether the instruction at the given offset is the start of an exception handler.
+
+
isExceptionHandler(int) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns whether the specified instruction offset corresponds to an exception handler.
+
+
isExceptionStart(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the instruction at the given offset is the start of an exception try block in + the CodeAttribute that was visited most recently.
+
+
isExitNode() - Method in interface proguard.analysis.cpa.interfaces.CfaNode
+
+
Checks whether the node is a function exit.
+
+
isExitNode() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
 
+
isExpect - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
Signifies that the corresponding class is `expect`.
+
+
isExpect - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
+
Signifies that the corresponding function is `expect`.
+
+
isExpect - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
+
Signifies that the corresponding property is `expect`.
+
+
isExtendable(Clazz) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns `true` if a Clazz is null or if it does not represent a final class.
+
+
isExternal - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
Signifies that the corresponding class is `external`.
+
+
isExternal - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
+
Signifies that the corresponding function is `external`.
+
+
isExternal - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyAccessorFlags
+
+
Signifies that the corresponding property is `external`.
+
+
isExternal - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
+
Signifies that the corresponding property is `external`.
+
+
isExternalMethodNameAndArguments(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given member String represents an external method name with arguments.
+
+
isFakeOverride - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
+
A member kind flag, signifying that the corresponding function exists in the containing class + because a function with a suitable signature exists in a supertype.
+
+
isFakeOverride - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
+
A member kind flag, signifying that the corresponding property exists in the containing class + because a property with a suitable signature exists in a supertype.
+
+
isFieldValue(int) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns whether the specified instruction offset corresponds to a field value.
+
+
isFiltered() - Method in class proguard.io.ClassPathEntry
+
+
Returns whether this data entry has any kind of filter.
+
+
isFinal - Variable in class proguard.classfile.kotlin.flags.KotlinModalityFlags
+
+
Signifies the declaration is 'final'
+
+
isFinallyNode() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCatchCfaNode
+
+
Returns true if the catch node represents the beginning of a finally block.
+
+
isFun - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
Signifies that the corresponding class is a functional interface, i.e.
+
+
isGetterName(String) - Static method in class proguard.classfile.util.kotlin.KotlinNameUtil
+
 
+
ishl() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ishl() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ishr() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ishr() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
isIncomplete() - Method in class proguard.classfile.ClassSignature
+
 
+
isIncomplete() - Method in class proguard.classfile.FieldSignature
+
 
+
isIncomplete() - Method in class proguard.classfile.MethodDescriptor
+
+
Check if this descriptor is missing information.
+
+
isIncomplete() - Method in class proguard.classfile.MethodSignature
+
 
+
isIncomplete() - Method in class proguard.classfile.Signature
+
+
Check if this signature is missing information.
+
+
isInFeature(String) - Method in interface proguard.util.FeatureNamed
+
+
Returns whether the entity is part of the given feature.
+
+
isInFeature(String) - Method in class proguard.util.SimpleFeatureNamedProcessable
+
 
+
isInfix - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
+
Signifies that the corresponding function is `infix`.
+
+
isInitializedBefore(int, int) - Method in class proguard.evaluation.InitializationFinder
+
+
Returns whether the specified stack entry is initialized.
+
+
isInitializedBefore(int, InstructionOffsetValue) - Method in class proguard.evaluation.InitializationFinder
+
+
Returns whether the given creation offset is initialized before the given offset.
+
+
isInitializer() - Method in class proguard.evaluation.InitializationFinder
+
+
Returns whether the method is an instance initializer, in the CodeAttribute that was visited + most recently.
+
+
isInitializer(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the instruction at the given offset is the special invocation of an instance + initializer, in the CodeAttribute that was visited most recently.
+
+
isInitializer(int) - Method in class proguard.evaluation.InitializationFinder
+
+
Returns whether the instruction at the given offset is the special invocation of an instance + initializer.
+
+
isInitializer(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether the instruction at the given offset is the special invocation of an instance + initializer.
+
+
isInitializer(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given method name refers to a class initializer or an instance initializer.
+
+
isInline - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
+
Signifies that the corresponding function is `inline`.
+
+
isInline - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyAccessorFlags
+
+
Signifies that the corresponding property is `inline`.
+
+
isInner - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
Signifies that the corresponding class is `inner`.
+
+
isInnerClassName() - Method in class proguard.classfile.util.DescriptorClassEnumeration
+
+
Returns whether the most recently returned class name was a recomposed inner class name from a + signature.
+
+
isInstanceInitializer(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given method name refers to an instance initializer.
+
+
isInstanceMethod() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
 
+
isInstanceOf(String, Clazz) - Static method in class proguard.classfile.util.InitializedClassUtil
+
+
Returns true if the given type is instance of the given clazz (i.e.
+
+
isInstanceOf(Clazz) - Method in interface proguard.evaluation.value.object.AnalyzedObject
+
+
Whether "instanceof" for the given clazz would return true for the wrapped value (i.e., the + tracked value is an instance of clazz or extends/implements it).
+
+
isInstanceOf(StateT, String) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns an abstract state representing the result of the instanceof operation.
+
+
isInstanceUpdated() - Method in class proguard.evaluation.MethodResult
+
+
Whether the calling instance was updated during method execution.
+
+
isInstruction(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether there is an instruction at the given offset in the CodeAttribute that was + visited most recently.
+
+
isInstruction(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether there is an instruction at the given offset.
+
+
isInterface - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
A class kind flag, signifying that the corresponding class is an `interface`.
+
+
isInternal - Variable in class proguard.classfile.kotlin.flags.KotlinVisibilityFlags
+
+
For top-level declarations : signifies visibility everywhere in the same module For + class/interface members: signifies visibility everywhere in the same module to users who can + has access to the declaring class
+
+
isInternalArrayInterfaceName(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given internal class name is one of the interfaces that is implemented by + all array types.
+
+
isInternalArrayType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given internal type is an array type.
+
+
isInternalCategory2Type(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given internal type is a primitive Category 2 type.
+
+
isInternalClassType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given internal type is a plain class type (including an array type of a + plain class type).
+
+
isInternalMethodDescriptor(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given internal descriptor String represents a method descriptor.
+
+
isInternalPrimitiveBoxingType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given class is a class boxing a primitive type (not void).
+
+
isInternalPrimitiveType(char) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given internal type is a plain primitive type (not void).
+
+
isInternalPrimitiveType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given internal type is a plain primitive type (not void).
+
+
isInternalPrimitiveTypeOrString(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given internal type is a plain primitive type (not void) or a + java/lang/String.
+
+
isInternalType(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given type is an internal type, i.e.
+
+
isInvoke(byte) - Static method in class proguard.analysis.cpa.jvm.util.InstructionClassifier
+
 
+
isJar() - Method in class proguard.io.ClassPathEntry
+
+
Returns whether this data entry is a jar file.
+
+
isJmod() - Method in class proguard.io.ClassPathEntry
+
+
Returns whether this data entry is a jmod file.
+
+
isLambda(KotlinSyntheticClassKindMetadata) - Static method in class proguard.classfile.kotlin.visitor.filter.KotlinSyntheticClassKindFilter
+
 
+
isLateinit - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
+
Signifies that the corresponding property is `lateinit`.
+
+
isLess(AbstractStateT) - Method in interface proguard.analysis.cpa.defaults.LatticeAbstractState
+
+
Strictly compares itself to the abstractState.
+
+
isLessOrEqual(AbstractStateT) - Method in interface proguard.analysis.cpa.defaults.LatticeAbstractState
+
+
Compares itself to the abstractState.
+
+
isLessOrEqual(ListAbstractState<AbstractSpaceT>) - Method in class proguard.analysis.cpa.defaults.ListAbstractState
+
 
+
isLessOrEqual(MapAbstractState<KeyT, AbstractSpaceT>) - Method in interface proguard.analysis.cpa.defaults.MapAbstractState
+
 
+
isLessOrEqual(SetAbstractState<T>) - Method in class proguard.analysis.cpa.defaults.SetAbstractState
+
 
+
isLessOrEqual(StackAbstractState<AbstractSpaceT>) - Method in class proguard.analysis.cpa.defaults.StackAbstractState
+
 
+
isLessOrEqual(AbstractState, AbstractState) - Method in class proguard.analysis.cpa.defaults.DelegateAbstractDomain
+
 
+
isLessOrEqual(AbstractState, AbstractState) - Method in interface proguard.analysis.cpa.interfaces.AbstractDomain
+
+
Compares two abstract states.
+
+
isLessOrEqual(JvmMemoryLocationAbstractState<AbstractStateT>) - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
 
+
isLessOrEqual(ValueAbstractState) - Method in class proguard.analysis.cpa.jvm.domain.value.ValueAbstractState
+
 
+
isLessOrEqual(JvmHeapAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.heap.JvmForgetfulHeapAbstractState
+
 
+
isLessOrEqual(JvmHeapAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
isLessOrEqual(JvmAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
isLessOrEqual(JvmFrameAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
 
+
isLoad - Variable in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
isLoad() - Method in class proguard.classfile.instruction.VariableInstruction
+
+
Returns whether this instruction loads the value of a variable.
+
+
isLocal - Variable in class proguard.classfile.kotlin.flags.KotlinVisibilityFlags
+
+
Signifies that the declaration is declared inside a code block, not visible from outside
+
+
isLongShift(byte) - Static method in class proguard.analysis.cpa.jvm.util.InstructionClassifier
+
 
+
isMatching() - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
+
Returns whether the complete pattern sequence has been matched.
+
+
isMemoryLimitReached(long) - Static method in class proguard.dexfile.ir.Util
+
 
+
isMethodParameter(int) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns whether the specified instruction offset corresponds to a method parameter.
+
+
isMethodReference() - Method in class proguard.backport.LambdaExpression
+
+
Returns whether the lambda expression is actually a method reference.
+
+
isMethodReturnValue(int) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns whether the specified instruction offset corresponds to a method return value.
+
+
isMethodSignature() - Method in class proguard.classfile.util.InternalTypeEnumeration
+
+
Returns whether the descriptor is a method signature.
+
+
isModeled() - Method in interface proguard.evaluation.value.object.AnalyzedObject
+
+
Whether the wrapped value is modeled.
+
+
isModified() - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Returns whether the code has been modified in any way.
+
+
isModified(int) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Returns whether the instruction at the given offset has been modified in any way.
+
+
isMovedFromInterfaceCompanion - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
+
Signifies that its backing field is declared as a static field in an interface, usually happens + when @JvmField annotation is used e.g.
+
+
isMutable() - Method in class proguard.evaluation.executor.ReflectionExecutor.InstanceCopyResult
+
 
+
isNegated - Variable in class proguard.classfile.kotlin.flags.KotlinEffectExpressionFlags
+
+
Signifies that the corresponding effect expression should be negated to compute the proposition + or the conclusion of an effect.
+
+
isNewinstance(int) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns whether the specified instruction offset corresponds to a new instance.
+
+
isNoInline - Variable in class proguard.classfile.kotlin.flags.KotlinValueParameterFlags
+
+
Signifies that the corresponding value parameter is `noinline`.
+
+
isNotNull() - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is not null.
+
+
isNull() - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
isNull() - Method in interface proguard.evaluation.value.object.AnalyzedObject
+
+
Whether the wrapped value is null.
+
+
isNull() - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
isNull() - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is null.
+
+
isNull() - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
isNull() - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
isNull() - Method in class proguard.evaluation.value.UnknownReferenceValue
+
 
+
isNullable - Variable in class proguard.classfile.kotlin.flags.KotlinTypeFlags
+
+
Signifies that the corresponding type is marked as nullable, i.e.
+
+
isNullCheckPredicate - Variable in class proguard.classfile.kotlin.flags.KotlinEffectExpressionFlags
+
+
Signifies that the corresponding effect expression checks whether a value of some variable is + `null`.
+
+
isObject - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
A class kind flag, signifying that the corresponding class is a non-companion `object`.
+
+
isOfType(String) - Method in interface proguard.evaluation.value.object.AnalyzedObject
+
+
Whether the wrapped value is exactly of a type.
+
+
isOfTypeAndNotNull(String) - Method in interface proguard.evaluation.value.object.AnalyzedObject
+
+
Whether the wrapped value is exactly of a type and hasn't a null value.
+
+
isOpen - Variable in class proguard.classfile.kotlin.flags.KotlinModalityFlags
+
+
Signifies the declaration is 'open'
+
+
isOperator - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
+
Signifies that the corresponding function is `operator`.
+
+
isOutput() - Method in class proguard.io.ClassPathEntry
+
+
Returns whether this data entry is an output entry.
+
+
isOverriden(Clazz, Method) - Method in class proguard.classfile.util.MemberFinder
+
+
Returns whether the given method is overridden anywhere down the class hierarchy.
+
+
isParameterless() - Method in class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
isParticular() - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
isParticular() - Method in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
isParticular() - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
isParticular() - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
isParticular() - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
isParticular() - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
isParticular() - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
isParticular() - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
isParticular() - Method in class proguard.evaluation.value.TopValue
+
 
+
isParticular() - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
isParticular() - Method in class proguard.evaluation.value.TracingValue
+
 
+
isParticular() - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
isParticular() - Method in class proguard.evaluation.value.UnknownReferenceValue
+
 
+
isParticular() - Method in class proguard.evaluation.value.Value
+
+
Returns whether this Value represents a single particular (known) value.
+
+
isPrecise() - Method in interface proguard.evaluation.value.object.AnalyzedObject
+
+
Whether the wrapped value is precise.
+
+
isPrivate - Variable in class proguard.classfile.kotlin.flags.KotlinVisibilityFlags
+
+
For top-level declarations: visible only inside the file containing the declaration For + class/interface members: visible only within the class
+
+
isPrivateToThis - Variable in class proguard.classfile.kotlin.flags.KotlinVisibilityFlags
+
+
For class/interface members: visible only on the same instance of the declaring class
+
+
isProtected - Variable in class proguard.classfile.kotlin.flags.KotlinVisibilityFlags
+
+
For class/interface members: private + visible in subclasses
+
+
isPublic - Variable in class proguard.classfile.kotlin.flags.KotlinVisibilityFlags
+
+
For top-level declarations: visible everywhere For class/interface members: visible to + everywhere to users who can access the declaring class
+
+
isRaw - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
isReachable(int) - Method in class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
+
Returns whether the instruction at the given offset is reachable in the most recently visited + code attribute.
+
+
isReachable(int) - Method in class proguard.classfile.attribute.visitor.StackSizeComputer
+
+
Returns whether the instruction at the given offset is reachable in the most recently visited + code attribute.
+
+
isReified - Variable in class proguard.classfile.kotlin.flags.KotlinTypeParameterFlags
+
+
Signifies that the corresponding type parameter is `reified`.
+
+
isResultValid() - Method in class proguard.evaluation.MethodResult
+
+
Returns whether the result is invalid (i.e., whether it was created via MethodResult.invalidResult()).
+
+
isReturn(byte) - Static method in class proguard.analysis.cpa.jvm.util.InstructionClassifier
+
 
+
isReturnExitNode() - Method in interface proguard.analysis.cpa.interfaces.CfaNode
+
+
Returns true if the node is the return location of the function (offset == CfaNode.RETURN_EXIT_NODE_OFFSET).
+
+
isReturnExitNode() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmUnknownCfaNode
+
 
+
isReturnValuePresent() - Method in class proguard.evaluation.MethodResult
+
+
Whether the result provides a return value.
+
+
isSame(int, int) - Static method in class proguard.classfile.visitor.CounterConditionalClassVisitor
+
 
+
isSatisfied() - Method in class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeCfaEdge
+
+
Returns the assumption on the branch statement result made on this edge.
+
+
isSealed - Variable in class proguard.classfile.kotlin.flags.KotlinModalityFlags
+
+
Signifies the declaration is 'sealed'
+
+
isSecondary - Variable in class proguard.classfile.kotlin.flags.KotlinConstructorFlags
+
+
Signifies that the corresponding constructor is secondary, i.e.
+
+
isSerializable() - Method in class proguard.backport.LambdaExpression
+
+
Returns whether the lambda expression is serializable.
+
+
isSetterName(String) - Static method in class proguard.classfile.util.kotlin.KotlinNameUtil
+
 
+
isShadowed(Clazz, Field) - Method in class proguard.classfile.util.MemberFinder
+
+
Returns whether the given field is shadowed anywhere down the class hierarchy.
+
+
isSpecific() - Method in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
isSpecific() - Method in class proguard.evaluation.value.IdentifiedReferenceValue
+
 
+
isSpecific() - Method in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
isSpecific() - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
isSpecific() - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
isSpecific() - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
isSpecific() - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
isSpecific() - Method in class proguard.evaluation.value.TopValue
+
 
+
isSpecific() - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
isSpecific() - Method in class proguard.evaluation.value.TracingValue
+
 
+
isSpecific() - Method in class proguard.evaluation.value.Value
+
+
Returns whether this Value represents a single specific (but possibly unknown) value.
+
+
isStarProjection() - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
isStateless() - Method in class proguard.backport.LambdaExpression
+
+
Returns whether the lambda expression is stateless.
+
+
isStatic - Variable in class proguard.analysis.cpa.jvm.util.ConstantLookupVisitor
+
 
+
isStatic - Variable in class proguard.dexfile.ir.IrMethod
+
 
+
isStatic - Variable in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
isStatic() - Method in class proguard.analysis.datastructure.callgraph.Call
+
+
Check if this call is static (no implicit Call.instance set) or not.
+
+
isStatic() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Return whether the method is static.
+
+
isStaticCall(byte) - Static method in class proguard.classfile.instruction.InstructionUtil
+
+
Check if an instruction opcode refers to a static call (i.e.
+
+
isStore() - Method in class proguard.classfile.instruction.VariableInstruction
+
+
Returns whether this instruction stores the value of a variable.
+
+
isSubroutine(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the instruction at the given offset is part of a subroutine in the + CodeAttribute that was visited most recently.
+
+
isSubroutine(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether the instruction at the given offset is part of a subroutine.
+
+
isSubroutineInvocation(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the instruction at the given offset is a subroutine invocation in the + CodeAttribute that was visited most recently.
+
+
isSubroutineInvocation(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether the instruction at the given offset is a subroutine invocation.
+
+
isSubroutineReturning(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the subroutine at the given offset is ever returning by means of a regular + 'ret' instruction.
+
+
isSubroutineReturning(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether the subroutine at the given offset is ever returning by means of a regular + 'ret' instruction.
+
+
isSubroutineStart(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the instruction at the given offset is the start of a subroutine in the + CodeAttribute that was visited most recently.
+
+
isSubroutineStart(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether the instruction at the given offset is the start of a subroutine.
+
+
isSupportedMetadataVersion(KotlinMetadataVersion) - Static method in class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
isSupportsFullInheritance() - Method in class proguard.evaluation.executor.ReflectiveModelExecutor.SupportedModelInfo
+
 
+
isSuspend - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
+
Signifies that the corresponding function is `suspend`.
+
+
isSuspend - Variable in class proguard.classfile.kotlin.flags.KotlinTypeFlags
+
+
Signifies that the corresponding type is `suspend`.
+
+
isSynthesized - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
+
A member kind flag, signifying that the corresponding function exists in the containing class + because it has been synthesized by the compiler and has no declaration in the source code.
+
+
isSynthesized - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
+
A member kind flag, signifying that the corresponding property exists in the containing class + because it has been synthesized by the compiler and has no declaration in the source code.
+
+
isTailrec - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
+
Signifies that the corresponding function is `tailrec`.
+
+
isTarget(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns whether the instruction at the given offset is the target of any kind in the + CodeAttribute that was visited most recently.
+
+
isTarget(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether the instruction at the given offset is the target of any kind.
+
+
isThrow(Stmt) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
isTopInitializedBefore(int, int) - Method in class proguard.evaluation.InitializationFinder
+
+
Returns whether the specified stack entry is initialized.
+
+
istore(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
istore(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
istore_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
istore_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
istore_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
istore_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
istore_2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
istore_2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
istore_3() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
istore_3() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
isTraced(int) - Method in class proguard.evaluation.LivenessAnalyzer
+
+
Returns whether the instruction at the given offset has ever been executed during the partial + evaluation.
+
+
isTraced(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether the instruction at the given offset has ever been executed during the partial + evaluation.
+
+
isTraced(int, int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether a block of instructions is ever used.
+
+
isTruncated - Variable in class proguard.analysis.datastructure.callgraph.Node
+
 
+
isTypedReturn(byte) - Static method in class proguard.analysis.cpa.jvm.util.InstructionClassifier
+
+
Checks if the opcode is nonvoid return.
+
+
isub() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
isub() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
isUnknownNode() - Method in interface proguard.analysis.cpa.interfaces.CfaNode
+
+
Returns true if the location of the node is unknown.
+
+
isUnknownNode() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmUnknownCfaNode
+
 
+
isUsualClass - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
A class kind flag, signifying that the corresponding class is a usual `class`.
+
+
isValidForSource - Variable in class proguard.analysis.cpa.domain.taint.TaintSink
+
 
+
isValidForSource - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
 
+
isValidKotlinMetadataAnnotationField(String) - Static method in class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
isValue - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
+
Signifies that the corresponding class is `value`.
+
+
isVar - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
+
Signifies that the corresponding property is `var`.
+
+
isVarArg() - Method in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
isWar() - Method in class proguard.io.ClassPathEntry
+
+
Returns whether this data entry is a war file.
+
+
isWhenMappings(KotlinSyntheticClassKindMetadata) - Static method in class proguard.classfile.kotlin.visitor.filter.KotlinSyntheticClassKindFilter
+
 
+
isWide() - Method in class proguard.classfile.instruction.Instruction
+
+
Returns whether the instruction is wide, i.e.
+
+
isWide() - Method in class proguard.classfile.instruction.VariableInstruction
+
 
+
isZip() - Method in class proguard.io.ClassPathEntry
+
+
Returns whether this data entry is a zip file.
+
+
Item(String, Object) - Constructor for class proguard.dexfile.reader.node.DexAnnotationNode.Item
+
 
+
items - Variable in class proguard.dexfile.reader.node.DexAnnotationNode
+
 
+
iterator() - Method in class proguard.analysis.cpa.defaults.AbstractWaitlist
+
 
+
iterator() - Method in class proguard.classfile.util.InternalTypeIterable
+
 
+
iterator() - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
iushr() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iushr() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ixor() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ixor() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
+ + + +

J

+
+
J - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
J - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
JarReader - Class in proguard.io
+
+
This DataEntryReader lets a given DataEntryReader read all data entries of the + read archive data entries.
+
+
JarReader(boolean, DataEntryReader) - Constructor for class proguard.io.JarReader
+
+
Creates a new JarReader that optionally reads jmod files.
+
+
JarReader(DataEntryReader) - Constructor for class proguard.io.JarReader
+
+
Creates a new JarReader.
+
+
JarUtil - Class in proguard.examples
+
+
This utility class provides methods to read and write the classes in jars.
+
+
JarUtil() - Constructor for class proguard.examples.JarUtil
+
 
+
JarWriter - Class in proguard.io
+
+
This DataEntryWriter sends data entries to another given data entry writer, automatically + adding a manifest file.
+
+
JarWriter(String[], String, String, StringFunction, DataEntryWriter, DataEntryWriter) - Constructor for class proguard.io.JarWriter
+
+
Creates a new JarWriter.
+
+
JarWriter(String[], String, DataEntryWriter) - Constructor for class proguard.io.JarWriter
+
+
Creates a new JarWriter wth default manifest file name "META-INF/MANIFEST.MF".
+
+
JarWriter(String[], DataEntryWriter) - Constructor for class proguard.io.JarWriter
+
+
Creates a new JarWriter wth default manifest file name "META-INF/MANIFEST.MF".
+
+
JarWriter(DataEntryWriter) - Constructor for class proguard.io.JarWriter
+
+
Creates a new JarWriter wth default manifest digest "SHA-256" and manifest file name + "META-INF/MANIFEST.MF".
+
+
JarWriter.MyMultiDigestOutputStream - Class in proguard.io
+
+
This FilterOutputStream automatically appends a file digest entry to a given manifest writer, + when the stream is closed.
+
+
JAVA_FILE_EXTENSION - Static variable in class proguard.classfile.JavaConstants
+
 
+
JAVA_IDENTIFIER - proguard.io.DataEntryTokenType
+
 
+
JavaAccessConstants - Class in proguard.classfile
+
+
Access modifiers for classes, fields, methods, parameters, and modules in Java source code.
+
+
JavaAccessConstants() - Constructor for class proguard.classfile.JavaAccessConstants
+
 
+
JavaConstants - Class in proguard.classfile
+
+
External names and descriptors of common classes, fields, and methods from the Java runtime.
+
+
JavaConstants() - Constructor for class proguard.classfile.JavaConstants
+
 
+
JavaFieldReferenceInfo - Class in proguard.classfile.kotlin.reflect
+
 
+
JavaFieldReferenceInfo(Clazz, Clazz, Member) - Constructor for class proguard.classfile.kotlin.reflect.JavaFieldReferenceInfo
+
 
+
javaLangClassClass - Variable in class proguard.classfile.constant.ClassConstant
+
+
An extra field pointing to the java.lang.Class Clazz object.
+
+
javaLangInvokeMethodHandleClass - Variable in class proguard.classfile.constant.MethodHandleConstant
+
+
An extra field pointing to the java.lang.invoke.MethodHandle Clazz object.
+
+
javaLangInvokeMethodTypeClass - Variable in class proguard.classfile.constant.MethodTypeConstant
+
+
An extra field pointing to the java.lang.invoke.MethodType Clazz object.
+
+
javaLangStringClass - Variable in class proguard.classfile.constant.StringConstant
+
+
An extra field pointing to the java.lang.String Clazz object.
+
+
JavaMethodReferenceInfo - Class in proguard.classfile.kotlin.reflect
+
 
+
JavaMethodReferenceInfo(Clazz, Clazz, Member) - Constructor for class proguard.classfile.kotlin.reflect.JavaMethodReferenceInfo
+
 
+
JavaReferenceInfo - Class in proguard.classfile.kotlin.reflect
+
 
+
JavaReferenceInfo(Clazz, Clazz, Member) - Constructor for class proguard.classfile.kotlin.reflect.JavaReferenceInfo
+
 
+
JavaReflectionApiExecutor - Class in proguard.evaluation.executor
+
+
This Executor provides an implementation for Executor.getMethodResult(proguard.evaluation.executor.MethodExecutionInfo, proguard.evaluation.ValueCalculator) which + resolves a number of simple Class and ClassLoader API methods.
+
+
JavaReflectionApiExecutor.Builder - Class in proguard.evaluation.executor
+
+ +
+
JavaTypeConstants - Class in proguard.classfile
+
+
Constant characters that are part of primitive and non-primitive type descriptors in Java source + code.
+
+
JavaTypeConstants() - Constructor for class proguard.classfile.JavaTypeConstants
+
 
+
JavaVersionConstants - Class in proguard.classfile
+
+
Known external version numbers of class files.
+
+
JavaVersionConstants() - Constructor for class proguard.classfile.JavaVersionConstants
+
 
+
JD - proguard.dexfile.ir.TypeClass
+
 
+
join(AbstractStateT) - Method in interface proguard.analysis.cpa.defaults.LatticeAbstractState
+
+
Computes a join over itself and the abstractState.
+
+
join(String, String...) - Static method in class proguard.util.StringUtil
+
+
Joins the given strings using the provided separator.
+
+
join(ListAbstractState<AbstractSpaceT>) - Method in class proguard.analysis.cpa.defaults.ListAbstractState
+
 
+
join(MapAbstractState<KeyT, AbstractSpaceT>) - Method in interface proguard.analysis.cpa.defaults.MapAbstractState
+
 
+
join(SetAbstractState<T>) - Method in class proguard.analysis.cpa.defaults.SetAbstractState
+
 
+
join(StackAbstractState<AbstractSpaceT>) - Method in class proguard.analysis.cpa.defaults.StackAbstractState
+
 
+
join(AbstractState, AbstractState) - Method in class proguard.analysis.cpa.defaults.DelegateAbstractDomain
+
 
+
join(AbstractState, AbstractState) - Method in interface proguard.analysis.cpa.interfaces.AbstractDomain
+
+
Computes the join over two abstract states.
+
+
join(JvmMemoryLocationAbstractState) - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
 
+
join(ValueAbstractState) - Method in class proguard.analysis.cpa.jvm.domain.value.ValueAbstractState
+
 
+
join(JvmHeapAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.heap.JvmForgetfulHeapAbstractState
+
 
+
join(JvmHeapAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
join(JvmAbstractState<SetAbstractState<Reference>>) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceAbstractState
+
 
+
join(JvmAbstractState<SetAbstractState<JvmTaintSource>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintAbstractState
+
 
+
join(JvmAbstractState<ValueAbstractState>) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
 
+
join(JvmAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
join(JvmFrameAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
 
+
JsonPrinter - Class in proguard.evaluation.util.jsonprinter
+
+
Tracks the state of the partial evaluator able to provide debug information in JSON format.
+
+
JsonPrinter() - Constructor for class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
JsonPrinter(Clazz) - Constructor for class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
JsonPrinter(Clazz, Method) - Constructor for class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
jsr(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
jsr(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
jsr_w(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
jsr_w(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
jumpOffsets - Variable in class proguard.classfile.instruction.SwitchInstruction
+
 
+
JumpStmt - Interface in proguard.dexfile.ir.stmt
+
 
+
JumpStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
JumpStmtNode(Op, int, int, DexLabel) - Constructor for class proguard.dexfile.reader.node.insn.JumpStmtNode
+
 
+
Jvm - Static variable in interface proguard.analysis.cpa.util.StateNames
+
 
+
JvmAbstractState<StateT extends LatticeAbstractState<StateT>> - Class in proguard.analysis.cpa.jvm.state
+
+
The JvmAbstractState consists of the method frame JvmFrameAbstractState and the + heap JvmHeapAbstractState.
+
+
JvmAbstractState(JvmCfaNode, JvmFrameAbstractState<StateT>, JvmHeapAbstractState<StateT>, MapAbstractState<String, StateT>) - Constructor for class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Create a JVM abstract state.
+
+
JvmAbstractStateFactory<StateT extends LatticeAbstractState<StateT>> - Interface in proguard.analysis.cpa.jvm.state
+
+
This interface contains a method creating a fresh instance of JvmAbstractState.
+
+
JvmAssumeCaseCfaEdge - Class in proguard.analysis.cpa.jvm.cfa.edges
+
+
An edge representing an assumption that a case of a switch statement is taken.
+
+
JvmAssumeCaseCfaEdge(JvmCfaNode, JvmCfaNode, CodeAttribute, int, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeCaseCfaEdge
+
+
Create a JVM CFA assume case edge.
+
+
JvmAssumeCaseCfaEdge(CodeAttribute, int, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeCaseCfaEdge
+
+
Create a disconnected JVM CFA assume case edge.
+
+
JvmAssumeCfaEdge - Class in proguard.analysis.cpa.jvm.cfa.edges
+
+
An edge representing an assumption on a JVM branch instruction that can be either taken or not + taken.
+
+
JvmAssumeCfaEdge(JvmCfaNode, JvmCfaNode, CodeAttribute, int, boolean) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeCfaEdge
+
+
Create a JVM CFA assume branch edge.
+
+
JvmAssumeCfaEdge(CodeAttribute, int, boolean) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeCfaEdge
+
+
Create a disconnected JVM CFA assume branch edge.
+
+
JvmAssumeDefaultCfaEdge - Class in proguard.analysis.cpa.jvm.cfa.edges
+
+
An edge representing an assumption that the default case of a switch statement is taken.
+
+
JvmAssumeDefaultCfaEdge(JvmCfaNode, JvmCfaNode, CodeAttribute, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeDefaultCfaEdge
+
+
Create a JVM CFA assume default edge.
+
+
JvmAssumeDefaultCfaEdge(CodeAttribute, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeDefaultCfaEdge
+
+
Create a disconnected JVM CFA assume default edge.
+
+
JvmAssumeExceptionCfaEdge - Class in proguard.analysis.cpa.jvm.cfa.edges
+
+
An edge representing an assumption on a JVM exception of a specific type that can be either + caught or not caught.
+
+
JvmAssumeExceptionCfaEdge(boolean, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeExceptionCfaEdge
+
+
Create a disconnected JVM CFA exception assumption edge.
+
+
JvmAssumeExceptionCfaEdge(JvmCfaNode, JvmCfaNode, boolean, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeExceptionCfaEdge
+
+
Create a JVM CFA exception assumption edge.
+
+
JvmBamCpaRun<CpaT extends ConfigurableProgramAnalysis,​AbstractStateT extends LatticeAbstractState<AbstractStateT>,​OuterAbstractStateT extends AbstractState> - Class in proguard.analysis.cpa.jvm.util
+
+
A JVM instance of BamCpaRun uses a reached set optimized for program location-dependent + analysis.
+
+
JvmBamCpaRun(JvmCfa, int) - Constructor for class proguard.analysis.cpa.jvm.util.JvmBamCpaRun
+
+
Create a JVM BAM CPA run.
+
+
JvmBamCpaRun(JvmCfa, int, HeapModel, AbortOperator, boolean) - Constructor for class proguard.analysis.cpa.jvm.util.JvmBamCpaRun
+
+
Create a JVM BAM CPA run.
+
+
JvmBamCpaRun.Builder - Class in proguard.analysis.cpa.jvm.util
+
+
A builder for JvmBamCpaRun.
+
+
JvmCallCfaEdge - Class in proguard.analysis.cpa.jvm.cfa.edges
+
+
A JvmCfaEdge representing a call to another method, linking to the first node of the + called method.
+
+
JvmCallCfaEdge(JvmCfaNode, JvmCfaNode, Call) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmCallCfaEdge
+
+
Create a JVM CFA call edge.
+
+
JvmCallCfaEdge(Call) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmCallCfaEdge
+
+
Create a disconnected JVM CFA call edge.
+
+
JvmCatchCfaNode - Class in proguard.analysis.cpa.jvm.cfa.nodes
+
+
A JvmCfaNode representing the beginning of a catch or finally block.
+
+
JvmCatchCfaNode(List<JvmCfaEdge>, List<JvmCfaEdge>, MethodSignature, int, int, Clazz) - Constructor for class proguard.analysis.cpa.jvm.cfa.nodes.JvmCatchCfaNode
+
+
Create JVM CFA catch node with the specified entering and exiting edges.
+
+
JvmCatchCfaNode(MethodSignature, int, int, Clazz) - Constructor for class proguard.analysis.cpa.jvm.cfa.nodes.JvmCatchCfaNode
+
+
Create a JVM CFA catch node without edges.
+
+
JvmCfa - Class in proguard.analysis.cpa.jvm.cfa
+
+
A JVM specific implementation of Cfa.
+
+
JvmCfa() - Constructor for class proguard.analysis.cpa.jvm.cfa.JvmCfa
+
 
+
JvmCfaEdge - Class in proguard.analysis.cpa.jvm.cfa.edges
+
+
Default implementation of CfaEdge for JVM instructions.
+
+
JvmCfaEdge() - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge
+
+
Create a disconnected JVM CFA edge.
+
+
JvmCfaEdge(JvmCfaNode, JvmCfaNode) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge
+
+
Create a JVM CFA edge.
+
+
JvmCfaNode - Class in proguard.analysis.cpa.jvm.cfa.nodes
+
+
A node representing a code location of a JVM method identified by a MethodSignature and + an offset.
+
+
JvmCfaNode(List<JvmCfaEdge>, List<JvmCfaEdge>, MethodSignature, int, Clazz) - Constructor for class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
+
Create JVM CFA node with the specified entering and exiting edges.
+
+
JvmCfaNode(MethodSignature, int, Clazz) - Constructor for class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
+
Create a JVM CFA node without edges.
+
+
JvmCfaReferenceValueFactory - Class in proguard.analysis.cpa.jvm.domain.value
+
+
This ParticularReferenceValueFactory creates IdentifiedReferenceValue and ParticularReferenceValues using the creation site as the unique identifier.
+
+
JvmCfaReferenceValueFactory(JvmCfa) - Constructor for class proguard.analysis.cpa.jvm.domain.value.JvmCfaReferenceValueFactory
+
 
+
JvmDefaultExpandOperator<StateT extends LatticeAbstractState<StateT>> - Class in proguard.analysis.cpa.jvm.operators
+
+
This ExpandOperator simulates the JVM behavior on a method exit.
+
+
JvmDefaultExpandOperator(JvmCfa) - Constructor for class proguard.analysis.cpa.jvm.operators.JvmDefaultExpandOperator
+
+
Create the default expand operator for the JVM.
+
+
JvmDefaultExpandOperator(JvmCfa, boolean) - Constructor for class proguard.analysis.cpa.jvm.operators.JvmDefaultExpandOperator
+
+
Create the default expand operator for the JVM.
+
+
JvmDefaultReduceOperator<StateT extends LatticeAbstractState<StateT>> - Class in proguard.analysis.cpa.jvm.operators
+
+
This ReduceOperator simulates the JVM behavior on a method call.
+
+
JvmDefaultReduceOperator() - Constructor for class proguard.analysis.cpa.jvm.operators.JvmDefaultReduceOperator
+
+
Create the default reduce operator for the JVM.
+
+
JvmDefaultReduceOperator(boolean) - Constructor for class proguard.analysis.cpa.jvm.operators.JvmDefaultReduceOperator
+
+
Create the default reduce operator for the JVM.
+
+
JvmForgetfulHeapAbstractState<StateT extends LatticeAbstractState<StateT>> - Class in proguard.analysis.cpa.jvm.state.heap
+
+
This is a forgetful stub heap implementation.
+
+
JvmForgetfulHeapAbstractState(StateT) - Constructor for class proguard.analysis.cpa.jvm.state.heap.JvmForgetfulHeapAbstractState
+
+
Create a forgetful heap abstract state returning the specified value for all queries.
+
+
JvmFrameAbstractState<StateT extends LatticeAbstractState<StateT>> - Class in proguard.analysis.cpa.jvm.state
+
+
The JvmFrameAbstractState combines the operand stack as the StackAbstractState + and the local variable array as the ListAbstractState.
+
+
JvmFrameAbstractState() - Constructor for class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
+
Create an empty frame.
+
+
JvmFrameAbstractState(ListAbstractState<StateT>, StackAbstractState<StateT>) - Constructor for class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
+
Create a frame from a local variable array and an operand stack.
+
+
JvmHeapAbstractState<StateT extends LatticeAbstractState<StateT>> - Interface in proguard.analysis.cpa.jvm.state.heap
+
+
The JvmHeapAbstractState provides the interfaces for heap operations over objects and + arrays.
+
+
JvmHeapLocation - Class in proguard.analysis.cpa.jvm.witness
+
+
The JvmHeapLocation is a memory location corresponding to a dynamic memory entity.
+
+
JvmHeapLocation(SetAbstractState<Reference>, String) - Constructor for class proguard.analysis.cpa.jvm.witness.JvmHeapLocation
+
+
Create a heap location.
+
+
JvmInstructionCfaEdge - Class in proguard.analysis.cpa.jvm.cfa.edges
+
+
A JvmCfaEdge the operation of which is defined by an instruction.
+
+
JvmInstructionCfaEdge(JvmCfaNode, JvmCfaNode, CodeAttribute, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmInstructionCfaEdge
+
+
Create a JVM CFA instruction edge.
+
+
JvmInstructionCfaEdge(CodeAttribute, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmInstructionCfaEdge
+
+
Create a disconnected JVM CFA instruction edge.
+
+
JvmIntraproceduralCfaFillerAllInstructionVisitor - Class in proguard.analysis.cpa.jvm.cfa.visitors
+
+
This AttributeVisitor visits the CodeAttribute of a Method and performs + two different tasks:
+
+
JvmIntraproceduralCfaFillerAllInstructionVisitor(JvmCfa) - Constructor for class proguard.analysis.cpa.jvm.cfa.visitors.JvmIntraproceduralCfaFillerAllInstructionVisitor
+
 
+
JvmInvokeTaintSink - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
A JvmTaintSink on a method invocation.
+
+
JvmInvokeTaintSink(Signature, boolean, Set<Integer>, Set<String>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink
+
+
Deprecated.
+
+
JvmInvokeTaintSink(Signature, Predicate<TaintSource>, boolean, Set<Integer>, Set<String>, Predicate<Call>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink
+
+
Create a taint sink.
+
+
JvmInvokeTaintSink(Signature, Predicate<Call>, boolean, Set<Integer>, Set<String>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink
+
+
Deprecated.
+
+
JvmInvokeTaintSink.Builder - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
Builder for JvmInvokeTaintSink.
+
+
JvmLocalVariableLocation - Class in proguard.analysis.cpa.jvm.witness
+
+
The JvmLocalVariableLocation is a memory location at the local variable array.
+
+
JvmLocalVariableLocation(int) - Constructor for class proguard.analysis.cpa.jvm.witness.JvmLocalVariableLocation
+
+
Create a local variable location.
+
+
JvmMemoryLocation - Class in proguard.analysis.cpa.jvm.witness
+
+
A JvmMemoryLocation points at a specific location in a certain state of the Jvm.
+
+
JvmMemoryLocation() - Constructor for class proguard.analysis.cpa.jvm.witness.JvmMemoryLocation
+
 
+
JvmMemoryLocationAbstractState<AbstractStateT extends AbstractState & ProgramLocationDependent<JvmCfaNode,​JvmCfaEdge,​MethodSignature>> - Class in proguard.analysis.cpa.jvm.domain.memory
+
+
This AbstractState consists of a BamLocationDependentJvmMemoryLocation with a set + of sources contributed into its value and the call stack that generated it.
+
+
JvmMemoryLocationAbstractState(BamLocationDependentJvmMemoryLocation<AbstractStateT>) - Constructor for class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
+
Create a JvmMemoryLocationAbstractState with empty source locations and call stack.
+
+
JvmMemoryLocationAbstractState(JvmMemoryLocation, JvmCfaNode, ProgramLocationDependentReachedSet<JvmCfaNode, JvmCfaEdge, AbstractStateT, MethodSignature>) - Constructor for class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
+
Create a JvmMemoryLocationAbstractState with empty source locations and call stack.
+
+
JvmMemoryLocationAbstractState(JvmMemoryLocation, JvmCfaNode, ProgramLocationDependentReachedSet<JvmCfaNode, JvmCfaEdge, AbstractStateT, MethodSignature>, LinkedList<JvmMemoryLocationAbstractState.StackEntry>) - Constructor for class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
+
Create a JvmMemoryLocationAbstractState with empty source locations.
+
+
JvmMemoryLocationAbstractState(JvmMemoryLocation, JvmCfaNode, ProgramLocationDependentReachedSet<JvmCfaNode, JvmCfaEdge, AbstractStateT, MethodSignature>, Set<BamLocationDependentJvmMemoryLocation<AbstractStateT>>) - Constructor for class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
+
Create a JvmMemoryLocationAbstractState with empty call stack.
+
+
JvmMemoryLocationAbstractState(JvmMemoryLocation, JvmCfaNode, ProgramLocationDependentReachedSet<JvmCfaNode, JvmCfaEdge, AbstractStateT, MethodSignature>, Set<BamLocationDependentJvmMemoryLocation<AbstractStateT>>, LinkedList<JvmMemoryLocationAbstractState.StackEntry>) - Constructor for class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
+
Create a JvmMemoryLocationAbstractState with source locations.
+
+
JvmMemoryLocationAbstractState.StackEntry - Class in proguard.analysis.cpa.jvm.domain.memory
+
+
An entry of the call stack of the state.
+
+
JvmMemoryLocationBamCpaRun<CpaT extends ConfigurableProgramAnalysis,​AbstractStateT extends LatticeAbstractState<AbstractStateT>> - Class in proguard.analysis.cpa.jvm.domain.memory
+
+
This abstract analyzer runs the JvmMemoryLocationCpa and returns the ReachedSet.
+
+
JvmMemoryLocationBamCpaRun(BamCpaRun<CpaT, JvmAbstractState<AbstractStateT>, JvmCfaNode, JvmCfaEdge, MethodSignature>, AbstractStateT) - Constructor for class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationBamCpaRun
+
+
Create a CPA run.
+
+
JvmMemoryLocationBamCpaRun(BamCpaRun<CpaT, JvmAbstractState<AbstractStateT>, JvmCfaNode, JvmCfaEdge, MethodSignature>, AbstractStateT, AbortOperator, Map<Call, Set<JvmMemoryLocation>>) - Constructor for class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationBamCpaRun
+
+
Create a CPA run.
+
+
JvmMemoryLocationCpa<AbstractStateT extends LatticeAbstractState<AbstractStateT>> - Class in proguard.analysis.cpa.jvm.domain.memory
+
+
The JvmMemoryLocationCpa backtraces memory locations.
+
+
JvmMemoryLocationCpa(AbstractStateT, BamCpa<JvmCfaNode, JvmCfaEdge, MethodSignature>, Map<Call, Set<JvmMemoryLocation>>) - Constructor for class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationCpa
+
 
+
JvmMemoryLocationMergeJoinOperator - Class in proguard.analysis.cpa.jvm.domain.memory
+
+
This MergeOperator applies the join operator to its arguments sharing the same memory + location.
+
+
JvmMemoryLocationMergeJoinOperator(AbstractDomain) - Constructor for class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationMergeJoinOperator
+
+
Create a merge operator from an abstract domain defining the join operator.
+
+
JvmMemoryLocationTransferRelation<AbstractStateT extends LatticeAbstractState<AbstractStateT>> - Class in proguard.analysis.cpa.jvm.domain.memory
+
+
The JvmMemoryLocationTransferRelation computes the backward successors of an JvmMemoryLocationAbstractState for a given instruction.
+
+
JvmMemoryLocationTransferRelation(AbstractStateT, BamCpa<JvmCfaNode, JvmCfaEdge, MethodSignature>, Map<Call, Set<JvmMemoryLocation>>) - Constructor for class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationTransferRelation
+
+
Create a memory location transfer relation.
+
+
JvmReferenceAbstractState - Class in proguard.analysis.cpa.jvm.domain.reference
+
+
A JvmAbstractState for the reference CPA.
+
+
JvmReferenceAbstractState(JvmCfaNode, JvmFrameAbstractState<SetAbstractState<Reference>>, JvmHeapAbstractState<SetAbstractState<Reference>>, MapAbstractState<String, SetAbstractState<Reference>>) - Constructor for class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceAbstractState
+
+
Create a JVM reference abstract state.
+
+
JvmReferenceExpandOperator - Class in proguard.analysis.cpa.jvm.domain.reference
+
+
This expand operator behaves the same as the JvmDefaultExpandOperator but operates on + JvmReferenceAbstractStates.
+
+
JvmReferenceExpandOperator(JvmCfa) - Constructor for class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceExpandOperator
+
+
Create the expand operator for the JVM reference analysis.
+
+
JvmReferenceExpandOperator(JvmCfa, boolean) - Constructor for class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceExpandOperator
+
+
Create the expand operator for the JVM reference analysis.
+
+
JvmReferenceReduceOperator - Class in proguard.analysis.cpa.jvm.domain.reference
+
+
This reduce operator behaves the same as the JvmDefaultReduceOperator but operates on + JvmReferenceAbstractStates.
+
+
JvmReferenceReduceOperator() - Constructor for class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceReduceOperator
+
+
Create the reduce operator for the JVM reference analysis.
+
+
JvmReferenceReduceOperator(boolean) - Constructor for class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceReduceOperator
+
+
Create the reduce operator for the JVM reference analysis.
+
+
JvmReferenceTransferRelation - Class in proguard.analysis.cpa.jvm.domain.reference
+
+
This JvmTransferRelation propagates reference values, destroys references upon arithmetic + operations, and creates fresh references for return values of intraprocedurally analyzed calls.
+
+
JvmReferenceTransferRelation() - Constructor for class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceTransferRelation
+
 
+
JvmReturnTaintSink - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
A JvmTaintSink triggered if the return value of the specified method is tainted.
+
+
JvmReturnTaintSink(Signature) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmReturnTaintSink
+
 
+
JvmReturnTaintSink(Signature, Predicate<TaintSource>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmReturnTaintSink
+
 
+
JvmShallowHeapAbstractState<ReferenceT,​StateT extends LatticeAbstractState<StateT>> - Class in proguard.analysis.cpa.jvm.state.heap.tree
+
+
A shallow heap models objects as atomic abstract states thus having only one level of depth.
+
+
JvmShallowHeapAbstractState(MapAbstractState<ReferenceT, StateT>, Class<ReferenceT>, StateT) - Constructor for class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
+
Create a shallow heap abstract state returning the specified value for all queries from an + existing reference to abstract state map.
+
+
jvmSignature - Variable in class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
jvmSignature - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
JvmStackLocation - Class in proguard.analysis.cpa.jvm.witness
+
+
The JvmStackLocation is a memory location at the operand stack.
+
+
JvmStackLocation(int) - Constructor for class proguard.analysis.cpa.jvm.witness.JvmStackLocation
+
+
Create a stack location.
+
+
JvmStaticFieldLocation - Class in proguard.analysis.cpa.jvm.witness
+
+
The JvmStaticFieldLocation is a memory location corresponding to a public static field.
+
+
JvmStaticFieldLocation(String) - Constructor for class proguard.analysis.cpa.jvm.witness.JvmStaticFieldLocation
+
+
Create a static field location.
+
+
JvmTaintAbstractState - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
The JvmTaintAbstractState is a JvmAbstractState with features specific to taint + analysis.
+
+
JvmTaintAbstractState(JvmCfaNode, JvmFrameAbstractState<SetAbstractState<JvmTaintSource>>, JvmHeapAbstractState<SetAbstractState<JvmTaintSource>>, MapAbstractState<String, SetAbstractState<JvmTaintSource>>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintAbstractState
+
+
Create a taint JVM abstract state.
+
+
JvmTaintBamCpaRun<OuterAbstractStateT extends AbstractState> - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
This run wraps the execution of BAM JvmTaintCpa.
+
+
JvmTaintBamCpaRun(JvmCfa, Set<? extends JvmTaintSource>, MethodSignature, int, HeapModel, AbortOperator, boolean, MapAbstractStateFactory<String, SetAbstractState<JvmTaintSource>>, MapAbstractStateFactory<String, SetAbstractState<Reference>>, MapAbstractStateFactory<String, SetAbstractState<JvmTaintSource>>, Map<MethodSignature, JvmTaintTransformer>, Map<Call, Set<JvmMemoryLocation>>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun
+
+
Create a CPA run.
+
+
JvmTaintBamCpaRun.Builder - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
A builder for JvmTaintBamCpaRun.
+
+
JvmTaintCpa - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
The JvmTaintCpa computes abstract states containing JvmTaintSources which can + reach the given code location.
+
+
JvmTaintCpa(Map<Signature, Set<JvmTaintSource>>, Map<MethodSignature, JvmTaintTransformer>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintCpa
+
+
Create a taint CPA.
+
+
JvmTaintCpa(Set<? extends JvmTaintSource>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintCpa
+
+
Create a taint CPA.
+
+
JvmTaintCpa(Set<? extends JvmTaintSource>, Map<MethodSignature, JvmTaintTransformer>, Map<Call, Set<JvmMemoryLocation>>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintCpa
+
+
Create a taint CPA.
+
+
JvmTaintExpandOperator - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
This ExpandOperator inherits all the functionalities of a + JvmDefaultExpandOperator and in addition taints the return values if the called function + is a source.
+
+
JvmTaintExpandOperator(JvmCfa, Map<Signature, Set<JvmTaintSource>>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintExpandOperator
+
+
Create the operator specifying the taint sources.
+
+
JvmTaintExpandOperator(JvmCfa, Map<Signature, Set<JvmTaintSource>>, boolean) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintExpandOperator
+
+
Create the operator specifying the taint sources.
+
+
JvmTaintMemoryLocationBamCpaRun - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
This run wraps the execution of BAM JvmMemoryLocationCpa.
+
+
JvmTaintMemoryLocationBamCpaRun(JvmCfa, Set<? extends JvmTaintSource>, MethodSignature, int, HeapModel, SetAbstractState<JvmTaintSource>, Collection<? extends JvmTaintSink>, AbortOperator, AbortOperator, boolean, MapAbstractStateFactory<String, SetAbstractState<JvmTaintSource>>, MapAbstractStateFactory<String, SetAbstractState<Reference>>, MapAbstractStateFactory<String, SetAbstractState<JvmTaintSource>>, Map<MethodSignature, JvmTaintTransformer>, Map<Call, Set<JvmMemoryLocation>>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun
+
+
Create a traced taint CPA run.
+
+
JvmTaintMemoryLocationBamCpaRun(JvmTaintBamCpaRun, SetAbstractState<JvmTaintSource>, Collection<? extends JvmTaintSink>, AbortOperator, Map<Call, Set<JvmMemoryLocation>>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun
+
+
Create a traced taint CPA run.
+
+
JvmTaintMemoryLocationBamCpaRun.Builder - Class in proguard.analysis.cpa.jvm.domain.taint
+
+ +
+
JvmTaintReduceOperator - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
This ReduceOperator inherits all the functionalities of a + JvmDefaultReduceOperator and adjusts the return type to be the JvmTaintAbstractState.
+
+
JvmTaintReduceOperator(boolean) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintReduceOperator
+
+
Create the taint reduce operator for the JVM.
+
+
JvmTaintReduceOperator(boolean, Map<Signature, Set<JvmTaintSource>>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintReduceOperator
+
+
Create the taint reduce operator for the JVM.
+
+
JvmTaintSink - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
The JvmTaintSink adds an interface for extracting sensitive JVM memory locations and to + check if the sink matches a given cfa edge.
+
+
JvmTaintSink(Signature) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSink
+
 
+
JvmTaintSink(Signature, Predicate<TaintSource>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSink
+
 
+
JvmTaintSource - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
A JvmTaintSource specifies a method which can taint any (subset) of the following: the + instance, the return value, the argument objects, or static fields.
+
+
JvmTaintSource(Signature, boolean, boolean, Set<Integer>, Set<String>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSource
+
+
Create a taint source.
+
+
JvmTaintSource(Signature, Predicate<Call>, boolean, boolean, Set<Integer>, Set<String>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSource
+
+
Create a taint source.
+
+
JvmTaintSource(Signature, Optional<Predicate<Call>>, boolean, boolean, Set<Integer>, Set<String>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSource
+
+
Create a taint source.
+
+
JvmTaintTransferRelation - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
The JvmTaintTransferRelation is parametrized by a set of TaintSource methods.
+
+
JvmTaintTransferRelation(Map<Signature, Set<JvmTaintSource>>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTransferRelation
+
+
Create a taint transfer relation.
+
+
JvmTaintTransferRelation(Map<Signature, Set<JvmTaintSource>>, Map<MethodSignature, JvmTaintTransformer>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTransferRelation
+
 
+
JvmTaintTransferRelation(Map<Signature, Set<JvmTaintSource>>, Map<MethodSignature, JvmTaintTransformer>, Map<Call, Set<JvmMemoryLocation>>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTransferRelation
+
 
+
JvmTaintTransferRelation.InstructionAbstractInterpreter - Class in proguard.analysis.cpa.jvm.domain.taint
+
 
+
JvmTaintTransformer - Interface in proguard.analysis.cpa.jvm.domain.taint
+
+
Class that can be passed to JvmTaintTransferRelation to specify how a specific method + call should be treated.
+
+
JvmTransferRelation<StateT extends LatticeAbstractState<StateT>> - Class in proguard.analysis.cpa.jvm.transfer
+
+
The JvmTransferRelation computes the successors of an JvmAbstractState for a + given instruction.
+
+
JvmTransferRelation() - Constructor for class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
 
+
JvmTransferRelation.InstructionAbstractInterpreter - Class in proguard.analysis.cpa.jvm.transfer
+
+
This InstructionVisitor performs generic operations (e.g., loads, stores) parametrized + by the specific behavior of JvmTransferRelation for instruction applications, method + invocations, and constructing literals.
+
+
JvmUnknownCfaNode - Class in proguard.analysis.cpa.jvm.cfa.nodes
+
+
A unique node for an entire CFA representing an unknown code location.
+
+
JvmValueAbstractState - Class in proguard.analysis.cpa.jvm.domain.value
+
 
+
JvmValueAbstractState(ValueFactory, ExecutingInvocationUnit, JvmCfaNode, JvmFrameAbstractState<ValueAbstractState>, JvmHeapAbstractState<ValueAbstractState>, MapAbstractState<String, ValueAbstractState>) - Constructor for class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
+
Create a JVM value abstract state.
+
+
JvmValueBamCpaRun - Class in proguard.analysis.cpa.jvm.domain.value
+
+
This run wraps the execution of BAM JVM Value Analysis CPA (see JvmValueAbstractState).
+
+
JvmValueBamCpaRun.Builder - Class in proguard.analysis.cpa.jvm.domain.value
+
 
+
JvmValueBamCpaRun.TransferRelationFactory - Interface in proguard.analysis.cpa.jvm.domain.value
+
 
+
JvmValueExpandOperator - Class in proguard.analysis.cpa.jvm.domain.value
+
+ +
+
JvmValueExpandOperator(ValueFactory, ExecutingInvocationUnit, JvmCfa) - Constructor for class proguard.analysis.cpa.jvm.domain.value.JvmValueExpandOperator
+
 
+
JvmValueExpandOperator(ValueFactory, ExecutingInvocationUnit, JvmCfa, boolean) - Constructor for class proguard.analysis.cpa.jvm.domain.value.JvmValueExpandOperator
+
 
+
JvmValueReduceOperator - Class in proguard.analysis.cpa.jvm.domain.value
+
+ +
+
JvmValueReduceOperator(ValueFactory, ExecutingInvocationUnit) - Constructor for class proguard.analysis.cpa.jvm.domain.value.JvmValueReduceOperator
+
 
+
JvmValueReduceOperator(ValueFactory, ExecutingInvocationUnit, boolean) - Constructor for class proguard.analysis.cpa.jvm.domain.value.JvmValueReduceOperator
+
 
+
JvmValueTransferRelation - Class in proguard.analysis.cpa.jvm.domain.value
+
+
A JvmTransferRelation that tracks values.
+
+
JvmValueTransferRelation(ValueFactory, ExecutingInvocationUnit) - Constructor for class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
+ + + +

K

+
+
k - proguard.classfile.util.kotlin.KotlinMetadataType
+
 
+
k - Variable in class proguard.classfile.kotlin.KotlinMetadata
+
+
A kind of the metadata this annotation encodes.
+
+
K - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
K - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
KEEP_ALL_METHODS - Static variable in class proguard.dexfile.reader.DexFileReader
+
+
read all methods, even if they are glitch
+
+
KEEP_CLINIT - Static variable in class proguard.dexfile.reader.DexFileReader
+
+
keep clinit method when DexFileReader.SKIP_DEBUG
+
+
key - Variable in class proguard.classfile.util.renderer.MemberViewModel.Pair
+
 
+
keySet() - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
keySet() - Method in class proguard.util.MultiValueMap
+
 
+
kFmt10t - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt10x - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt11n - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt11x - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt12x - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt20t - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt21c - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt21h - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt21s - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt21t - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt22b - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt22c - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt22s - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt22t - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt22x - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt23x - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt30t - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt31c - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt31i - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt31t - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt32x - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt35c - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt3rc - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt45cc - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt4rcc - proguard.dexfile.reader.InstructionFormat
+
 
+
kFmt51l - proguard.dexfile.reader.InstructionFormat
+
 
+
kind - Variable in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
KIND_Array - Static variable in class proguard.classfile.attribute.annotation.TypePathInfo
+
 
+
KIND_Nested - Static variable in class proguard.classfile.attribute.annotation.TypePathInfo
+
 
+
KIND_TypeArgument - Static variable in class proguard.classfile.attribute.annotation.TypePathInfo
+
 
+
KIND_TypeArgumentBound - Static variable in class proguard.classfile.attribute.annotation.TypePathInfo
+
 
+
kIndexCallSiteRef - proguard.dexfile.reader.InstructionIndexType
+
 
+
kIndexFieldOffset - proguard.dexfile.reader.InstructionIndexType
+
 
+
kIndexFieldRef - proguard.dexfile.reader.InstructionIndexType
+
 
+
kIndexInlineMethod - proguard.dexfile.reader.InstructionIndexType
+
 
+
kIndexMethodAndProtoRef - proguard.dexfile.reader.InstructionIndexType
+
 
+
kIndexMethodRef - proguard.dexfile.reader.InstructionIndexType
+
 
+
kIndexNone - proguard.dexfile.reader.InstructionIndexType
+
 
+
kIndexStringRef - proguard.dexfile.reader.InstructionIndexType
+
 
+
kIndexTypeRef - proguard.dexfile.reader.InstructionIndexType
+
 
+
kIndexUnknown - proguard.dexfile.reader.InstructionIndexType
+
 
+
kIndexVaries - proguard.dexfile.reader.InstructionIndexType
+
 
+
kIndexVtableOffset - proguard.dexfile.reader.InstructionIndexType
+
 
+
kInstrCanBranch - Static variable in interface proguard.dexfile.reader.CFG
+
 
+
kInstrCanContinue - Static variable in interface proguard.dexfile.reader.CFG
+
 
+
kInstrCanReturn - Static variable in interface proguard.dexfile.reader.CFG
+
 
+
kInstrCanSwitch - Static variable in interface proguard.dexfile.reader.CFG
+
 
+
kInstrCanThrow - Static variable in interface proguard.dexfile.reader.CFG
+
 
+
kInstrInvoke - Static variable in interface proguard.dexfile.reader.CFG
+
 
+
KmAnnotationIntegrity - Class in proguard.util.kotlin.asserter.constraint
+
+
This class checks the assumption: All properties need a JVM signature for their getter
+
+
KmAnnotationIntegrity() - Constructor for class proguard.util.kotlin.asserter.constraint.KmAnnotationIntegrity
+
 
+
KOLTIN_METADATA_FIELD_XS - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
KOTLIN_INTRINSICS_CLASS - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
KOTLIN_METADATA_FIELD_BV - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
KOTLIN_METADATA_FIELD_D1 - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
KOTLIN_METADATA_FIELD_D2 - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
KOTLIN_METADATA_FIELD_K - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
KOTLIN_METADATA_FIELD_MV - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
KOTLIN_METADATA_FIELD_PN - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
KOTLIN_METADATA_FIELD_XI - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
KOTLIN_OBJECT_INSTANCE_FIELD_NAME - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
KotlinAnnotatable - Interface in proguard.classfile.kotlin
+
+
Represents a Kotlin metadata entity that can contain annotations:
+
+
KotlinAnnotation - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotation(String) - Constructor for class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
KotlinAnnotation(String, List<KotlinAnnotationArgument>) - Constructor for class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
KotlinAnnotationArgument - Class in proguard.classfile.kotlin
+
+
Represents an argument of a KotlinAnnotation e.g.
+
+
KotlinAnnotationArgument(String, KotlinAnnotationArgument.Value) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument
+
 
+
KotlinAnnotationArgument.AnnotationValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.ArrayValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.BooleanValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.ByteValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.CharValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.ClassValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.DoubleValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.EnumValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.FloatValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.IntValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.LiteralValue<T> - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.LongValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.ShortValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.StringValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.UByteValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.UIntValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.ULongValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.UShortValue - Class in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgument.Value - Interface in proguard.classfile.kotlin
+
 
+
KotlinAnnotationArgumentFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
Delegates to another KotlinAnnotationArgumentVisitor based on the result of the given + Predicate.
+
+
KotlinAnnotationArgumentFilter(Predicate<KotlinAnnotationArgument>, KotlinAnnotationArgumentVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinAnnotationArgumentFilter
+
 
+
KotlinAnnotationArgumentFilter(Predicate<KotlinAnnotationArgument>, KotlinAnnotationArgumentVisitor, KotlinAnnotationArgumentVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinAnnotationArgumentFilter
+
 
+
KotlinAnnotationArgumentVisitor - Interface in proguard.classfile.kotlin.visitor
+
+
Visitor interface for Kotlin annotation arguments.
+
+
KotlinAnnotationFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
Delegates to a given KotlinAnnotationVisitor if the predicate succeeds.
+
+
KotlinAnnotationFilter(Predicate<KotlinAnnotation>, KotlinAnnotationVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinAnnotationFilter
+
 
+
KotlinAnnotationFilter(Predicate<KotlinAnnotation>, KotlinAnnotationVisitor, KotlinAnnotationVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinAnnotationFilter
+
 
+
KotlinAnnotationVisitor - Interface in proguard.classfile.kotlin.visitor
+
 
+
KotlinAsserterConstraint - Interface in proguard.util.kotlin.asserter.constraint
+
+
Implementations of this class represent a conceptual constraint on KotlinMetadata.
+
+
KotlinCallableReferenceInitializer - Class in proguard.classfile.kotlin.reflect.util
+
+
Initialize callable reference class information, by visiting synthetic classes that implement + (Function|Property|LocalVariable)Reference, then finding Function/Property that they refer to and + use this information to initialize a CallableReferenceInfo inside the synthetic class.
+
+
KotlinCallableReferenceInitializer(ClassPool, ClassPool) - Constructor for class proguard.classfile.kotlin.reflect.util.KotlinCallableReferenceInitializer
+
 
+
KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer - Class in proguard.classfile.kotlin.reflect.util
+
 
+
KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter - Class in proguard.classfile.kotlin.reflect.util
+
 
+
KotlinClassFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
Delegates to the given ClassVisitor if the class has the kotlin.Metadata annotation.
+
+
KotlinClassFilter(ClassVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinClassFilter
+
 
+
KotlinClassFlags - Class in proguard.classfile.kotlin.flags
+
+
Flags for Kotlin classes.
+
+
KotlinClassFlags(KotlinVisibilityFlags, KotlinModalityFlags) - Constructor for class proguard.classfile.kotlin.flags.KotlinClassFlags
+
 
+
KotlinClassKindFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
Delegate to another KotlinMetadataVisitor if the predicate returns true, or if there's no + predicate.
+
+
KotlinClassKindFilter(Predicate<KotlinClassKindMetadata>, KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinClassKindFilter
+
 
+
KotlinClassKindFilter(KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinClassKindFilter
+
 
+
KotlinClassKindMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinClassKindMetadata(int[], int, String, String) - Constructor for class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
KotlinClassToAnonymousObjectOriginClassVisitor - Class in proguard.classfile.kotlin.visitor
+
+
This KotlinMetadataVisitor travels to the anonymous object origin class and delegates to + the given KotlinMetadataVisitor.
+
+
KotlinClassToAnonymousObjectOriginClassVisitor(ClassPool, KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.KotlinClassToAnonymousObjectOriginClassVisitor
+
 
+
KotlinClassToDefaultImplsClassVisitor - Class in proguard.classfile.kotlin.visitor
+
 
+
KotlinClassToDefaultImplsClassVisitor(ClassVisitor) - Constructor for class proguard.classfile.kotlin.visitor.KotlinClassToDefaultImplsClassVisitor
+
 
+
KotlinClassToInlineOriginFunctionVisitor - Class in proguard.classfile.kotlin.visitor
+
+
This KotlinMetadataVisitor travels to the function of the provided anonymous object + origin and delegates to the given KotlinFunctionVisitor.
+
+
KotlinClassToInlineOriginFunctionVisitor(String, KotlinFunctionVisitor) - Constructor for class proguard.classfile.kotlin.visitor.KotlinClassToInlineOriginFunctionVisitor
+
 
+
KotlinClassVisitor - Interface in proguard.classfile.kotlin.visitor
+
+ +
+
KotlinCommonFlags - Class in proguard.classfile.kotlin.flags
+
+
Common flags.
+
+
KotlinCommonFlags() - Constructor for class proguard.classfile.kotlin.flags.KotlinCommonFlags
+
 
+
KotlinConstants - Class in proguard.classfile.kotlin
+
 
+
KotlinConstants() - Constructor for class proguard.classfile.kotlin.KotlinConstants
+
 
+
KotlinConstants.MODULE - Class in proguard.classfile.kotlin
+
 
+
KotlinConstants.REFLECTION - Class in proguard.classfile.kotlin
+
 
+
KotlinConstructorFilter - Class in proguard.classfile.kotlin.visitor.filter
+
 
+
KotlinConstructorFilter(Predicate<KotlinConstructorMetadata>, KotlinConstructorVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinConstructorFilter
+
 
+
KotlinConstructorFlags - Class in proguard.classfile.kotlin.flags
+
+
Flags for Kotlin constructors.
+
+
KotlinConstructorFlags(KotlinVisibilityFlags) - Constructor for class proguard.classfile.kotlin.flags.KotlinConstructorFlags
+
 
+
KotlinConstructorMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinConstructorMetadata(KotlinConstructorFlags) - Constructor for class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
KotlinConstructorVisitor - Interface in proguard.classfile.kotlin.visitor
+
 
+
KotlinContractMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinContractMetadata() - Constructor for class proguard.classfile.kotlin.KotlinContractMetadata
+
 
+
KotlinContractVisitor - Interface in proguard.classfile.kotlin.visitor
+
 
+
KotlinDeclarationContainerFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
Filter KotlinDeclarationContainers, based on the given predicate.
+
+
KotlinDeclarationContainerFilter(Predicate<KotlinDeclarationContainerMetadata>, KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinDeclarationContainerFilter
+
 
+
KotlinDeclarationContainerFilter(Predicate<KotlinDeclarationContainerMetadata>, KotlinMetadataVisitor, KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinDeclarationContainerFilter
+
 
+
KotlinDeclarationContainerFilter(KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinDeclarationContainerFilter
+
 
+
KotlinDeclarationContainerMetadata - Class in proguard.classfile.kotlin
+
+
This class is named after Kotlin's own naming scheme.
+
+
KotlinDeclarationContainerMetadata(int, int[], int, String, String) - Constructor for class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
KotlinEffectExpressionFlags - Class in proguard.classfile.kotlin.flags
+
+
Flags for Kotlin types.
+
+
KotlinEffectExpressionFlags() - Constructor for class proguard.classfile.kotlin.flags.KotlinEffectExpressionFlags
+
 
+
KotlinEffectExpressionMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinEffectExpressionMetadata() - Constructor for class proguard.classfile.kotlin.KotlinEffectExpressionMetadata
+
 
+
KotlinEffectExprVisitor - Interface in proguard.classfile.kotlin.visitor
+
 
+
KotlinEffectMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinEffectMetadata(KotlinEffectType, KotlinEffectInvocationKind) - Constructor for class proguard.classfile.kotlin.KotlinEffectMetadata
+
 
+
KotlinEffectVisitor - Interface in proguard.classfile.kotlin.visitor
+
 
+
KotlinFileFacadeKindMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinFileFacadeKindMetadata(int[], int, String, String) - Constructor for class proguard.classfile.kotlin.KotlinFileFacadeKindMetadata
+
 
+
KotlinFileFacadeVisitor - Interface in proguard.classfile.kotlin.visitor
+
+ +
+
KotlinFlags - Interface in proguard.classfile.kotlin.flags
+
+
KotlinFlags represent a collection of flags in the metadata.
+
+
KotlinFunctionFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
Delegate to another KotlinFunctionVisitor if the predicate returns true.
+
+
KotlinFunctionFilter(Predicate<KotlinFunctionMetadata>, KotlinFunctionVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinFunctionFilter
+
 
+
KotlinFunctionFlags - Class in proguard.classfile.kotlin.flags
+
+
Flags for Kotlin functions.
+
+
KotlinFunctionFlags(KotlinVisibilityFlags, KotlinModalityFlags) - Constructor for class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
 
+
KotlinFunctionMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinFunctionMetadata(KotlinFunctionFlags, String) - Constructor for class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
KotlinFunctionToDefaultMethodVisitor - Class in proguard.classfile.kotlin.visitor
+
+
This class applies the given member visitor to the referenced default method of a Kotlin + function.
+
+
KotlinFunctionToDefaultMethodVisitor(MemberVisitor) - Constructor for class proguard.classfile.kotlin.visitor.KotlinFunctionToDefaultMethodVisitor
+
 
+
KotlinFunctionToMethodVisitor - Class in proguard.classfile.kotlin.visitor
+
+
This class applies the given member visitor to the referenced method of a Kotlin function.
+
+
KotlinFunctionToMethodVisitor(MemberVisitor) - Constructor for class proguard.classfile.kotlin.visitor.KotlinFunctionToMethodVisitor
+
 
+
KotlinFunctionVisitor - Interface in proguard.classfile.kotlin.visitor
+
 
+
kotlinMetadata - Variable in class proguard.classfile.LibraryClass
+
 
+
kotlinMetadata - Variable in class proguard.classfile.ProgramClass
+
 
+
KotlinMetadata - Class in proguard.classfile.kotlin
+
+
This abstract class represents metadata that is attached to a Kotlin class, parsed from + its @Metadata tag.
+
+
KotlinMetadata(int, int[], int, String, String) - Constructor for class proguard.classfile.kotlin.KotlinMetadata
+
 
+
kotlinMetadataAccept(KotlinMetadataVisitor) - Method in interface proguard.classfile.Clazz
+
+
Lets the given Kotlin metadata visitor visit the metadata of this class.
+
+
kotlinMetadataAccept(KotlinMetadataVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
kotlinMetadataAccept(KotlinMetadataVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
kotlinMetadataAnnotation - Variable in class proguard.classfile.kotlin.KotlinAnnotationArgument.AnnotationValue
+
 
+
KotlinMetadataAsserter - Class in proguard.util.kotlin.asserter
+
+
Performs a series of checks to see whether the kotlin metadata is intact.
+
+
KotlinMetadataAsserter() - Constructor for class proguard.util.kotlin.asserter.KotlinMetadataAsserter
+
 
+
KotlinMetadataFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
This KotlinMetadataVisitor delegates its visits to one of two given visitors, depending + on whether the given predicate succeeds.
+
+
KotlinMetadataFilter(Predicate<KotlinMetadata>, KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinMetadataFilter
+
 
+
KotlinMetadataFilter(Predicate<KotlinMetadata>, KotlinMetadataVisitor, KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinMetadataFilter
+
 
+
KotlinMetadataFilter(KotlinMetadataVisitor, KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinMetadataFilter
+
 
+
KotlinMetadataInitializer - Class in proguard.classfile.util.kotlin
+
+
Initializes the kotlin metadata for a Kotlin class.
+
+
KotlinMetadataInitializer(BiConsumer<Clazz, String>) - Constructor for class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
KotlinMetadataInitializer(WarningPrinter) - Constructor for class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
KotlinMetadataPrinter - Class in proguard.classfile.kotlin.visitor
+
 
+
KotlinMetadataPrinter() - Constructor for class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
KotlinMetadataPrinter(PrintWriter) - Constructor for class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
KotlinMetadataPrinter(PrintWriter, String) - Constructor for class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
KotlinMetadataRemover - Class in proguard.classfile.kotlin.visitor
+
 
+
KotlinMetadataRemover() - Constructor for class proguard.classfile.kotlin.visitor.KotlinMetadataRemover
+
 
+
KotlinMetadataToClazzVisitor - Class in proguard.classfile.kotlin.visitor
+
 
+
KotlinMetadataToClazzVisitor(ClassVisitor) - Constructor for class proguard.classfile.kotlin.visitor.KotlinMetadataToClazzVisitor
+
 
+
KotlinMetadataToModuleVisitor - Class in proguard.resources.kotlinmodule.visitor
+
 
+
KotlinMetadataToModuleVisitor(KotlinModuleVisitor) - Constructor for class proguard.resources.kotlinmodule.visitor.KotlinMetadataToModuleVisitor
+
 
+
KotlinMetadataType - Enum in proguard.classfile.util.kotlin
+
+
The different fields of the Kotlin metadata annotation.
+
+
KotlinMetadataVersion - Class in proguard.classfile.kotlin
+
+
Small container for KotlinMetadataVersion metadata (mv).
+
+
KotlinMetadataVersion(int[]) - Constructor for class proguard.classfile.kotlin.KotlinMetadataVersion
+
 
+
KotlinMetadataVersion(int, int, int) - Constructor for class proguard.classfile.kotlin.KotlinMetadataVersion
+
 
+
KotlinMetadataVersionFilter - Class in proguard.classfile.kotlin.visitor
+
+
Tests a predicate on the classes' KotlinMetadataVersion and delegates to different ClassVisitors + based on the result.
+
+
KotlinMetadataVersionFilter(Predicate<KotlinMetadataVersion>, ClassVisitor, ClassVisitor) - Constructor for class proguard.classfile.kotlin.visitor.KotlinMetadataVersionFilter
+
+
Tests a predicate on the classes' KotlinMetadataVersion and delegates to different + ClassVisitors based on the result.
+
+
KotlinMetadataVisitor - Interface in proguard.classfile.kotlin.visitor
+
 
+
KotlinMetadataWriter - Class in proguard.classfile.io.kotlin
+
+
This class visitor writes the information stored in a Clazz's kotlinMetadata field to + a @kotlin/Metadata annotation on the class.
+
+
KotlinMetadataWriter(BiConsumer<Clazz, String>) - Constructor for class proguard.classfile.io.kotlin.KotlinMetadataWriter
+
 
+
KotlinMetadataWriter(BiConsumer<Clazz, String>, ClassVisitor) - Constructor for class proguard.classfile.io.kotlin.KotlinMetadataWriter
+
 
+
KotlinMetadataWriter(WarningPrinter) - Constructor for class proguard.classfile.io.kotlin.KotlinMetadataWriter
+
+
Deprecated. + +
+
+
KotlinMetadataWriter(WarningPrinter, ClassVisitor) - Constructor for class proguard.classfile.io.kotlin.KotlinMetadataWriter
+
+ +
+
KotlinModalityFlags - Class in proguard.classfile.kotlin.flags
+
 
+
KotlinModalityFlags() - Constructor for class proguard.classfile.kotlin.flags.KotlinModalityFlags
+
 
+
KotlinModule - Class in proguard.resources.kotlinmodule
+
+
Represents a Kotlin module file - this file describes the contents of a Kotlin module: which file + facades and which multi-file part classes make up the module.
+
+
KotlinModule(String, long) - Constructor for class proguard.resources.kotlinmodule.KotlinModule
+
 
+
KotlinModuleDataEntryReader - Class in proguard.resources.kotlinmodule.io
+
+
Read a Kotlin module file and apply the given ResourceFileVisitor.
+
+
KotlinModuleDataEntryReader(ResourceFileVisitor) - Constructor for class proguard.resources.kotlinmodule.io.KotlinModuleDataEntryReader
+
 
+
KotlinModuleDataEntryWriter - Class in proguard.resources.kotlinmodule.io
+
+
Write a KotlinModule from a ResourceFilePool to the supplied DataEntryWriter.
+
+
KotlinModuleDataEntryWriter(ResourceFilePool, DataEntryWriter) - Constructor for class proguard.resources.kotlinmodule.io.KotlinModuleDataEntryWriter
+
 
+
KotlinModuleIntegrity - Class in proguard.util.kotlin.asserter.constraint
+
 
+
KotlinModuleIntegrity() - Constructor for class proguard.util.kotlin.asserter.constraint.KotlinModuleIntegrity
+
 
+
KotlinModulePackage - Class in proguard.resources.kotlinmodule
+
 
+
KotlinModulePackage(String, List<String>, Map<String, String>) - Constructor for class proguard.resources.kotlinmodule.KotlinModulePackage
+
 
+
KotlinModulePackageVisitor - Interface in proguard.resources.kotlinmodule.visitor
+
 
+
KotlinModulePrinter - Class in proguard.resources.kotlinmodule.visitor
+
+
Print Kotlin modules.
+
+
KotlinModulePrinter() - Constructor for class proguard.resources.kotlinmodule.visitor.KotlinModulePrinter
+
 
+
KotlinModulePrinter(PrintWriter, String) - Constructor for class proguard.resources.kotlinmodule.visitor.KotlinModulePrinter
+
 
+
KotlinModuleReader - Class in proguard.resources.kotlinmodule.io
+
+
Read an input stream into a KotlinModule object.
+
+
KotlinModuleReader(InputStream) - Constructor for class proguard.resources.kotlinmodule.io.KotlinModuleReader
+
 
+
KotlinModuleReader(BiConsumer<KotlinModule, String>, InputStream) - Constructor for class proguard.resources.kotlinmodule.io.KotlinModuleReader
+
 
+
KotlinModuleReferenceInitializer - Class in proguard.resources.kotlinmodule.util
+
+
Initialize the Kotlin module references.
+
+
KotlinModuleReferenceInitializer(ClassPool, ClassPool) - Constructor for class proguard.resources.kotlinmodule.util.KotlinModuleReferenceInitializer
+
 
+
KotlinModuleVisitor - Interface in proguard.resources.kotlinmodule.visitor
+
+
A visitor for KotlinModule.
+
+
KotlinModuleWriter - Class in proguard.resources.kotlinmodule.io
+
 
+
KotlinModuleWriter(OutputStream) - Constructor for class proguard.resources.kotlinmodule.io.KotlinModuleWriter
+
 
+
KotlinModuleWriter(BiConsumer<KotlinModule, String>, OutputStream) - Constructor for class proguard.resources.kotlinmodule.io.KotlinModuleWriter
+
 
+
KotlinMultiFileFacadeKindMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinMultiFileFacadeKindMetadata(int[], String[], int, String, String) - Constructor for class proguard.classfile.kotlin.KotlinMultiFileFacadeKindMetadata
+
 
+
KotlinMultiFileFacadeVisitor - Interface in proguard.classfile.kotlin.visitor
+
+ +
+
KotlinMultiFilePartKindFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
Delegate to another KotlinMetadataVisitor if the predicate returns true.
+
+
KotlinMultiFilePartKindFilter(Predicate<KotlinMultiFilePartKindMetadata>, KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinMultiFilePartKindFilter
+
 
+
KotlinMultiFilePartKindFilter(KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinMultiFilePartKindFilter
+
 
+
KotlinMultiFilePartKindMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinMultiFilePartKindMetadata(int[], int, String, String) - Constructor for class proguard.classfile.kotlin.KotlinMultiFilePartKindMetadata
+
 
+
KotlinMultiFilePartVisitor - Interface in proguard.classfile.kotlin.visitor
+
+ +
+
KotlinNameUtil - Class in proguard.classfile.util.kotlin
+
+
Kotlin utility methods to help with Kotlin naming conventions.
+
+
KotlinPropertyAccessorFlags - Class in proguard.classfile.kotlin.flags
+
+
Flags for Kotlin property accessors (getters/setters for properties).
+
+
KotlinPropertyAccessorFlags(KotlinVisibilityFlags, KotlinModalityFlags) - Constructor for class proguard.classfile.kotlin.flags.KotlinPropertyAccessorFlags
+
 
+
KotlinPropertyFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
Delegate to another KotlinPropertyVisitor if the predicate returns true.
+
+
KotlinPropertyFilter(Predicate<KotlinPropertyMetadata>, KotlinPropertyVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinPropertyFilter
+
 
+
KotlinPropertyFilter(Predicate<KotlinPropertyMetadata>, KotlinPropertyVisitor, KotlinPropertyVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinPropertyFilter
+
 
+
KotlinPropertyFlags - Class in proguard.classfile.kotlin.flags
+
+
Flags for Kotlin properties.
+
+
KotlinPropertyFlags(KotlinVisibilityFlags, KotlinModalityFlags) - Constructor for class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
 
+
KotlinPropertyMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinPropertyMetadata(KotlinPropertyFlags, String, KotlinPropertyAccessorFlags, KotlinPropertyAccessorFlags) - Constructor for class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
KotlinPropertyVisitor - Interface in proguard.classfile.kotlin.visitor
+
 
+
KotlinReferencedClassVisitor(ClassVisitor) - Constructor for class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
KotlinStringUtil - Class in proguard.classfile.util.kotlin
+
+
Kotlin String utility methods.
+
+
KotlinSyntheticClassKindFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
Delegate to another KotlinMetadataVisitor if the predicate returns true.
+
+
KotlinSyntheticClassKindFilter(Predicate<KotlinSyntheticClassKindMetadata>, KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinSyntheticClassKindFilter
+
 
+
KotlinSyntheticClassKindFilter(KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinSyntheticClassKindFilter
+
 
+
KotlinSyntheticClassKindMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinSyntheticClassKindMetadata(int[], int, String, String, KotlinSyntheticClassKindMetadata.Flavor) - Constructor for class proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata
+
 
+
KotlinSyntheticClassKindMetadata.Flavor - Enum in proguard.classfile.kotlin
+
 
+
KotlinSyntheticClassVisitor - Interface in proguard.classfile.kotlin.visitor
+
+ +
+
KotlinTypeAliasFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
Delegates to another KotlinTypeAliasVisitor if the predicate succeeds; otherwise to the + rejected visitor.
+
+
KotlinTypeAliasFilter(Predicate<KotlinTypeAliasMetadata>, KotlinTypeAliasVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinTypeAliasFilter
+
 
+
KotlinTypeAliasFilter(Predicate<KotlinTypeAliasMetadata>, KotlinTypeAliasVisitor, KotlinTypeAliasVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinTypeAliasFilter
+
 
+
KotlinTypeAliasFlags - Class in proguard.classfile.kotlin.flags
+
 
+
KotlinTypeAliasFlags(KotlinVisibilityFlags) - Constructor for class proguard.classfile.kotlin.flags.KotlinTypeAliasFlags
+
 
+
KotlinTypeAliasMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinTypeAliasMetadata(KotlinTypeAliasFlags, String) - Constructor for class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
KotlinTypeAliasVisitor - Interface in proguard.classfile.kotlin.visitor
+
 
+
KotlinTypeFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
This KotlinTypeVisitor delegates to another KotlinTypeVisitor if the predicate succeeds.
+
+
KotlinTypeFilter(Predicate<KotlinTypeMetadata>, KotlinTypeVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
KotlinTypeFlags - Class in proguard.classfile.kotlin.flags
+
+
Flags for Kotlin types.
+
+
KotlinTypeFlags() - Constructor for class proguard.classfile.kotlin.flags.KotlinTypeFlags
+
 
+
KotlinTypeMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinTypeMetadata(KotlinTypeFlags) - Constructor for class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
KotlinTypeMetadata(KotlinTypeFlags, KotlinTypeVariance) - Constructor for class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
KotlinTypeParameterFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
This KotlinTypeParameterFilter delegates to another KotlinTypeVisitor if the predicate + succeeds.
+
+
KotlinTypeParameterFilter(Predicate<KotlinTypeParameterMetadata>, KotlinTypeParameterVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinTypeParameterFilter
+
 
+
KotlinTypeParameterFilter(Predicate<KotlinTypeParameterMetadata>, KotlinTypeParameterVisitor, KotlinTypeParameterVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinTypeParameterFilter
+
 
+
KotlinTypeParameterFlags - Class in proguard.classfile.kotlin.flags
+
+
Flags for Kotlin type parameters.
+
+
KotlinTypeParameterFlags() - Constructor for class proguard.classfile.kotlin.flags.KotlinTypeParameterFlags
+
 
+
KotlinTypeParameterMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinTypeParameterMetadata(KotlinTypeParameterFlags, String, int, KotlinTypeVariance) - Constructor for class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
KotlinTypeParameterVisitor - Interface in proguard.classfile.kotlin.visitor
+
 
+
KotlinTypeVariance - Enum in proguard.classfile.kotlin
+
 
+
KotlinTypeVisitor - Interface in proguard.classfile.kotlin.visitor
+
 
+
KotlinValueParameterFilter - Class in proguard.classfile.kotlin.visitor.filter
+
+
This KotlinValueParameterVisitor delegates to another KotlinValueParameterVisitor if the + predicate succeeds.
+
+
KotlinValueParameterFilter(Predicate<KotlinValueParameterMetadata>, KotlinValueParameterVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinValueParameterFilter
+
 
+
KotlinValueParameterFilter(Predicate<KotlinValueParameterMetadata>, KotlinValueParameterVisitor, KotlinValueParameterVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinValueParameterFilter
+
 
+
KotlinValueParameterFlags - Class in proguard.classfile.kotlin.flags
+
+
Flags for Kotlin value parameters.
+
+
KotlinValueParameterFlags() - Constructor for class proguard.classfile.kotlin.flags.KotlinValueParameterFlags
+
 
+
KotlinValueParameterMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinValueParameterMetadata(KotlinValueParameterFlags, int, String) - Constructor for class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
KotlinValueParameterVisitor - Interface in proguard.classfile.kotlin.visitor
+
 
+
KotlinVersionRequirementMetadata - Class in proguard.classfile.kotlin
+
 
+
KotlinVersionRequirementMetadata() - Constructor for class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
KotlinVersionRequirementVisitor - Interface in proguard.classfile.kotlin.visitor
+
 
+
KotlinVisibilityFlags - Class in proguard.classfile.kotlin.flags
+
 
+
KotlinVisibilityFlags() - Constructor for class proguard.classfile.kotlin.flags.KotlinVisibilityFlags
+
 
+
+ + + +

L

+
+
L - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
L - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
l2d() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
l2d() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
l2f() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
l2f() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
l2i() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
l2i() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
label - Variable in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode
+
 
+
label - Variable in class proguard.dexfile.reader.node.insn.DexLabelStmtNode
+
 
+
label - Variable in class proguard.dexfile.reader.node.insn.JumpStmtNode
+
 
+
label() - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Creates a new label that can be used as a pseudo-instruction to mark a local offset.
+
+
label() - Static method in class proguard.classfile.editor.InstructionSequenceReplacer
+
+
Creates a new label that can be used as a pseudo-instruction to mark a local offset.
+
+
label(int) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Creates a new label that can be used as a pseudo-instruction to mark a local offset.
+
+
label(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends the given label at the current offset, so branch instructions and switch instructions + can jump to it.
+
+
label(Instruction) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+ +
+
Label(int) - Constructor for class proguard.classfile.editor.CodeAttributeEditor.Label
+
+
Creates a new Label.
+
+
LABEL - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
LabelAndLocalMapper - Class in proguard.dexfile.ir
+
 
+
LabelAndLocalMapper() - Constructor for class proguard.dexfile.ir.LabelAndLocalMapper
+
 
+
labels - Variable in class proguard.dexfile.reader.node.insn.BaseSwitchStmtNode
+
 
+
LabelStmt - Class in proguard.dexfile.ir.stmt
+
+
Represent a Label statement
+
+
LabelStmt() - Constructor for class proguard.dexfile.ir.stmt.LabelStmt
+
 
+
ladd() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ladd() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
laload() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
laload() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
LAMBDA - proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata.Flavor
+
 
+
lambdaClass - Variable in class proguard.backport.LambdaExpression
+
 
+
lambdaClassOriginName - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
LambdaExpression - Class in proguard.backport
+
+
A small helper class that captures useful information about a lambda expression as encountered in + a class file.
+
+
LambdaExpression(ProgramClass, int, BootstrapMethodInfo, String, String[], String[], String, String, int, String, String, String, Clazz, Method, int) - Constructor for class proguard.backport.LambdaExpression
+
+
Creates a new initialized LambdaExpression (except for the lambdaClass).
+
+
LambdaExpressionCollector - Class in proguard.backport
+
+
This ClassVisitor collects all lambda expressions that are defined in a visited class.
+
+
LambdaExpressionCollector(Map<InvokeDynamicConstant, LambdaExpression>) - Constructor for class proguard.backport.LambdaExpressionCollector
+
 
+
land() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
land() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
LargeDataOutputStream(OutputStream) - Constructor for class proguard.io.ZipOutput.LargeDataOutputStream
+
 
+
LargeStringSplitter - Class in proguard.normalize
+
+
This class visitor splits any strings longer than 65535 bytes into smaller strings.
+
+
LargeStringSplitter(ClassPool, ClassPool) - Constructor for class proguard.normalize.LargeStringSplitter
+
 
+
lastMember(Member) - Static method in class proguard.classfile.util.MethodLinker
+
+
Finds the last method in the linked list of related methods.
+
+
lastore() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lastore() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lastProcessable(Processable) - Static method in class proguard.classfile.util.MethodLinker
+
+
Finds the last method in the linked list of related methods.
+
+
LATEST_STABLE_SUPPORTED - Static variable in class proguard.classfile.io.kotlin.KotlinMetadataWriter
+
 
+
LatticeAbstractState<AbstractStateT extends LatticeAbstractState<AbstractStateT>> - Interface in proguard.analysis.cpa.defaults
+
+
The LatticeAbstractState is an AbstractDomain with concrete interfaces.
+
+
lcmp() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lcmp() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
LCMP - proguard.dexfile.ir.expr.Value.VT
+
 
+
lconst(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lconst(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lconst_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lconst_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lconst_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lconst_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ldc(float) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads a float constant with the given value.
+
+
ldc(float) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a float constant with the given value.
+
+
ldc(float, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a float constant with the given value.
+
+
ldc(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads an integer constant with the given value.
+
+
ldc(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads an integer constant with the given value.
+
+
ldc(int, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads an integer constant with the given value.
+
+
ldc(Object) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads an (internal) primitive array constant with the given + value.
+
+
ldc(Object) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads an (internal) primitive array constant with the given + value.
+
+
ldc(Object, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads an (internal) primitive array constant with the given + value.
+
+
ldc(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads a string constant with the given value.
+
+
ldc(String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a string constant with the given value.
+
+
ldc(String, Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads a class constant for the given type name, that references + the given class.
+
+
ldc(String, Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a class constant for the given type name, that references + the given class.
+
+
ldc(String, Clazz, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a class constant for the given type name, that references + the given class.
+
+
ldc(String, Clazz, Member) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads a string constant with the given value, that references + the given class member.
+
+
ldc(String, Clazz, Member) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a string constant with the given value, that references + the given class member.
+
+
ldc(String, Clazz, Member, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a string constant with the given value, that references + the given class member.
+
+
ldc(String, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a string constant with the given value.
+
+
ldc(String, ResourceFile) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads a string constant with the given value, that references + the given resource file.
+
+
ldc(String, ResourceFile) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a string constant with the given value, that references + the given resource file.
+
+
ldc(String, ResourceFile, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a string constant with the given value, that references + the given resource file.
+
+
ldc(Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads a class constant for the given class.
+
+
ldc(Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a class constant for the given class.
+
+
ldc(Clazz, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a class constant for the given class.
+
+
ldc(Clazz, Member) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads a string constant with the given class member name.
+
+
ldc(Clazz, Member) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a string constant with the given class member name.
+
+
ldc(Clazz, Member, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a string constant with the given class member name.
+
+
ldc(ResourceFile) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads a string constant with the given resource file name.
+
+
ldc(ResourceFile) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a string constant with the given resource file name.
+
+
ldc(ResourceFile, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a string constant with the given resource file name.
+
+
ldc_(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads the constant at the given index.
+
+
ldc_(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads the constant at the given index.
+
+
ldc_(int, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads the constant at the given index.
+
+
ldc_w(float) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads a float constant with the given value.
+
+
ldc_w(float) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a float constant with the given value.
+
+
ldc_w(float, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a float constant with the given value.
+
+
ldc_w(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads an integer constant with the given value.
+
+
ldc_w(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads an integer constant with the given value.
+
+
ldc_w(int, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads an integer constant with the given value.
+
+
ldc_w(Object) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads an (internal) primitive array constant with the given + value.
+
+
ldc_w(Object) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads an (internal) primitive array constant with the given + value.
+
+
ldc_w(Object, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads an (internal) primitive array constant with the given + value.
+
+
ldc_w(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads a string constant with the given value.
+
+
ldc_w(String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a string constant with the given value.
+
+
ldc_w(String, Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads a class constant for the given type name, that + references the given class.
+
+
ldc_w(String, Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a class constant for the given type name, that + references the given class.
+
+
ldc_w(String, Clazz, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a class constant for the given type name, that + references the given class.
+
+
ldc_w(String, Clazz, Member) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads a string constant with the given value, that references + the given class member.
+
+
ldc_w(String, Clazz, Member) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a string constant with the given value, that references + the given class member.
+
+
ldc_w(String, Clazz, Member, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a string constant with the given value, that references + the given class member.
+
+
ldc_w(String, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a string constant with the given value.
+
+
ldc_w(String, ResourceFile) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads a string constant with the given value, that references + the given resource file.
+
+
ldc_w(String, ResourceFile) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a string constant with the given value, that references + the given resource file.
+
+
ldc_w(String, ResourceFile, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a string constant with the given value, that references + the given resource file.
+
+
ldc_w(Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads a class constant for the given class.
+
+
ldc_w(Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a class constant for the given class.
+
+
ldc_w(Clazz, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a class constant for the given class.
+
+
ldc_w(Clazz, Member) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads a string constant with the given class member name.
+
+
ldc_w(Clazz, Member) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a string constant with the given class member name.
+
+
ldc_w(Clazz, Member, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a string constant with the given class member name.
+
+
ldc_w(ResourceFile) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads a string constant with the given resource file name.
+
+
ldc_w(ResourceFile) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a string constant with the given resource file name.
+
+
ldc_w(ResourceFile, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a string constant with the given resource file name.
+
+
ldc_w_(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads the constant at the given index.
+
+
ldc_w_(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads the constant at the given index.
+
+
ldc_w_(int, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads the constant at the given index.
+
+
ldc2_w(double) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc2_w instruction that loads a double constant with the given value.
+
+
ldc2_w(double) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc2_w instruction that loads a double constant with the given value.
+
+
ldc2_w(double, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc2_w instruction that loads a double constant with the given value.
+
+
ldc2_w(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc2_w instruction that loads the Category 2 constant at the given index.
+
+
ldc2_w(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc2_w instruction that loads the Category 2 constant at the given index.
+
+
ldc2_w(int, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc2_w instruction that loads the Category 2 constant at the given index.
+
+
ldc2_w(long) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc2_w instruction that loads a long constant with the given value.
+
+
ldc2_w(long) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc2_w instruction that loads a long constant with the given value.
+
+
ldc2_w(long, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc2_w instruction that loads a long constant with the given value.
+
+
ldiv() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ldiv() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
LDIV - proguard.dexfile.ir.expr.Value.VT
+
 
+
LE - proguard.dexfile.ir.expr.Value.VT
+
 
+
length(int) - Method in class proguard.classfile.editor.CodeAttributeEditor.Label
+
 
+
length(int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer.Label
+
 
+
length(int) - Method in class proguard.classfile.instruction.BranchInstruction
+
 
+
length(int) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
length(int) - Method in class proguard.classfile.instruction.Instruction
+
+
Returns the length in bytes of the instruction.
+
+
length(int) - Method in class proguard.classfile.instruction.LookUpSwitchInstruction
+
 
+
length(int) - Method in class proguard.classfile.instruction.SimpleInstruction
+
 
+
length(int) - Method in class proguard.classfile.instruction.TableSwitchInstruction
+
 
+
length(int) - Method in class proguard.classfile.instruction.VariableInstruction
+
 
+
LENGTH - proguard.dexfile.ir.expr.Value.VT
+
 
+
LESS_ZERO_FRAME - Static variable in class proguard.classfile.attribute.preverification.StackMapFrame
+
 
+
lessThan(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than the given IntegerValue: NEVER, + MAYBE, or ALWAYS.
+
+
lessThan(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
lessThan(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
lessThan(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
lessThan(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
lessThan(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than the given ParticularIntegerValue: NEVER + , MAYBE, or ALWAYS.
+
+
lessThan(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
lessThan(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
lessThan(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than the given RangeIntegerValue: NEVER, + MAYBE, or ALWAYS.
+
+
lessThan(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
lessThan(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
lessThan(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
lessThan(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than the given SpecificIntegerValue: NEVER + , MAYBE, or ALWAYS.
+
+
lessThan(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
lessThan(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than the given UnknownIntegerValue: NEVER + , MAYBE, or ALWAYS.
+
+
lessThanOrEqual(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than or equal to the given IntegerValue: NEVER + , MAYBE, or ALWAYS.
+
+
lessThanOrEqual(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
lessThanOrEqual(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
lessThanOrEqual(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
lessThanOrEqual(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
lessThanOrEqual(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than or equal to the given ParticularIntegerValue: + NEVER, MAYBE, or ALWAYS.
+
+
lessThanOrEqual(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
lessThanOrEqual(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
lessThanOrEqual(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than or equal to the given RangeIntegerValue: + NEVER, MAYBE, or ALWAYS.
+
+
lessThanOrEqual(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
lessThanOrEqual(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
lessThanOrEqual(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
lessThanOrEqual(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than or equal to the given SpecificIntegerValue: + NEVER, MAYBE, or ALWAYS.
+
+
lessThanOrEqual(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
lessThanOrEqual(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than or equal to the given UnknownIntegerValue: + NEVER, MAYBE, or ALWAYS.
+
+
LessZeroFrame - Class in proguard.classfile.attribute.preverification
+
+
This StackMapFrame represents an "chop frame".
+
+
LessZeroFrame() - Constructor for class proguard.classfile.attribute.preverification.LessZeroFrame
+
+
Creates an uninitialized LessZeroFrame.
+
+
LessZeroFrame(byte) - Constructor for class proguard.classfile.attribute.preverification.LessZeroFrame
+
+
Creates a LessZeroFrame with the given number of chopped variables.
+
+
LessZeroFrame(int) - Constructor for class proguard.classfile.attribute.preverification.LessZeroFrame
+
+
Creates a LessZeroFrame with the given tag.
+
+
level - Variable in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
LIB_DYFILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
LIB_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
LibraryClass - Class in proguard.classfile
+
+
This Clazz is a compact representation of the essential data in a Java class.
+
+
LibraryClass() - Constructor for class proguard.classfile.LibraryClass
+
+
Creates an empty LibraryClass.
+
+
LibraryClass(int, String, String) - Constructor for class proguard.classfile.LibraryClass
+
+
Creates an initialized LibraryClass
+
+
LibraryClass(int, String, String, String[], Clazz[], int, Clazz[], LibraryField[], LibraryMethod[], KotlinMetadata) - Constructor for class proguard.classfile.LibraryClass
+
+
Creates an initialized LibraryClass
+
+
LibraryClass(int, String, String, KotlinMetadata) - Constructor for class proguard.classfile.LibraryClass
+
+
Creates an initialized LibraryClass
+
+
LibraryClassBuilder - Class in proguard.classfile.editor
+
+
This editor allows to build or extend classes (LibraryClass instances).
+
+
LibraryClassBuilder(int, String, String) - Constructor for class proguard.classfile.editor.LibraryClassBuilder
+
+
Creates a new ClassBuilder for the Java class with the given name and super class.
+
+
LibraryClassBuilder(int, String, String, String[], Clazz[], int, Clazz[], LibraryField[], LibraryMethod[], KotlinMetadata) - Constructor for class proguard.classfile.editor.LibraryClassBuilder
+
+
Creates a new ClassBuilder for the Java class with the given name and super class.
+
+
LibraryClassBuilder(LibraryClass) - Constructor for class proguard.classfile.editor.LibraryClassBuilder
+
+
Creates a new ClassBuilder for the given class.
+
+
LibraryClassEditor - Class in proguard.classfile.editor
+
+
This class can add interfaces and class members to a given class.
+
+
LibraryClassEditor(LibraryClass) - Constructor for class proguard.classfile.editor.LibraryClassEditor
+
+
Creates a new ClassEditor that will edit elements in the given target class.
+
+
LibraryClassFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to another given ClassVisitor, but only + when visiting library classes.
+
+
LibraryClassFilter(ClassVisitor) - Constructor for class proguard.classfile.visitor.LibraryClassFilter
+
+
Creates a new LibraryClassFilter.
+
+
libraryClassPool - Variable in class proguard.util.kotlin.asserter.constraint.AbstractKotlinMetadataConstraint
+
 
+
LibraryClassReader - Class in proguard.classfile.io
+
+
This ClassVisitor fills out the LibraryClass instances that it visits with data + from the given DataInput object.
+
+
LibraryClassReader(DataInput, boolean, boolean) - Constructor for class proguard.classfile.io.LibraryClassReader
+
+
Creates a new ProgramClassReader for reading from the given DataInput.
+
+
LibraryClassReader(DataInput, boolean, boolean, LibraryClassReader.KotlinMetadataElementValueConsumer) - Constructor for class proguard.classfile.io.LibraryClassReader
+
+
Creates a new ProgramClassReader for reading from the given DataInput.
+
+
LibraryClassReader.KotlinMetadataElementValueConsumer - Interface in proguard.classfile.io
+
 
+
LibraryField - Class in proguard.classfile
+
+
This Field represents a field in a LibraryClass.
+
+
LibraryField() - Constructor for class proguard.classfile.LibraryField
+
+
Creates an uninitialized LibraryField.
+
+
LibraryField(int, String, String) - Constructor for class proguard.classfile.LibraryField
+
+
Creates an initialized LibraryField.
+
+
LibraryMember - Class in proguard.classfile
+
+
Base representation of a field or method from a LibraryClass.
+
+
LibraryMember() - Constructor for class proguard.classfile.LibraryMember
+
+
Creates an uninitialized LibraryMember.
+
+
LibraryMember(int, String, String) - Constructor for class proguard.classfile.LibraryMember
+
+
Creates an initialized LibraryMember.
+
+
LibraryMemberFilter - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates its visits to another given MemberVisitor, but only + when visiting members of library classes.
+
+
LibraryMemberFilter(MemberVisitor) - Constructor for class proguard.classfile.visitor.LibraryMemberFilter
+
+
Creates a new ProgramMemberFilter.
+
+
LibraryMethod - Class in proguard.classfile
+
+
This Method represents a method in a LibraryClass.
+
+
LibraryMethod() - Constructor for class proguard.classfile.LibraryMethod
+
+
Creates an uninitialized LibraryMethod.
+
+
LibraryMethod(int, String, String) - Constructor for class proguard.classfile.LibraryMethod
+
+
Creates an initialized LibraryMethod.
+
+
LimitedHashMap<K,​V> - Class in proguard.analysis.cpa.defaults
+
+
This LimitedHashMap is a HashMap which limits its content based on the function + removeElement.
+
+
LimitedHashMap(int, TriFunction<LimitedHashMap<K, V>, K, V, Optional<K>>) - Constructor for class proguard.analysis.cpa.defaults.LimitedHashMap
+
+
Create an empty limited map with reserved initial capacity.
+
+
LimitedHashMap(Map<? extends K, ? extends V>, TriFunction<LimitedHashMap<K, V>, K, V, Optional<K>>) - Constructor for class proguard.analysis.cpa.defaults.LimitedHashMap
+
+
Create a limited map from another map and a tripredicate.
+
+
LimitedHashMap(TriFunction<LimitedHashMap<K, V>, K, V, Optional<K>>) - Constructor for class proguard.analysis.cpa.defaults.LimitedHashMap
+
+
Create an empty limited hash map.
+
+
LimitedHashMapAbstractState<KeyT,​AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>> - Class in proguard.analysis.cpa.defaults
+
+
This LimitedHashMapAbstractState represents a limited map to LatticeAbstractStates with the semilattice operators lifted to the map.
+
+
LimitedHashMapAbstractState(int, TriFunction<LimitedHashMap<KeyT, AbstractSpaceT>, KeyT, AbstractSpaceT, Optional<KeyT>>) - Constructor for class proguard.analysis.cpa.defaults.LimitedHashMapAbstractState
+
+
Create an empty limited hash map abstract state with reserved initial capacity.
+
+
LimitedHashMapAbstractState(Map<? extends KeyT, ? extends AbstractSpaceT>, TriFunction<LimitedHashMap<KeyT, AbstractSpaceT>, KeyT, AbstractSpaceT, Optional<KeyT>>) - Constructor for class proguard.analysis.cpa.defaults.LimitedHashMapAbstractState
+
+
Create a hash map abstract state from another map.
+
+
LimitedHashMapAbstractState(TriFunction<LimitedHashMap<KeyT, AbstractSpaceT>, KeyT, AbstractSpaceT, Optional<KeyT>>) - Constructor for class proguard.analysis.cpa.defaults.LimitedHashMapAbstractState
+
+
Create an empty limited hash map abstract state.
+
+
LimitedHashMapAbstractStateFactory<KeyT,​AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>> - Class in proguard.analysis.cpa.state
+
+
This interface contains a method creating a fresh instance of LimitedHashMapAbstractState.
+
+
LimitedHashMapAbstractStateFactory(TriFunction<LimitedHashMap<KeyT, AbstractSpaceT>, KeyT, AbstractSpaceT, Optional<KeyT>>) - Constructor for class proguard.analysis.cpa.state.LimitedHashMapAbstractStateFactory
+
 
+
line - Variable in class proguard.analysis.datastructure.Location
+
 
+
line - Variable in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.LineNumber
+
 
+
line(int) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Creates a new line number instance that will insert the given line number at the current + offset.
+
+
line(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Adds a source line number for the current position.
+
+
line(int, int, String) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Creates a new line number instance that will insert the given line number at the current + offset.
+
+
line(int, String) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Creates a new line number instance that will insert the given line number at the current + offset.
+
+
line(Instruction) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+ +
+
LINE_NUMBER_TABLE - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
lineNumber - Variable in class proguard.classfile.visitor.LineNumberFinder
+
 
+
lineNumber - Variable in class proguard.dexfile.ir.stmt.LabelStmt
+
 
+
LineNumber(DexLabel, int) - Constructor for class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.LineNumber
+
 
+
LineNumberFinder - Class in proguard.classfile.visitor
+
+
Retrieves the lineNumber for a given offset from a codeattribute.
+
+
LineNumberFinder(int) - Constructor for class proguard.classfile.visitor.LineNumberFinder
+
 
+
LineNumberInfo - Class in proguard.classfile.attribute
+
+
Representation of an line number table entry.
+
+
LineNumberInfo() - Constructor for class proguard.classfile.attribute.LineNumberInfo
+
+
Creates an uninitialized LineNumberInfo.
+
+
LineNumberInfo(int, int) - Constructor for class proguard.classfile.attribute.LineNumberInfo
+
+
Creates an initialized LineNumberInfo.
+
+
LineNumberInfoAdder - Class in proguard.classfile.editor
+
+
This AttributeVisitor adds the line numbers of all line number attributes that it visits + to the given target line number attribute.
+
+
LineNumberInfoAdder(LineNumberTableAttribute) - Constructor for class proguard.classfile.editor.LineNumberInfoAdder
+
+
Creates a new LineNumberInfoAdder that will copy line numbers into the given target line number + table.
+
+
LineNumberInfoVisitor - Interface in proguard.classfile.attribute.visitor
+
+
This interface specifies the methods for a visitor of LineNumberInfo instances.
+
+
LineNumberRangeFinder - Class in proguard.classfile.attribute.visitor
+
+
This LineNumberInfoVisitor remembers the lowest and the highest line numbers that it + finds in all the line numbers that it visits.
+
+
LineNumberRangeFinder() - Constructor for class proguard.classfile.attribute.visitor.LineNumberRangeFinder
+
 
+
lineNumbersAccept(Clazz, Method, CodeAttribute, LineNumberInfoVisitor) - Method in class proguard.classfile.attribute.LineNumberTableAttribute
+
+
Applies the given visitor to all line numbers.
+
+
lineNumberTable - Variable in class proguard.classfile.attribute.LineNumberTableAttribute
+
 
+
LineNumberTableAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a line number table attribute.
+
+
LineNumberTableAttribute() - Constructor for class proguard.classfile.attribute.LineNumberTableAttribute
+
+
Creates an uninitialized LineNumberTableAttribute.
+
+
LineNumberTableAttribute(int, int, LineNumberInfo[]) - Constructor for class proguard.classfile.attribute.LineNumberTableAttribute
+
+
Creates an initialized LineNumberTableAttribute.
+
+
LineNumberTableAttributeEditor - Class in proguard.classfile.editor
+
+
This class can add line numbers to a given line number table attribute.
+
+
LineNumberTableAttributeEditor(LineNumberTableAttribute) - Constructor for class proguard.classfile.editor.LineNumberTableAttributeEditor
+
+
Creates a new LineNumberTableAttributeEditor that will edit line numbers in the given line + number table attribute.
+
+
LineNumberTableAttributeTrimmer - Class in proguard.classfile.editor
+
+
This AttributeVisitor trims the line number table attributes that it visits.
+
+
LineNumberTableAttributeTrimmer() - Constructor for class proguard.classfile.editor.LineNumberTableAttributeTrimmer
+
 
+
linkPhiObject(RemoveLocalFromSSA.PhiObject, RemoveLocalFromSSA.PhiObject) - Static method in class proguard.dexfile.ir.ts.RemoveLocalFromSSA
+
 
+
ListAbstractState<AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>> - Class in proguard.analysis.cpa.defaults
+
+
This ListAbstractState represents a list of LatticeAbstractStates with the + semilattice operators lifted to the list.
+
+
ListAbstractState() - Constructor for class proguard.analysis.cpa.defaults.ListAbstractState
+
+
Create a list abstract state with initial capacity 0.
+
+
ListAbstractState(int) - Constructor for class proguard.analysis.cpa.defaults.ListAbstractState
+
+
Create a list abstract state with selected initial capacity.
+
+
listDesc(String) - Static method in class proguard.dexfile.ir.Util
+
 
+
ListFunctionParser - Class in proguard.util
+
+
This StringFunctionParser can create StringFunction instances for regular + expressions.
+
+
ListFunctionParser(StringFunctionParser) - Constructor for class proguard.util.ListFunctionParser
+
+
Creates a new ListFunctionParser that parses individual elements in the comma-separated list + with the given StringFunctionParser.
+
+
ListMatcher - Class in proguard.util
+
+
This StringMatcher tests whether strings match a given list of StringMatcher + instances.
+
+
ListMatcher(StringMatcher...) - Constructor for class proguard.util.ListMatcher
+
 
+
ListMatcher(StringMatcher[], boolean[]) - Constructor for class proguard.util.ListMatcher
+
 
+
ListParser - Class in proguard.util
+
+
This StringParser can create StringMatcher instances for regular expressions.
+
+
ListParser(StringParser) - Constructor for class proguard.util.ListParser
+
+
Creates a new ListParser that parses individual elements in the comma-separated list with the + given StringParser.
+
+
listToString(List<String>) - Static method in class proguard.util.StringUtil
+
+
Converts a List of Strings to a nicely readable format.
+
+
ListUtil - Class in proguard.util
+
+
This class provides some utility methods for working with java.util.List instances.
+
+
ListUtil() - Constructor for class proguard.util.ListUtil
+
 
+
LiteralValue(T) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.LiteralValue
+
 
+
LiveA(IrMethod) - Constructor for class proguard.dexfile.ir.ts.UnSSATransformer.LiveA
+
 
+
LivenessAnalyzer - Class in proguard.evaluation
+
+
This AttributeVisitor analyzes the liveness of the variables in the code attributes that + it visits, based on partial evaluation.
+
+
LivenessAnalyzer() - Constructor for class proguard.evaluation.LivenessAnalyzer
+
+
Creates a new LivenessAnalyzer.
+
+
LivenessAnalyzer(PartialEvaluator, boolean, InitializationFinder, boolean) - Constructor for class proguard.evaluation.LivenessAnalyzer
+
+
Creates a new LivenessAnalyzer that will use the given partial evaluator and initialization + finder.
+
+
lload(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lload(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lload(int) - Method in class proguard.evaluation.Variables
+
+
Loads the LongValue from the variable with the given index.
+
+
lload_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lload_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lload_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lload_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lload_2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lload_2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lload_3() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lload_3() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lmul() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lmul() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lneg() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lneg() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
load(int) - Method in class proguard.evaluation.Variables
+
+
Loads the Value from the variable with the given index.
+
+
load(int, char) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Loads the given variable of primitive type onto the stack.
+
+
load(int, char) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Loads the given variable of primitive type onto the stack.
+
+
load(int, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Loads the given variable onto the stack.
+
+
load(int, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Loads the given variable onto the stack.
+
+
loadFromArray(String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Loads an element from an array.
+
+
Local - Class in proguard.dexfile.ir.expr
+
+
TODO DOC
+
+
Local() - Constructor for class proguard.dexfile.ir.expr.Local
+
 
+
Local(int) - Constructor for class proguard.dexfile.ir.expr.Local
+
 
+
Local(int, String) - Constructor for class proguard.dexfile.ir.expr.Local
+
 
+
Local(String) - Constructor for class proguard.dexfile.ir.expr.Local
+
 
+
LOCAL - proguard.dexfile.ir.expr.Value.VT
+
 
+
LOCAL_COMPARATOR - Static variable in class proguard.dexfile.ir.ts.RemoveConstantFromSSA
+
 
+
LOCAL_END - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
LOCAL_START - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
LOCAL_VARIABLE_TABLE - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
LOCAL_VARIABLE_TYPE_TABLE - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
localDelegatedProperties - Variable in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
locals - Variable in class proguard.dexfile.ir.IrMethod
+
 
+
localSize - Variable in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
LocalVar - Class in proguard.dexfile.ir
+
 
+
LocalVar(String, String, String, LabelStmt, LabelStmt, Local) - Constructor for class proguard.dexfile.ir.LocalVar
+
 
+
LOCALVAR_REFERENCE_CLASS_NAME - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
LocalVariableInfo - Class in proguard.classfile.attribute
+
+
Representation of a local variable table entry.
+
+
LocalVariableInfo() - Constructor for class proguard.classfile.attribute.LocalVariableInfo
+
+
Creates an uninitialized LocalVariableInfo.
+
+
LocalVariableInfo(int, int, int, int, int) - Constructor for class proguard.classfile.attribute.LocalVariableInfo
+
+
Creates an initialized LocalVariableInfo.
+
+
LocalVariableInfoAdder - Class in proguard.classfile.editor
+
+
This LocalVariableInfoVisitor adds all local variables that it visits to the given target + local variable table attribute.
+
+
LocalVariableInfoAdder(ProgramClass, LocalVariableTableAttribute) - Constructor for class proguard.classfile.editor.LocalVariableInfoAdder
+
+
Creates a new LocalVariableInfoAdder that will copy local variables into the given target local + variable table.
+
+
LocalVariableInfoVisitor - Interface in proguard.classfile.attribute.visitor
+
+
This interface specifies the methods for a visitor of LocalVariableInfo instances.
+
+
LocalVariableReferenceInfo - Class in proguard.classfile.kotlin.reflect
+
 
+
LocalVariableReferenceInfo(Clazz, KotlinDeclarationContainerMetadata, String, String) - Constructor for class proguard.classfile.kotlin.reflect.LocalVariableReferenceInfo
+
 
+
localVariables - Variable in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
 
+
localVariablesAccept(Clazz, Method, CodeAttribute, LocalVariableInfoVisitor) - Method in class proguard.classfile.attribute.LocalVariableTableAttribute
+
+
Applies the given visitor to all local variables.
+
+
localVariablesAccept(Clazz, Method, CodeAttribute, LocalVariableTypeInfoVisitor) - Method in class proguard.classfile.attribute.LocalVariableTypeTableAttribute
+
+
Applies the given visitor to all local variable types.
+
+
localVariableTable - Variable in class proguard.classfile.attribute.LocalVariableTableAttribute
+
 
+
LocalVariableTableAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a local variable table attribute.
+
+
LocalVariableTableAttribute() - Constructor for class proguard.classfile.attribute.LocalVariableTableAttribute
+
+
Creates an uninitialized LocalVariableTableAttribute.
+
+
LocalVariableTableAttribute(int, int, LocalVariableInfo[]) - Constructor for class proguard.classfile.attribute.LocalVariableTableAttribute
+
+
Creates an initialized LocalVariableTableAttribute.
+
+
LocalVariableTableAttributeEditor - Class in proguard.classfile.editor
+
+
This class can add local variables to a given local variable table attribute.
+
+
LocalVariableTableAttributeEditor(LocalVariableTableAttribute) - Constructor for class proguard.classfile.editor.LocalVariableTableAttributeEditor
+
+
Creates a new LocalVariableTableAttributeEditor that will edit local variables in the given + local variable table attribute.
+
+
LocalVariableTargetElement - Class in proguard.classfile.attribute.annotation.target
+
+
Representation of an local variable target table entry.
+
+
LocalVariableTargetElement() - Constructor for class proguard.classfile.attribute.annotation.target.LocalVariableTargetElement
+
+
Creates an uninitialized LocalVariableTargetElement.
+
+
LocalVariableTargetElement(int, int, int) - Constructor for class proguard.classfile.attribute.annotation.target.LocalVariableTargetElement
+
+
Creates an initialized LocalVariableTargetElement.
+
+
LocalVariableTargetElementVisitor - Interface in proguard.classfile.attribute.annotation.target.visitor
+
+
This interface specifies the methods for a visitor of LocalVariableTargetElement + instances.
+
+
LocalVariableTargetInfo - Class in proguard.classfile.attribute.annotation.target
+
+
Representation of a local variable annotation target.
+
+
LocalVariableTargetInfo() - Constructor for class proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo
+
+
Creates an uninitialized LocalVariableTargetInfo.
+
+
LocalVariableTargetInfo(byte) - Constructor for class proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo
+
+
Creates a partially initialized LocalVariableTargetInfo.
+
+
LocalVariableTargetInfo(byte, int, LocalVariableTargetElement[]) - Constructor for class proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo
+
+
Creates an initialized LocalVariableTargetInfo.
+
+
LocalVariableTypeInfo - Class in proguard.classfile.attribute
+
+
Representation of a local variable table type entry.
+
+
LocalVariableTypeInfo() - Constructor for class proguard.classfile.attribute.LocalVariableTypeInfo
+
+
Creates an uninitialized LocalVariableTypeInfo.
+
+
LocalVariableTypeInfo(int, int, int, int, int) - Constructor for class proguard.classfile.attribute.LocalVariableTypeInfo
+
+
Creates an initialized LocalVariableTypeInfo.
+
+
LocalVariableTypeInfoAdder - Class in proguard.classfile.editor
+
+
This LocalVariableTypeInfoVisitor adds all local variable types that it visits to the + given target local variable type attribute.
+
+
LocalVariableTypeInfoAdder(ProgramClass, LocalVariableTypeTableAttribute) - Constructor for class proguard.classfile.editor.LocalVariableTypeInfoAdder
+
+
Creates a new LocalVariableTypeInfoAdder that will copy local variable types into the given + target local variable type table.
+
+
LocalVariableTypeInfoVisitor - Interface in proguard.classfile.attribute.visitor
+
+
This interface specifies the methods for a visitor of LocalVariableTypeInfo instances.
+
+
localVariableTypeTable - Variable in class proguard.classfile.attribute.LocalVariableTypeTableAttribute
+
 
+
LocalVariableTypeTableAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a local variable table type attribute.
+
+
LocalVariableTypeTableAttribute() - Constructor for class proguard.classfile.attribute.LocalVariableTypeTableAttribute
+
+
Creates an uninitialized LocalVariableTypeTableAttribute.
+
+
LocalVariableTypeTableAttribute(int, int, LocalVariableTypeInfo[]) - Constructor for class proguard.classfile.attribute.LocalVariableTypeTableAttribute
+
+
Creates an initialized LocalVariableTypeTableAttribute.
+
+
LocalVariableTypeTableAttributeEditor - Class in proguard.classfile.editor
+
+
This class can add local variables to a given local variable type table attribute.
+
+
LocalVariableTypeTableAttributeEditor(LocalVariableTypeTableAttribute) - Constructor for class proguard.classfile.editor.LocalVariableTypeTableAttributeEditor
+
+
Creates a new LocalVariableTypeTableAttributeEditor that will edit local variable types in the + given local variable type table attribute.
+
+
Location - Class in proguard.analysis.datastructure
+
+
Helper data structure that makes it possible to identify specific places inside a program, either + inside the bytecode (CodeLocation) or some other file, e.g.
+
+
Location(int) - Constructor for class proguard.analysis.datastructure.Location
+
 
+
LOCK - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
log - Static variable in interface proguard.evaluation.value.object.model.reflective.ReflectiveModel
+
 
+
LONG - proguard.dexfile.ir.TypeClass
+
 
+
LONG - Static variable in class proguard.classfile.constant.Constant
+
 
+
LONG - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
LONG - Static variable in class proguard.classfile.TypeConstants
+
 
+
LONG_A_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
LONG_B_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
LONG_TO_DOUBLE - proguard.dexfile.reader.Op
+
 
+
LONG_TO_FLOAT - proguard.dexfile.reader.Op
+
 
+
LONG_TO_INT - proguard.dexfile.reader.Op
+
 
+
LONG_TYPE - Static variable in class proguard.classfile.attribute.preverification.VerificationType
+
 
+
LONG_VALUE - Static variable in class proguard.evaluation.value.BasicValueFactory
+
 
+
longArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
longArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the value of the array at the given index, assuming this type is an long array.
+
+
longArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
longArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
LongConstant - Class in proguard.classfile.constant
+
+
This Constant represents a long constant in the constant pool.
+
+
LongConstant() - Constructor for class proguard.classfile.constant.LongConstant
+
+
Creates an uninitialized LongConstant.
+
+
LongConstant(long) - Constructor for class proguard.classfile.constant.LongConstant
+
+
Creates a new LongConstant with the given long value.
+
+
LongType - Class in proguard.classfile.attribute.preverification
+
+
This VerificationType represents a Long type.
+
+
LongType() - Constructor for class proguard.classfile.attribute.preverification.LongType
+
 
+
longValue() - Method in class proguard.evaluation.value.LongValue
+
 
+
longValue() - Method in class proguard.evaluation.value.TracingValue
+
 
+
longValue() - Method in class proguard.evaluation.value.Value
+
+
Returns this Value as a LongValue.
+
+
LongValue - Class in proguard.evaluation.value
+
+
Representation of a partially evaluated long value.
+
+
LongValue() - Constructor for class proguard.evaluation.value.LongValue
+
 
+
LongValue(long) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.LongValue
+
 
+
LOOKUP_SWITCH - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
lookupswitch(int, int[], int[]) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lookupswitch(CompactCodeAttributeComposer.Label, int[], CompactCodeAttributeComposer.Label[]) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
LookUpSwitchInstruction - Class in proguard.classfile.instruction
+
+
This Instruction represents a lookup switch instruction.
+
+
LookUpSwitchInstruction() - Constructor for class proguard.classfile.instruction.LookUpSwitchInstruction
+
+
Creates an uninitialized LookUpSwitchInstruction.
+
+
LookUpSwitchInstruction(byte, int, int[], int[]) - Constructor for class proguard.classfile.instruction.LookUpSwitchInstruction
+
+
Creates a new LookUpSwitchInstruction with the given arguments.
+
+
LookupSwitchStmt - Class in proguard.dexfile.ir.stmt
+
+
Represent a LOOKUP_SWITCH statement
+
+
LookupSwitchStmt(Value, int[], LabelStmt[], LabelStmt) - Constructor for class proguard.dexfile.ir.stmt.LookupSwitchStmt
+
 
+
lookupValues - Variable in class proguard.dexfile.ir.stmt.LookupSwitchStmt
+
 
+
lor() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lor() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lowCase - Variable in class proguard.classfile.instruction.TableSwitchInstruction
+
 
+
lowIndex - Variable in class proguard.dexfile.ir.stmt.TableSwitchStmt
+
 
+
lpop() - Method in class proguard.evaluation.Stack
+
+
Pops the top LongValue from the stack.
+
+
lrem() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lrem() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lreturn() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lreturn() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lshl() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lshl() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lshr() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lshr() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lstore(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lstore(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lstore_0() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lstore_0() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lstore_1() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lstore_1() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lstore_2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lstore_2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lstore_3() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lstore_3() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lsub() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lsub() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
LT - proguard.dexfile.ir.expr.Value.VT
+
 
+
lushr() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lushr() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
lxor() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lxor() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
+ + + +

M

+
+
M - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
M - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
MAGIC - Static variable in class proguard.classfile.VersionConstants
+
 
+
main(String[]) - Static method in class proguard.classfile.editor.ClassBuilder
+
+
Small sample application that illustrates the use of this class.
+
+
main(String[]) - Static method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Small sample application that illustrates the use of this class.
+
+
main(String[]) - Static method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Small sample application that illustrates the use of this class.
+
+
main(String[]) - Static method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Small sample application that illustrates the use of this class.
+
+
main(String[]) - Static method in class proguard.classfile.editor.MemberAdder
+
+
This main method illustrates and tests the class, by reading an input class file and copying + its class members into a new class that it writes to an output class file.
+
+
main(String[]) - Static method in class proguard.classfile.util.DescriptorClassEnumeration
+
+
A main method for testing the class name enumeration.
+
+
main(String[]) - Static method in class proguard.classfile.util.InstructionSequenceMatcher
+
+
Small sample application that illustrates the use of this class.
+
+
main(String[]) - Static method in class proguard.classfile.util.InternalTypeEnumeration
+
+
A main method for testing the type enumeration.
+
+
main(String[]) - Static method in class proguard.examples.AnalyzeTaints
+
 
+
main(String[]) - Static method in class proguard.examples.ApplyPeepholeOptimizations
+
 
+
main(String[]) - Static method in class proguard.examples.CreateHelloWorldClass
+
 
+
main(String[]) - Static method in class proguard.examples.CyclomaticComplexity
+
 
+
main(String[]) - Static method in class proguard.examples.EvaluateCode
+
 
+
main(String[]) - Static method in class proguard.examples.FindBranches
+
 
+
main(String[]) - Static method in class proguard.examples.instrument.AddMethodInvocationLogging
+
 
+
main(String[]) - Static method in class proguard.examples.instrument.DebugStackTop
+
 
+
main(String[]) - Static method in class proguard.examples.instrument.DebugStackTopExample
+
 
+
main(String[]) - Static method in class proguard.examples.modify.EditClass
+
 
+
main(String[]) - Static method in class proguard.examples.modify.ReplaceSimpleConstantInstruction
+
 
+
main(String[]) - Static method in class proguard.examples.Preverify
+
 
+
main(String[]) - Static method in class proguard.examples.PrintClasses
+
 
+
main(String[]) - Static method in class proguard.examples.RemoveLogging
+
 
+
main(String[]) - Static method in class proguard.examples.TransformExample
+
 
+
main(String[]) - Static method in class proguard.examples.VisualizeCfa
+
 
+
main(String[]) - Static method in class proguard.examples.VisualizeControlFlow
+
 
+
main(String[]) - Static method in class proguard.io.ClassReader
+
+
This main method illustrates the use of this class.
+
+
main(String[]) - Static method in class proguard.io.DataEntryCopier
+
+
A main method for testing file/archive/directory copying.
+
+
main(String[]) - Static method in class proguard.io.DexClassReader
+
+
This main method illustrates and tests the class.
+
+
main(String[]) - Static method in class proguard.io.JarWriter
+
+
Provides a simple test for this class, creating a signed apk file (only v1) with the given name + and a few aligned/compressed/uncompressed zip entries.
+
+
main(String[]) - Static method in class proguard.io.SignedJarWriter
+
+
Provides a simple test for this class, creating a signed apk file (only v1) with the given name + and a few aligned/compressed/uncompressed zip entries.
+
+
main(String[]) - Static method in class proguard.io.ZipOutput
+
+
Provides a simple test for this class, creating a zip file with the given name and a few + aligned/compressed/uncompressed zip entries.
+
+
main(String[]) - Static method in class proguard.util.ClassNameParser
+
+
A main method for testing class name matching.
+
+
main(String[]) - Static method in class proguard.util.FileNameParser
+
+
A main method for testing file name matching.
+
+
main(String[]) - Static method in class proguard.util.ListFunctionParser
+
+
A main method for testing name matching and replacement.
+
+
main(String[]) - Static method in class proguard.util.ListParser
+
+
A main method for testing name matching.
+
+
main(String[]) - Static method in class proguard.util.ListUtil
+
 
+
main(String[]) - Static method in class proguard.util.NameParser
+
+
A main method for testing name matching.
+
+
main(String[]) - Static method in class proguard.util.SingleFunctionParser
+
+
A main method for testing name matching and replacement.
+
+
MAIN_DEX_LIST_TXT - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
mainClassAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.module.ModuleMainClassAttribute
+
+
Applies the given constant pool visitor to the class constant of the main class, if any.
+
+
mainSignature - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
major - Variable in class proguard.classfile.kotlin.KotlinMetadataVersion
+
 
+
major - Variable in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
MANDATED - Static variable in class proguard.classfile.AccessConstants
+
 
+
MANDATED - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
manifestEntryWriter - Variable in class proguard.io.JarWriter
+
 
+
ManifestRewriter - Class in proguard.io
+
+
This DataEntryReader writes the manifest data entries that it reads to a given DataEntryWriter, updating their contents based on the renamed classes in the given ClassPool.
+
+
ManifestRewriter(ClassPool, Charset, DataEntryWriter) - Constructor for class proguard.io.ManifestRewriter
+
+
Creates a new ManifestRewriter.
+
+
map(Local) - Method in class proguard.dexfile.ir.LabelAndLocalMapper
+
 
+
map(LabelStmt) - Method in class proguard.dexfile.ir.LabelAndLocalMapper
+
 
+
MapAbstractState<KeyT,​AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>> - Interface in proguard.analysis.cpa.defaults
+
 
+
MapAbstractStateFactory<KeyT,​StateT extends LatticeAbstractState<StateT>> - Interface in proguard.analysis.cpa.state
+
+
This interface contains a method creating a fresh instance of MapAbstractState.
+
+
MapStringFunction - Class in proguard.util
+
+
This StringFunction gets its transformed strings from a given map.
+
+
MapStringFunction(Map) - Constructor for class proguard.util.MapStringFunction
+
+
Creates a new MapStringFunction based on the given map.
+
+
MapStringFunction(Map, String) - Constructor for class proguard.util.MapStringFunction
+
+
Creates a new MapStringFunction based on the given map, with a default string for strings that + are not in the map.
+
+
markUsed() - Method in class proguard.dexfile.ir.ts.an.SimpleLiveAnalyze
+
 
+
markUsed() - Method in class proguard.dexfile.ir.ts.UnSSATransformer.LiveA
+
 
+
matchCfaEdge(JvmCfaEdge) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink
+
+
Returns true if the edge is a call to the sink method.
+
+
matchCfaEdge(JvmCfaEdge) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmReturnTaintSink
+
+
Returns true on the return edge of the sink method.
+
+
matchCfaEdge(JvmCfaEdge) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSink
+
+
Returns whether the sink matches a given CFA edge.
+
+
matchedArgument(int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
matchedArgument(int) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
+
Returns the value of the specified matched argument (wildcard or not).
+
+
matchedArgument(Clazz, int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer
+
+
Returns the matched argument for the given pattern argument.
+
+
matchedArgument(Clazz, Method, CodeAttribute, int, int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer
+
+
Returns the matched argument for the given pattern argument.
+
+
matchedArguments(int[]) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
+
Returns the values of the specified matched arguments (wildcard or not).
+
+
matchedBranchOffset(int, int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer
+
+
Returns the value of the specified matched branch offset.
+
+
matchedBranchOffset(int, int) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
+
Returns the value of the specified matched branch offset (wildcard or not).
+
+
matchedConstant(ProgramClass, int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
matchedConstantIndex(int) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
+
Returns the index of the specified matched constant (wildcard or not).
+
+
matchedConstantIndex(ProgramClass, int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer
+
+
Returns the matched or newly created constant index for the given pattern constant index.
+
+
matchedInstructionOffset(int) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
+
Returns the matched instruction offset of the specified pattern instruction.
+
+
matchedJumpOffsets(int, int[]) - Method in class proguard.classfile.editor.InstructionSequenceReplacer
+
+
Returns the values of the specified matched jump offsets.
+
+
matchedJumpOffsets(int, int[]) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
+
Returns the values of the specified matched jump offsets (wildcard or not).
+
+
MatchedStringFunction - Class in proguard.util
+
+
This StringFunction returns the most recently matched string of a given VariableStringMatcher.
+
+
MatchedStringFunction(VariableStringMatcher) - Constructor for class proguard.util.MatchedStringFunction
+
+
Creates a new MatchedStringFunction with the given variable string matcher.
+
+
MatchedStringMatcher - Class in proguard.util
+
+
This StringMatcher tests whether strings start with a specified variable string and then + match another optional given StringMatcher.
+
+
MatchedStringMatcher(VariableStringMatcher, StringMatcher) - Constructor for class proguard.util.MatchedStringMatcher
+
+
Creates a new MatchedStringMatcher
+
+
matches(String) - Method in class proguard.util.CollectionMatcher
+
 
+
matches(String) - Method in class proguard.util.StringMatcher
+
+
Checks whether the given string matches.
+
+
matches(String) - Method in class proguard.util.TransformedStringMatcher
+
 
+
matches(String, int, int) - Method in class proguard.util.AndMatcher
+
 
+
matches(String, int, int) - Method in class proguard.util.CollectionMatcher
+
 
+
matches(String, int, int) - Method in class proguard.util.ConstantMatcher
+
 
+
matches(String, int, int) - Method in class proguard.util.EmptyStringMatcher
+
 
+
matches(String, int, int) - Method in class proguard.util.ExtensionMatcher
+
 
+
matches(String, int, int) - Method in class proguard.util.FixedStringMatcher
+
 
+
matches(String, int, int) - Method in class proguard.util.ListMatcher
+
 
+
matches(String, int, int) - Method in class proguard.util.MatchedStringMatcher
+
 
+
matches(String, int, int) - Method in class proguard.util.NotMatcher
+
 
+
matches(String, int, int) - Method in class proguard.util.OrMatcher
+
 
+
matches(String, int, int) - Method in class proguard.util.SettableMatcher
+
 
+
matches(String, int, int) - Method in class proguard.util.StringMatcher
+
+
Checks whether the given substring matches.
+
+
matches(String, int, int) - Method in class proguard.util.TransformedStringMatcher
+
 
+
matches(String, int, int) - Method in class proguard.util.VariableStringMatcher
+
 
+
matchesArrayInitialization(Clazz, Method, CodeAttribute, int, SimpleInstruction) - Method in class proguard.classfile.util.ArrayInitializationMatcher
+
+
Returns whether the code fragment starting at the specified newarray instruction is followed by + a static array initialization.
+
+
matchesIgnoreNull(MethodDescriptor, MethodDescriptor) - Static method in class proguard.classfile.MethodDescriptor
+
+
Analogous to {@link MethodSignature.matchesIgnoreNull(MethodSignature, MethodSignature)}.
+
+
matchesIgnoreNull(MethodSignature, MethodSignature) - Static method in class proguard.classfile.MethodSignature
+
+
Fuzzy check if two MethodSignature objects are equal.
+
+
matchesIgnoreNullAndDollar(MethodDescriptor, MethodDescriptor) - Static method in class proguard.classfile.MethodDescriptor
+
+
Analogous to {@link MethodSignature.matchesIgnoreNullAndDollar(MethodSignature, + MethodSignature)}.
+
+
matchesIgnoreNullAndDollar(MethodSignature, MethodSignature) - Static method in class proguard.classfile.MethodSignature
+
+
Fuzzy check like {@link .matchesIgnoreNull(MethodSignature)} but allows dollar signs in type + strings.
+
+
matchingArguments(int[], int[]) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
matchingArguments(int, int) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
matchingBranchOffsets(int, int, int) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
matchingConstant - Variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
matchingConstantIndices(Clazz, int, int) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
matchingJumpOffsets(int, int[], int[]) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
matchingOpcodes(Instruction, Instruction) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
MatchingStringFunction - Class in proguard.util
+
+
This StringFunction returns unchanged strings or null, depending on whether a given + string matcher matches the strings.
+
+
MatchingStringFunction(StringMatcher) - Constructor for class proguard.util.MatchingStringFunction
+
+
Creates a new MatchingStringFunction with the given string matcher.
+
+
MAX_DEPTH_DEFAULT - Static variable in class proguard.util.CallGraphWalker
+
+
Call graph strands are no longer explored after a maximum distance from the original root.
+
+
MAX_STACK_SIZE_COMPUTER_ERROR - Static variable in class proguard.exception.ErrorId
+
 
+
MAX_SUPPORTED_VERSION - Static variable in class proguard.classfile.VersionConstants
+
 
+
MAX_WIDTH_DEFAULT - Static variable in class proguard.util.CallGraphWalker
+
+
Once the call graph reaches a maximum width, no more nodes are added to the worklist of the + next level.
+
+
maxCallStackDepth - Variable in class proguard.analysis.cpa.defaults.BamCpaRun.Builder
+
 
+
maximumValue() - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns the maximum value from this list of instruction offsets.
+
+
MaxStackSizeComputer - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor computes the maximum stack size of the code attributes that it + visits.
+
+
MaxStackSizeComputer() - Constructor for class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
 
+
MaxStackSizeComputer(MaxStackSizeComputer.StackSizeConsumer) - Constructor for class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
 
+
MaxStackSizeComputer.StackSizeConsumer - Interface in proguard.classfile.attribute.visitor
+
+
A consumer of before/after stack sizes at each offset evaluated by the MaxStackSizeComputer.
+
+
MAY_THROW - Static variable in class proguard.dexfile.ir.expr.Value
+
 
+
MAY_THROW - Static variable in class proguard.dexfile.ir.stmt.Stmt
+
 
+
MAYBE - Static variable in class proguard.evaluation.value.Value
+
 
+
mayBeExtension - Variable in class proguard.evaluation.value.TypedReferenceValue
+
 
+
mayBeExtension() - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
mayBeExtension() - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether the actual type of this ReferenceValue may be an extension of its type.
+
+
mayBeExtension() - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
mayBeExtension() - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
mayBeExtension() - Method in class proguard.evaluation.value.UnknownReferenceValue
+
 
+
mayBeNull - Variable in class proguard.evaluation.value.TypedReferenceValue
+
 
+
mayBeUnknown - Variable in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
mayHaveImplementations(Method) - Method in interface proguard.classfile.Clazz
+
+
Returns whether the given method may possibly have implementing or overriding methods down the + class hierarchy.
+
+
mayHaveImplementations(Method) - Method in class proguard.classfile.LibraryClass
+
 
+
mayHaveImplementations(Method) - Method in class proguard.classfile.ProgramClass
+
 
+
mayInstanceThrowExceptions(Clazz) - Method in class proguard.classfile.instruction.ConstantInstruction
+
+
Returns whether a particular instance of an instruction may throw an exception.
+
+
mayInstanceThrowExceptions(Clazz) - Method in class proguard.classfile.instruction.Instruction
+
+
Returns whether a particular instance of an instruction may throw exceptions.
+
+
mayThrow() - Method in enum proguard.dexfile.ir.expr.Value.VT
+
 
+
mayThrow() - Method in enum proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
mayThrowExceptions() - Method in class proguard.classfile.instruction.Instruction
+
+
Returns whether the instruction may conservatively throw exceptions.
+
+
member - Variable in class proguard.analysis.datastructure.CodeLocation
+
 
+
member - Variable in class proguard.classfile.kotlin.reflect.JavaReferenceInfo
+
 
+
Member - Interface in proguard.classfile
+
+
Representation of a class member (field or method).
+
+
MemberAccessFilter - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates its visits to another given MemberVisitor, but only + when the visited member has the proper access flags.
+
+
MemberAccessFilter(int, int, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberAccessFilter
+
+
Creates a new MemberAccessFilter.
+
+
MemberAccessFilter(int, int, MemberVisitor, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberAccessFilter
+
+
Creates a new MemberAccessFilter.
+
+
MemberAccessFlagCleaner - Class in proguard.classfile.visitor
+
+
This ClassVisitor and MemberVisitor clears the specified access flags of the + classes and class members that its visits.
+
+
MemberAccessFlagCleaner(int) - Constructor for class proguard.classfile.visitor.MemberAccessFlagCleaner
+
+
Creates a new MemberAccessFlagCleaner.
+
+
MemberAccessFlagSetter - Class in proguard.classfile.visitor
+
+
This MemberVisitor sets the specified access flags of the program class members that it + visits.
+
+
MemberAccessFlagSetter(int) - Constructor for class proguard.classfile.visitor.MemberAccessFlagSetter
+
+
Creates a new MemberAccessFlagSetter.
+
+
MemberAccessSetter - Class in proguard.classfile.visitor
+
+
This MemberVisitor sets the access part of the access flags of the program class members + that its visits to a given value.
+
+
MemberAccessSetter(int) - Constructor for class proguard.classfile.visitor.MemberAccessSetter
+
+
Creates a new MemberAccessSetter.
+
+
MemberAdder - Class in proguard.classfile.editor
+
+
This MemberVisitor copies all class members that it visits to the given target class.
+
+
MemberAdder(ProgramClass) - Constructor for class proguard.classfile.editor.MemberAdder
+
+
Creates a new MemberAdder that will copy methods into the given target class.
+
+
MemberAdder(ProgramClass, MemberVisitor) - Constructor for class proguard.classfile.editor.MemberAdder
+
+
Creates a new MemberAdder that will copy methods into the given target class.
+
+
MemberAdder(ProgramClass, StringFunction, MemberVisitor) - Constructor for class proguard.classfile.editor.MemberAdder
+
+
Creates a new MemberAdder that will copy methods into the given target class.
+
+
MemberClassAccessFilter - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates its visits to another given MemberVisitor, but only + when the visited member is accessible from the given referencing class.
+
+
MemberClassAccessFilter(Clazz, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberClassAccessFilter
+
+
Creates a new MemberAccessFilter.
+
+
memberClassConstantsAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.NestMembersAttribute
+
+
Applies the given visitor to all member class constants.
+
+
MemberCollectionFilter - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates its visits to one of two other visitors, depending on whether the + member is present in the given member collection or not.
+
+
MemberCollectionFilter(Set<? extends Member>, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberCollectionFilter
+
+
Creates a new MemberCollectionFilter.
+
+
MemberCollectionFilter(Set<? extends Member>, MemberVisitor, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberCollectionFilter
+
+
Creates a new MemberCollectionFilter.
+
+
MemberCollector - Class in proguard.classfile.visitor
+
+
This MemberVisitor collects dot-separated classname.membername.descriptor strings of the + class members that it visits.
+
+
MemberCollector(boolean, boolean, boolean, Set<String>) - Constructor for class proguard.classfile.visitor.MemberCollector
+
+
Creates a new MemberCollector.
+
+
MemberCounter - Class in proguard.classfile.visitor
+
+
This MemberVisitor counts the number of class members that have been visited.
+
+
MemberCounter() - Constructor for class proguard.classfile.visitor.MemberCounter
+
 
+
MemberDescriptorFilter - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates its visits to another given MemberVisitor, but only + when the visited member has a descriptor that matches a given regular expression.
+
+
MemberDescriptorFilter(String, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberDescriptorFilter
+
+
Creates a new MemberDescriptorFilter.
+
+
MemberDescriptorFilter(String, WildcardManager, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberDescriptorFilter
+
+
Creates a new MemberDescriptorFilter.
+
+
MemberDescriptorFilter(StringMatcher, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberDescriptorFilter
+
+
Creates a new MemberDescriptorFilter.
+
+
MemberDescriptorReferencedClassVisitor - Class in proguard.classfile.visitor
+
+
This MemberVisitor lets a given ClassVisitor visit all the classes referenced by + the descriptors of the class members that it visits.
+
+
MemberDescriptorReferencedClassVisitor(boolean, ClassVisitor) - Constructor for class proguard.classfile.visitor.MemberDescriptorReferencedClassVisitor
+
 
+
MemberDescriptorReferencedClassVisitor(ClassVisitor) - Constructor for class proguard.classfile.visitor.MemberDescriptorReferencedClassVisitor
+
 
+
MemberFinder - Class in proguard.classfile.util
+
+
This utility class provides methods to find class members in a given class or in its hierarchy.
+
+
MemberFinder() - Constructor for class proguard.classfile.util.MemberFinder
+
+
Creates a new MemberFinder that looks in the class hierarchy.
+
+
MemberFinder(boolean) - Constructor for class proguard.classfile.util.MemberFinder
+
+
Creates a new MemberFinder that looks in the class hierarchy if specified.
+
+
memberName - Variable in class proguard.classfile.FieldSignature
+
 
+
MemberNameFilter - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates its visits to another given MemberVisitor, but only + when the visited member has a name that matches a given regular expression.
+
+
MemberNameFilter(String, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberNameFilter
+
+
Creates a new MemberNameFilter.
+
+
MemberNameFilter(String, WildcardManager, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberNameFilter
+
+
Creates a new MemberNameFilter.
+
+
MemberNameFilter(StringMatcher, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberNameFilter
+
+
/** Creates a new MemberNameFilter.
+
+
MemberProcessingFlagFilter - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates its visits to another given MemberVisitor, but only + when the visited member has the proper processing flags.
+
+
MemberProcessingFlagFilter(int, int, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberProcessingFlagFilter
+
+
Creates a new MemberProcessingFlagFilter.
+
+
MemberProcessingFlagFilter(int, int, MemberVisitor, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberProcessingFlagFilter
+
+
Creates a new MemberProcessingFlagFilter.
+
+
MemberReferenceFixer - Class in proguard.classfile.editor
+
+
This ClassVisitor fixes constant pool field and method references to fields and methods + whose names or descriptors have changed.
+
+
MemberReferenceFixer(boolean) - Constructor for class proguard.classfile.editor.MemberReferenceFixer
+
+
Creates a new MemberReferenceFixer.
+
+
MemberRemover - Class in proguard.classfile.editor
+
+
This visitor removes all members it visits in a ProgramClass.
+
+
MemberRemover() - Constructor for class proguard.classfile.editor.MemberRemover
+
 
+
MemberRenamer - Class in proguard.classfile.util
+
+
This MemberVisitor renames the class member names of the classes it visits.
+
+
MemberRenamer(BiFunction<Clazz, Member, String>) - Constructor for class proguard.classfile.util.MemberRenamer
+
 
+
MemberRenamer(BiFunction<Clazz, Member, String>, MemberVisitor) - Constructor for class proguard.classfile.util.MemberRenamer
+
 
+
MemberRenamer(Function<Clazz, String>, MemberVisitor) - Constructor for class proguard.classfile.util.MemberRenamer
+
 
+
MemberToClassVisitor - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates all visits to a given ClassVisitor.
+
+
MemberToClassVisitor(ClassVisitor) - Constructor for class proguard.classfile.visitor.MemberToClassVisitor
+
 
+
MemberToKotlinPropertyVisitor - Class in proguard.classfile.kotlin.visitor
+
+
Apply the given KotlinPropertyVisitor if the member is a backing field, getter or setter + for a property.
+
+
MemberToKotlinPropertyVisitor(KotlinPropertyVisitor) - Constructor for class proguard.classfile.kotlin.visitor.MemberToKotlinPropertyVisitor
+
 
+
MemberViewModel - Class in proguard.classfile.util.renderer
+
+
This utility class serves as a base class for FieldViewModel and MethodViewModel.
+
+
MemberViewModel(Clazz, Member) - Constructor for class proguard.classfile.util.renderer.MemberViewModel
+
+
A constructor to keep track of the Member object to be rendered and its associated + Clazz
+
+
MemberViewModel.Pair<K,​V> - Class in proguard.classfile.util.renderer
+
+
A utility class for keeping track of pairs, e.g.Clazz and Member
+
+
memberVisitor - Variable in class proguard.classfile.visitor.ReferencedMemberVisitor
+
 
+
MemberVisitor - Interface in proguard.classfile.visitor
+
+
This interface specifies the methods for a visitor of ProgramMember instances and LibraryMember instances.
+
+
merge(K, V, BiFunction<? super V, ? super V, ? extends V>) - Method in class proguard.analysis.cpa.defaults.LimitedHashMap
+
 
+
merge(AbstractState, AbstractState, Precision) - Method in class proguard.analysis.cpa.defaults.MergeJoinOperator
+
 
+
merge(AbstractState, AbstractState, Precision) - Method in class proguard.analysis.cpa.defaults.MergeSepOperator
+
 
+
merge(AbstractState, AbstractState, Precision) - Method in interface proguard.analysis.cpa.interfaces.MergeOperator
+
+
The operator uses the abstractState1 to weaken abstractState2 depending on + precision.
+
+
merge(AbstractState, AbstractState, Precision) - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationMergeJoinOperator
+
 
+
merge(SimpleLiveValue[], SimpleLiveValue[], Stmt, Stmt) - Method in class proguard.dexfile.ir.ts.an.SimpleLiveAnalyze
+
 
+
merge(TypeTransformer.TypeRef) - Method in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
merge(UnSSATransformer.LiveV[], UnSSATransformer.LiveV[], Stmt, Stmt) - Method in class proguard.dexfile.ir.ts.UnSSATransformer.LiveA
+
 
+
merge(TypeClass, TypeClass) - Static method in enum proguard.dexfile.ir.TypeClass
+
 
+
merge(T, T, Stmt, Stmt) - Method in interface proguard.dexfile.ir.ts.Cfg.FrameVisitor
+
 
+
MergeJoinOperator - Class in proguard.analysis.cpa.defaults
+
+
This MergeOperator applies the join operator to its arguments.
+
+
MergeJoinOperator(AbstractDomain) - Constructor for class proguard.analysis.cpa.defaults.MergeJoinOperator
+
+
Create a merge operator from an abstract domain defining the join operator.
+
+
MergeOperator - Interface in proguard.analysis.cpa.interfaces
+
+
The MergeOperator defines how (and whether) the older AbstractState should be + updated with the newly discovered AbstractState.
+
+
MergeSepOperator - Class in proguard.analysis.cpa.defaults
+
+
This MergeOperator does not weaken the input AbstractState.
+
+
MergeSepOperator() - Constructor for class proguard.analysis.cpa.defaults.MergeSepOperator
+
 
+
message - Variable in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
META_INF_SIGNING_INFO - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
METADATA_KIND_CLASS - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
METADATA_KIND_FILE_FACADE - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
METADATA_KIND_MULTI_FILE_CLASS_FACADE - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
METADATA_KIND_MULTI_FILE_CLASS_PART - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
METADATA_KIND_SYNTHETIC_CLASS - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
metadataKindToString(int) - Static method in class proguard.classfile.kotlin.KotlinConstants
+
 
+
metadataTypeOf(String) - Static method in class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
method - Variable in class proguard.classfile.MethodSignature
+
 
+
method - Variable in class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
method - Variable in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
method - Variable in class proguard.dexfile.reader.node.DexMethodNode
+
 
+
method - Variable in class proguard.dexfile.reader.node.insn.MethodPolymorphicStmtNode
+
 
+
method - Variable in class proguard.dexfile.reader.node.insn.MethodStmtNode
+
 
+
method - Variable in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
Method - Class in proguard.dexfile.reader
+
+
represent a method_id_item in dex file format
+
+
Method - Interface in proguard.classfile
+
+
Representation of a method in a class.
+
+
Method(String, String, String[], String) - Constructor for class proguard.dexfile.reader.Method
+
 
+
Method(String, String, Proto) - Constructor for class proguard.dexfile.reader.Method
+
 
+
METHOD_ARGUMENTS_CLOSE - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
METHOD_ARGUMENTS_CLOSE - Static variable in class proguard.classfile.TypeConstants
+
 
+
METHOD_ARGUMENTS_OPEN - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
METHOD_ARGUMENTS_OPEN - Static variable in class proguard.classfile.TypeConstants
+
 
+
METHOD_ARGUMENTS_SEPARATOR - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
METHOD_HANDLE - Static variable in class proguard.classfile.constant.Constant
+
 
+
METHOD_NAME_ABS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_ACCESSIBLE_OBJECT_SET_ACCESSIBLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_ADD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_ADD_ALL - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_ADD_JAVASCRIPT_INTERFACE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_APPEND - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_ARRAY_NEW_INSTANCE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_BOOLEAN_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_BYTE_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CEIL - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CHAR_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_FOR_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_CANONICAL_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_CLASS_LOADER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_COMPONENT_TYPE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_CONSTRUCTOR - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_CONSTRUCTORS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_DECLARED_CONSTRUCTOR - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_DECLARED_CONSTRUCTORS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_DECLARED_FIELD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_DECLARED_FIELDS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_DECLARED_METHOD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_DECLARED_METHODS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_DECLARING_CLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_ENCLOSING_CLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_ENCLOSING_CONSTRUCTOR - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_ENCLOSING_METHOD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_FIELD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_FIELDS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_METHOD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_METHODS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_PACKAGE_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_SIMPLE_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_SUPERCLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_GET_TYPE_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_IS_ASSIGNABLE_FROM - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLASS_IS_INSTANCE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLINIT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CLONE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_CONSTRUCTOR_NEW_INSTANCE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_COS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_DO_LOAD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_DOT_CLASS_JAVAC - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_DOT_CLASS_JIKES - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_DOUBLE_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_EQUALS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_FIELD_GET - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_FIELD_GET_INT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_FIELD_SET - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_FIND_CLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_FIND_LIBRARY - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_FIND_LOADED_CLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_FLOAT_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_FLOOR - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_GET_ANNOTATION - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_GET_ANNOTATIONS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_GET_CAUSE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_GET_DECLARED_ANNOTATIONS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_GET_GENERIC_PREFIX - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_GET_PARAMETER_ANNOTATIONS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_GET_RUNTIME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_GET_TYPE_PREFIX - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_GETANSWER - Static variable in class proguard.examples.modify.EditClass
+
 
+
METHOD_NAME_INIT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_INT_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_INTERN - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_IS_EMPTY - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_LAMBDA_INVOKE - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
METHOD_NAME_LENGTH - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_LOAD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_LOAD_CLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_LOAD_LIBRARY - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_LONG_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_MAKE_CONCAT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_MAKE_CONCAT_WITH_CONSTANTS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_MAP_GET - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_MAP_LIBRARY_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_MAP_PUT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_MAX - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_METHOD_INVOKE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_MIN - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_NATIVE_LOAD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_NEW_INSTANCE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_NEW_UPDATER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_OBJECT_GET_CLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_ORDINAL - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_READ_OBJECT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_READ_RESOLVE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_SHORT_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_SIN - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_SQRT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_TOSTRING - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_TOSTRING_IMPL - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_VALUE_OF - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_VALUEOF - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_VALUES - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_WRITE_OBJECT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_NAME_WRITE_REPLACE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_PARAMETER - Static variable in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
METHOD_PARAMETERS - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
METHOD_RETURN_VALUE - Static variable in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
METHOD_TYPE - Static variable in class proguard.classfile.constant.Constant
+
 
+
METHOD_TYPE_ACCESSIBLE_OBJECT_SET_ACCESSIBLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_ADD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_ADD_ALL - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_ADD_JAVASCRIPT_INTERFACE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_ARRAY_NEW_INSTANCE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_ARRAY_NEW_INSTANCE2 - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_BOOLEAN_STRING_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_BOOLEAN_STRING_BUILDER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_BOOLEAN_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_BYTE_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_BYTES_INT_VOID - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_BYTES_VOID - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CHAR_STRING_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CHAR_STRING_BUILDER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CHAR_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CHARS_VOID - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_FOR_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_FOR_NAME_CLASSLOADER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_FOR_NAME2 - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_CANONICAL_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_CLASS_LOADER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_COMPONENT_TYPE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_CONSTRUCTOR - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_CONSTRUCTORS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_DECLARED_CONSTRUCTOR - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_DECLARED_CONSTRUCTORS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_DECLARED_FIELD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_DECLARED_FIELDS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_DECLARED_METHOD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_DECLARED_METHODS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_FIELD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_FIELDS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_METHOD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_METHODS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_PACKAGE_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_SIMPLE_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_SUPERCLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_GET_TYPE_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_IS_ASSIGNABLE_FROM - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLASS_IS_INSTANCE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLINIT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CLONE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_CONSTRUCTOR_NEW_INSTANCE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_DOT_CLASS_JAVAC - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_DOT_CLASS_JIKES - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_DOUBLE_DOUBLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_DOUBLE_DOUBLE_DOUBLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_DOUBLE_STRING_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_DOUBLE_STRING_BUILDER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_DOUBLE_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_EQUALS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_FIELD_GET - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_FIELD_GET_INT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_FIELD_SET - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_FIND_CLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_FIND_LIBRARY - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_FIND_LOADED_CLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_FLOAT_FLOAT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_FLOAT_FLOAT_FLOAT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_FLOAT_STRING_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_FLOAT_STRING_BUILDER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_FLOAT_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_GET_CAUSE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_GET_RUNTIME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_INIT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_INIT_COLLECTION - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_INIT_ENUM - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_INIT_THROWABLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_INT_STRING_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_INT_STRING_BUILDER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_INT_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_INT_VOID - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_INTERN - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_IS_EMPTY - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_LENGTH - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_LOAD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_LOAD_CLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_LOAD_LIBRARY - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_LOAD2 - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_LONG_STRING_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_LONG_STRING_BUILDER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_LONG_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_MAP_GET - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_MAP_LIBRARY_NAME - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_MAP_PUT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_METHOD_INVOKE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_NATIVE_LOAD - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_NEW_INSTANCE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_NEW_INTEGER_UPDATER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_NEW_LONG_UPDATER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_NEW_REFERENCE_UPDATER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_NUMBER_NUMBER - Static variable in class proguard.examples.modify.EditClass
+
 
+
METHOD_TYPE_OBJECT_GET_CLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_OBJECT_STRING_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_OBJECT_STRING_BUILDER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_ON_CLICK_HANDLER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_ORDINAL - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_READ_OBJECT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_READ_RESOLVE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_SHORT_VALUE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_STRING_STRING_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_STRING_STRING_BUILDER - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_STRING_VOID - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_TOSTRING - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_TOSTRING_BOOLEAN - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_TOSTRING_IMPL - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUE_OF_BOOLEAN - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUE_OF_BYTE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUE_OF_CHAR - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUE_OF_DOUBLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUE_OF_FLOAT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUE_OF_INT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUE_OF_LONG - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUE_OF_SHORT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUEOF_BOOLEAN - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUEOF_CHAR - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUEOF_DOUBLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUEOF_FLOAT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUEOF_INT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUEOF_LONG - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_VALUEOF_OBJECT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_WRITE_OBJECT - Static variable in class proguard.classfile.ClassConstants
+
 
+
METHOD_TYPE_WRITE_REPLACE - Static variable in class proguard.classfile.ClassConstants
+
 
+
methodAccept(String, String, MemberVisitor) - Method in interface proguard.classfile.Clazz
+
+
Lets the given member info visitor visit the specified method.
+
+
methodAccept(String, String, MemberVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
methodAccept(String, String, MemberVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
methodAccept(MemberVisitor) - Method in exception proguard.evaluation.exception.PartialEvaluatorException
+
 
+
methodArgumentsAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.BootstrapMethodInfo
+
+
Applies the given constant pool visitor to the argument constants of the bootstrap method.
+
+
MethodCollector - Class in proguard.classfile.visitor
+
+
This MemberVisitor collects the methods that it visits in the given collection.
+
+
MethodCollector(Collection<Method>) - Constructor for class proguard.classfile.visitor.MethodCollector
+
+
Creates a new MethodCollector.
+
+
MethodCopier - Class in proguard.classfile.editor
+
+
This ClassVisitor copies a method into a target class.
+
+
MethodCopier(ProgramClass, ProgramMethod) - Constructor for class proguard.classfile.editor.MethodCopier
+
 
+
MethodCopier(ProgramClass, ProgramMethod, StringFunction) - Constructor for class proguard.classfile.editor.MethodCopier
+
 
+
MethodCopier(ProgramClass, ProgramMethod, StringFunction, MemberVisitor) - Constructor for class proguard.classfile.editor.MethodCopier
+
 
+
MethodCounter - Class in proguard.classfile.visitor
+
+
This MemberVisitor counts the number of methods that have been visited.
+
+
MethodCounter() - Constructor for class proguard.classfile.visitor.MethodCounter
+
 
+
MethodCustomStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
MethodCustomStmtNode(Op, int[], String, Proto, MethodHandle, Object[]) - Constructor for class proguard.dexfile.reader.node.insn.MethodCustomStmtNode
+
 
+
MethodDescriptor - Class in proguard.classfile
+
+
Represents the descriptor that is part of a MethodSignature.
+
+
MethodDescriptor(String) - Constructor for class proguard.classfile.MethodDescriptor
+
 
+
MethodDescriptor(String, List<String>) - Constructor for class proguard.classfile.MethodDescriptor
+
 
+
MethodExecutionContext(MethodExecutionInfo, ValueCalculator) - Constructor for class proguard.evaluation.value.object.model.reflective.ModelHelper.MethodExecutionContext
+
 
+
MethodExecutionInfo - Class in proguard.evaluation.executor
+
+
This class stores data relevant to modeling the execution of a method and offers methods to + extract additional information.
+
+
MethodExecutionInfo(Clazz, Method, CodeLocation, Value...) - Constructor for class proguard.evaluation.executor.MethodExecutionInfo
+
+
Constructs a MethodExecutionInfo.
+
+
MethodExecutionInfo(ConcreteCall, Value...) - Constructor for class proguard.evaluation.executor.MethodExecutionInfo
+
+
Constructs a MethodExecutionInfo.
+
+
MethodExecutionInfo(AnyMethodrefConstant, CodeLocation, Value...) - Constructor for class proguard.evaluation.executor.MethodExecutionInfo
+
+
Constructs a MethodExecutionInfo.
+
+
MethodFilter - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates its visits to one of two other given MemberVisitor + instances, depending on whether the visited method is a method or a field.
+
+
MethodFilter(MemberVisitor) - Constructor for class proguard.classfile.visitor.MethodFilter
+
+
Creates a new MethodFilter.
+
+
MethodFilter(MemberVisitor, MemberVisitor) - Constructor for class proguard.classfile.visitor.MethodFilter
+
+
Creates a new MethodFilter.
+
+
MethodHandle - Class in proguard.dexfile.reader
+
 
+
MethodHandle(int, Field) - Constructor for class proguard.dexfile.reader.MethodHandle
+
 
+
MethodHandle(int, Field, Method) - Constructor for class proguard.dexfile.reader.MethodHandle
+
 
+
MethodHandle(int, Method) - Constructor for class proguard.dexfile.reader.MethodHandle
+
 
+
methodHandleAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.BootstrapMethodInfo
+
+
Applies the given constant pool visitor to the method handle of the bootstrap method.
+
+
MethodHandleConstant - Class in proguard.classfile.constant
+
+
This Constant represents a method handle constant in the constant pool.
+
+
MethodHandleConstant() - Constructor for class proguard.classfile.constant.MethodHandleConstant
+
+
Creates an uninitialized MethodHandleConstant.
+
+
MethodHandleConstant(int, int) - Constructor for class proguard.classfile.constant.MethodHandleConstant
+
+
Creates a new MethodHandleConstant with the given type and method ref index.
+
+
MethodImplementationFilter - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates its visits to methods to another given MemberVisitor, but only when the visited method may have implementations.
+
+
MethodImplementationFilter(MemberVisitor) - Constructor for class proguard.classfile.visitor.MethodImplementationFilter
+
+
Creates a new MethodImplementationFilter.
+
+
MethodImplementationTraveler - Class in proguard.classfile.visitor
+
+
This MemberVisitor lets a given MemberVisitor travel to all concrete and abstract + implementations of the visited methods in their class hierarchies.
+
+
MethodImplementationTraveler(boolean, boolean, boolean, boolean, MemberVisitor) - Constructor for class proguard.classfile.visitor.MethodImplementationTraveler
+
+
Creates a new MethodImplementationTraveler.
+
+
MethodInfo - Interface in proguard.classfile
+
+
Can be implemented by classes carrying method information.
+
+
MethodInvocationFixer - Class in proguard.classfile.editor
+
+
This AttributeVisitor fixes all inappropriate special/virtual/static/interface + invocations of the code attributes that it visits.
+
+
MethodInvocationFixer() - Constructor for class proguard.classfile.editor.MethodInvocationFixer
+
 
+
MethodLinker - Class in proguard.classfile.util
+
+
This ClassVisitor links all corresponding non-private, non-static, non-initializer + methods in the class hierarchies of all visited classes.
+
+
MethodLinker() - Constructor for class proguard.classfile.util.MethodLinker
+
 
+
methodMayHaveSideEffects(Clazz, AnyMethodrefConstant, String) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
 
+
methodMayHaveSideEffects(Clazz, AnyMethodrefConstant, String) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
+
Returns true if the method itself can modify the stack/variables and therefore needs to be + executed even if it returns void.
+
+
methodName() - Method in class proguard.classfile.util.ExternalTypeEnumeration
+
 
+
methodParameter(int) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns the specified method parameter (assuming it is one).
+
+
MethodParametersAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a method parameters attribute.
+
+
MethodParametersAttribute() - Constructor for class proguard.classfile.attribute.MethodParametersAttribute
+
+
Creates an uninitialized MethodParametersAttribute.
+
+
MethodParametersAttribute(int, int, ParameterInfo[]) - Constructor for class proguard.classfile.attribute.MethodParametersAttribute
+
+
Creates an initialized MethodParametersAttribute.
+
+
MethodPolymorphicStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
MethodPolymorphicStmtNode(Op, int[], Method, Proto) - Constructor for class proguard.dexfile.reader.node.insn.MethodPolymorphicStmtNode
+
 
+
METHODREF - Static variable in class proguard.classfile.constant.Constant
+
 
+
MethodrefConstant - Class in proguard.classfile.constant
+
+
This Constant represents a method reference constant in the constant pool.
+
+
MethodrefConstant() - Constructor for class proguard.classfile.constant.MethodrefConstant
+
+
Creates an uninitialized MethodrefConstant.
+
+
MethodrefConstant(int, int, Clazz, Method) - Constructor for class proguard.classfile.constant.MethodrefConstant
+
+
Creates a new MethodrefConstant with the given name and type indices.
+
+
MethodrefTraveler - Class in proguard.classfile.constant.visitor
+
+
This ConstantVisitor travels from any method handle constants that it visits to their + methodref constants, and applies a given constant visitor.
+
+
MethodrefTraveler(ConstantVisitor) - Constructor for class proguard.classfile.constant.visitor.MethodrefTraveler
+
+
Creates a new v that will delegate to the given constant visitor.
+
+
MethodResult - Class in proguard.evaluation
+
+
A class modeling the results of a method invocation.
+
+
MethodResult.Builder - Class in proguard.evaluation
+
+
A builder for MethodResult.
+
+
methods - Variable in class proguard.classfile.LibraryClass
+
 
+
methods - Variable in class proguard.classfile.ProgramClass
+
 
+
methods - Variable in class proguard.dexfile.reader.node.DexClassNode
+
 
+
methodsAccept(MemberVisitor) - Method in interface proguard.classfile.Clazz
+
+
Lets the given member info visitor visit all methods of this class.
+
+
methodsAccept(MemberVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
methodsAccept(MemberVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
MethodSignature - Class in proguard.classfile
+
+
Represents a Method signature containing a class, method and a descriptor.
+
+
MethodSignature(Clazz) - Constructor for class proguard.classfile.MethodSignature
+
 
+
MethodSignature(Clazz, Method) - Constructor for class proguard.classfile.MethodSignature
+
 
+
MethodSignature(String) - Constructor for class proguard.classfile.MethodSignature
+
 
+
MethodSignature(String, String, String) - Constructor for class proguard.classfile.MethodSignature
+
 
+
MethodSignature(String, String, MethodDescriptor) - Constructor for class proguard.classfile.MethodSignature
+
 
+
MethodStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
MethodStmtNode(Op, int[], Method) - Constructor for class proguard.dexfile.reader.node.insn.MethodStmtNode
+
 
+
MethodToKotlinConstructorVisitor - Class in proguard.classfile.kotlin.visitor
+
+
Apply the given function visitor to a referenced constructors's corresponding KotlinConstructorMetadata.
+
+
MethodToKotlinConstructorVisitor(KotlinConstructorVisitor) - Constructor for class proguard.classfile.kotlin.visitor.MethodToKotlinConstructorVisitor
+
 
+
MethodToKotlinFunctionVisitor - Class in proguard.classfile.kotlin.visitor
+
+
Apply the given function visitor to a referenced method's corresponding KotlinFunctionMetadata.
+
+
MethodToKotlinFunctionVisitor(KotlinFunctionVisitor) - Constructor for class proguard.classfile.kotlin.visitor.MethodToKotlinFunctionVisitor
+
 
+
MethodTypeConstant - Class in proguard.classfile.constant
+
+
This Constant represents a method handle constant in the constant pool.
+
+
MethodTypeConstant() - Constructor for class proguard.classfile.constant.MethodTypeConstant
+
+
Creates an uninitialized MethodTypeConstant.
+
+
MethodTypeConstant(int, Clazz[]) - Constructor for class proguard.classfile.constant.MethodTypeConstant
+
+
Creates a new MethodTypeConstant with the given descriptor index.
+
+
MethodViewModel - Class in proguard.classfile.util.renderer
+
+
This utility class renders Method objects into a more human-readable format.
+
+
Metrics - Class in proguard.analysis
+
+
Utility to collect statistical information.
+
+
Metrics() - Constructor for class proguard.analysis.Metrics
+
 
+
Metrics.MetricType - Enum in proguard.analysis
+
+
Constants which are used as metric types.
+
+
minimumValue() - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns the minimum value from this list of instruction offsets.
+
+
minor - Variable in class proguard.classfile.kotlin.KotlinMetadataVersion
+
 
+
minor - Variable in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
MISSING_CLASS - proguard.analysis.Metrics.MetricType
+
 
+
MISSING_METHODS - proguard.analysis.Metrics.MetricType
+
 
+
modality - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
 
+
modality - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
 
+
modality - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyAccessorFlags
+
 
+
modality - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
 
+
model - Variable in class proguard.classfile.util.renderer.MemberViewModel
+
 
+
Model - Interface in proguard.evaluation.value.object.model
+
+
This interface can be implemented for each class that needs to be modeled during an analysis.
+
+
ModeledConstructor - Annotation Type in proguard.evaluation.value.object.model.reflective
+
+
Used to identify methods that model behavior for constructors of a class modeled in Model.
+
+
ModeledInstanceMethod - Annotation Type in proguard.evaluation.value.object.model.reflective
+
+
Used to identify methods that model behavior for instance methods of a class modeled in Model.
+
+
ModeledStaticMethod - Annotation Type in proguard.evaluation.value.object.model.reflective
+
+
Used to identify methods that model behavior for static methods of a class modeled in Model.
+
+
ModelHelper - Class in proguard.evaluation.value.object.model.reflective
+
+
Helper methods to use Models.
+
+
ModelHelper.MethodExecutionContext - Class in proguard.evaluation.value.object.model.reflective
+
+
A helper class grouping MethodExecutionInfo and ValueCalculator as the + execution context of a method.
+
+
MODIFIED - Static variable in class proguard.util.ProcessingFlags
+
 
+
MODULE - Static variable in class proguard.classfile.AccessConstants
+
 
+
MODULE - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
MODULE - Static variable in class proguard.classfile.constant.Constant
+
 
+
MODULE - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
MODULE() - Constructor for class proguard.classfile.kotlin.KotlinConstants.MODULE
+
 
+
MODULE_MAIN_CLASS - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
MODULE_PACKAGES - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
moduleAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.module.RequiresInfo
+
+
Applies the given constant pool visitor to the module constant of the module, if any.
+
+
moduleAccept(KotlinModuleVisitor) - Method in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
ModuleAttribute - Class in proguard.classfile.attribute.module
+
+
This Attribute represents a module attribute.
+
+
ModuleAttribute() - Constructor for class proguard.classfile.attribute.module.ModuleAttribute
+
+
Creates an uninitialized ModuleAttribute.
+
+
ModuleAttribute(int, int, int, int, int, RequiresInfo[], int, ExportsInfo[], int, OpensInfo[], int, int[], int, ProvidesInfo[]) - Constructor for class proguard.classfile.attribute.module.ModuleAttribute
+
+
Creates an initialized ModuleAttribute.
+
+
ModuleConstant - Class in proguard.classfile.constant
+
+
This Constant represents a module constant in the constant pool.
+
+
ModuleConstant() - Constructor for class proguard.classfile.constant.ModuleConstant
+
+
Creates an uninitialized ModuleConstant.
+
+
ModuleConstant(int) - Constructor for class proguard.classfile.constant.ModuleConstant
+
+
Creates a new ModuleConstant with the given name index.
+
+
ModuleMainClassAttribute - Class in proguard.classfile.attribute.module
+
+
This Attribute represents a main class attribute.
+
+
ModuleMainClassAttribute() - Constructor for class proguard.classfile.attribute.module.ModuleMainClassAttribute
+
+
Creates an uninitialized ModuleMainClassAttribute.
+
+
ModuleMainClassAttribute(int, int) - Constructor for class proguard.classfile.attribute.module.ModuleMainClassAttribute
+
+
Creates an initialized ModuleMainClassAttribute.
+
+
modulePackages - Variable in class proguard.resources.kotlinmodule.KotlinModule
+
 
+
modulePackagesAccept(KotlinModulePackageVisitor) - Method in class proguard.resources.kotlinmodule.KotlinModule
+
 
+
ModulePackagesAttribute - Class in proguard.classfile.attribute.module
+
+
This Attribute represents a module packages attribute.
+
+
ModulePackagesAttribute() - Constructor for class proguard.classfile.attribute.module.ModulePackagesAttribute
+
+
Creates an uninitialized ModulePackagesAttribute.
+
+
ModulePackagesAttribute(int, int, int[]) - Constructor for class proguard.classfile.attribute.module.ModulePackagesAttribute
+
+
Creates an initialized ModulePackagesAttribute.
+
+
MONITOR_ENTER - proguard.dexfile.reader.Op
+
 
+
MONITOR_EXIT - proguard.dexfile.reader.Op
+
 
+
monitorenter() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
monitorenter() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
monitorexit() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
monitorexit() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
MORE_ZERO_FRAME - Static variable in class proguard.classfile.attribute.preverification.StackMapFrame
+
 
+
MoreZeroFrame - Class in proguard.classfile.attribute.preverification
+
+
This StackMapFrame represents an "append frame".
+
+
MoreZeroFrame() - Constructor for class proguard.classfile.attribute.preverification.MoreZeroFrame
+
+
Creates an uninitialized MoreZeroFrame.
+
+
MoreZeroFrame(int) - Constructor for class proguard.classfile.attribute.preverification.MoreZeroFrame
+
+
Creates a MoreZeroFrame with the given tag.
+
+
MoreZeroFrame(int, VerificationType[]) - Constructor for class proguard.classfile.attribute.preverification.MoreZeroFrame
+
+
Creates a MoreZeroFrame with the given additional variables.
+
+
MoreZeroFrame(VerificationType[]) - Constructor for class proguard.classfile.attribute.preverification.MoreZeroFrame
+
+
Creates a MoreZeroFrame with the given additional variables.
+
+
move(Stmt, Stmt, Stmt) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
MOVE - proguard.dexfile.reader.Op
+
 
+
MOVE_16 - proguard.dexfile.reader.Op
+
 
+
MOVE_EXCEPTION - proguard.dexfile.reader.Op
+
 
+
MOVE_FROM16 - proguard.dexfile.reader.Op
+
 
+
MOVE_OBJECT - proguard.dexfile.reader.Op
+
 
+
MOVE_OBJECT_16 - proguard.dexfile.reader.Op
+
 
+
MOVE_OBJECT_FROM16 - proguard.dexfile.reader.Op
+
 
+
MOVE_RESULT - proguard.dexfile.reader.Op
+
 
+
MOVE_RESULT_OBJECT - proguard.dexfile.reader.Op
+
 
+
MOVE_RESULT_WIDE - proguard.dexfile.reader.Op
+
 
+
MOVE_WIDE - proguard.dexfile.reader.Op
+
 
+
MOVE_WIDE_16 - proguard.dexfile.reader.Op
+
 
+
MOVE_WIDE_FROM16 - proguard.dexfile.reader.Op
+
 
+
MUL - proguard.dexfile.ir.expr.Value.VT
+
 
+
MUL_DOUBLE - proguard.dexfile.reader.Op
+
 
+
MUL_DOUBLE_2ADDR - proguard.dexfile.reader.Op
+
 
+
MUL_FLOAT - proguard.dexfile.reader.Op
+
 
+
MUL_FLOAT_2ADDR - proguard.dexfile.reader.Op
+
 
+
MUL_INT - proguard.dexfile.reader.Op
+
 
+
MUL_INT_2ADDR - proguard.dexfile.reader.Op
+
 
+
MUL_INT_LIT16 - proguard.dexfile.reader.Op
+
 
+
MUL_INT_LIT8 - proguard.dexfile.reader.Op
+
 
+
MUL_LONG - proguard.dexfile.reader.Op
+
 
+
MUL_LONG_2ADDR - proguard.dexfile.reader.Op
+
 
+
multianewarray(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
multianewarray(int, int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
multianewarray(String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
multianewarray(String, Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
multianewarray(String, Clazz, int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
multianewarray(Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
MultiAnnotationVisitor - Class in proguard.classfile.attribute.annotation.visitor
+
+
This AnnotationVisitor delegates all visits to each AnnotationVisitor in a given + list.
+
+
MultiAnnotationVisitor() - Constructor for class proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
+
 
+
MultiAnnotationVisitor(AnnotationVisitor...) - Constructor for class proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
+
 
+
MultiArrayTransformer - Class in proguard.dexfile.ir.ts
+
+
dex does have the instruction to create a multi-array.
+
+
MultiArrayTransformer() - Constructor for class proguard.dexfile.ir.ts.MultiArrayTransformer
+
 
+
MultiAttributeVisitor - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor delegates all visits to each AttributeVisitor in a given + list.
+
+
MultiAttributeVisitor() - Constructor for class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
MultiAttributeVisitor(AttributeVisitor...) - Constructor for class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
MultiClassPoolVisitor - Class in proguard.classfile.visitor
+
+
This ClassPoolVisitor delegates all visits to each ClassPoolVisitor in a given + list.
+
+
MultiClassPoolVisitor() - Constructor for class proguard.classfile.visitor.MultiClassPoolVisitor
+
 
+
MultiClassPoolVisitor(ArrayList<ClassPoolVisitor>) - Constructor for class proguard.classfile.visitor.MultiClassPoolVisitor
+
 
+
MultiClassPoolVisitor(ClassPoolVisitor...) - Constructor for class proguard.classfile.visitor.MultiClassPoolVisitor
+
 
+
MultiClassVisitor - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates all visits to each ClassVisitor in a given list.
+
+
MultiClassVisitor() - Constructor for class proguard.classfile.visitor.MultiClassVisitor
+
 
+
MultiClassVisitor(ClassVisitor...) - Constructor for class proguard.classfile.visitor.MultiClassVisitor
+
 
+
MultiConstantVisitor - Class in proguard.classfile.visitor
+
+
This ConstantVisitor delegates all visits to each ConstantVisitor in a given + list.
+
+
MultiConstantVisitor() - Constructor for class proguard.classfile.visitor.MultiConstantVisitor
+
 
+
MultiConstantVisitor(ConstantVisitor...) - Constructor for class proguard.classfile.visitor.MultiConstantVisitor
+
 
+
MultiDataEntryReader - Class in proguard.io
+
 
+
MultiDataEntryReader(DataEntryReader...) - Constructor for class proguard.io.MultiDataEntryReader
+
 
+
multiFileClassParts - Variable in class proguard.resources.kotlinmodule.KotlinModulePackage
+
 
+
MultiFileFacadeIntegrity - Class in proguard.util.kotlin.asserter.constraint
+
 
+
MultiFileFacadeIntegrity() - Constructor for class proguard.util.kotlin.asserter.constraint.MultiFileFacadeIntegrity
+
 
+
MultiFilePartIntegrity - Class in proguard.util.kotlin.asserter.constraint
+
 
+
MultiFilePartIntegrity() - Constructor for class proguard.util.kotlin.asserter.constraint.MultiFilePartIntegrity
+
 
+
MultiInstructionVisitor - Class in proguard.classfile.instruction.visitor
+
+
This InstructionVisitor delegates all visits to each InstructionVisitor in a + given list.
+
+
MultiInstructionVisitor() - Constructor for class proguard.classfile.instruction.visitor.MultiInstructionVisitor
+
 
+
MultiInstructionVisitor(InstructionVisitor...) - Constructor for class proguard.classfile.instruction.visitor.MultiInstructionVisitor
+
 
+
MultiKotlinMetadataVisitor - Class in proguard.classfile.kotlin.visitor
+
 
+
MultiKotlinMetadataVisitor() - Constructor for class proguard.classfile.kotlin.visitor.MultiKotlinMetadataVisitor
+
 
+
MultiKotlinMetadataVisitor(KotlinMetadataVisitor...) - Constructor for class proguard.classfile.kotlin.visitor.MultiKotlinMetadataVisitor
+
 
+
MultiKotlinTypeParameterVisitor - Class in proguard.classfile.kotlin.visitor
+
+
This KotlinTypeVisitor delegates to multiple KotlinTypeVisitors.
+
+
MultiKotlinTypeParameterVisitor(KotlinTypeParameterVisitor...) - Constructor for class proguard.classfile.kotlin.visitor.MultiKotlinTypeParameterVisitor
+
 
+
MultiMemberVisitor - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates all visits to each MemberVisitor in a given list.
+
+
MultiMemberVisitor() - Constructor for class proguard.classfile.visitor.MultiMemberVisitor
+
 
+
MultiMemberVisitor(MemberVisitor...) - Constructor for class proguard.classfile.visitor.MultiMemberVisitor
+
 
+
multiply(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the product of this DoubleValue and the given DoubleValue.
+
+
multiply(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
multiply(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
multiply(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
multiply(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the product of this FloatValue and the given FloatValue.
+
+
multiply(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
multiply(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
multiply(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
multiply(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the product of this IntegerValue and the given IntegerValue.
+
+
multiply(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
multiply(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
multiply(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
multiply(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
multiply(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the product of this LongValue and the given LongValue.
+
+
multiply(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
multiply(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
multiply(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
multiply(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the product of this DoubleValue and the given ParticularDoubleValue.
+
+
multiply(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
multiply(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the product of this FloatValue and the given ParticularFloatValue.
+
+
multiply(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
multiply(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the product of this IntegerValue and the given ParticularIntegerValue.
+
+
multiply(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
multiply(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
multiply(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the product of this LongValue and the given ParticularLongValue.
+
+
multiply(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
multiply(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the product of this IntegerValue and the given RangeIntegerValue.
+
+
multiply(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
multiply(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
multiply(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
multiply(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the product of this DoubleValue and the given SpecificDoubleValue.
+
+
multiply(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
multiply(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the product of this FloatValue and the given SpecificFloatValue.
+
+
multiply(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
multiply(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the product of this IntegerValue and the given SpecificIntegerValue.
+
+
multiply(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
multiply(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the product of this LongValue and the given SpecificLongValue.
+
+
multiply(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
multiply(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the product of this IntegerValue and the given UnknownIntegerValue.
+
+
MULTIPLY - Static variable in class proguard.evaluation.value.CompositeDoubleValue
+
 
+
MULTIPLY - Static variable in class proguard.evaluation.value.CompositeFloatValue
+
 
+
MULTIPLY - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
MULTIPLY - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
MultiResourceFileVisitor - Class in proguard.resources.file.visitor
+
+
This ResourceFileVisitor delegates all visits to all ResourceFileVisitor + instances in the given list.
+
+
MultiResourceFileVisitor(ResourceFileVisitor...) - Constructor for class proguard.resources.file.visitor.MultiResourceFileVisitor
+
 
+
MultiTypedReferenceValue - Class in proguard.evaluation.value
+
+
This TypedReferenceValue can have multiple potential types during runtime.
+
+
MultiTypedReferenceValue(Set<TypedReferenceValue>, boolean) - Constructor for class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
MultiTypedReferenceValue(TypedReferenceValue, boolean) - Constructor for class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
MultiTypedReferenceValueFactory - Class in proguard.evaluation.value
+
+
This class provides a wrapper around TypedReferenceValueFactory that provides new MultiTypedReferenceValues.
+
+
MultiTypedReferenceValueFactory() - Constructor for class proguard.evaluation.value.MultiTypedReferenceValueFactory
+
 
+
MultiTypedReferenceValueFactory(boolean, ClassPool, ClassPool) - Constructor for class proguard.evaluation.value.MultiTypedReferenceValueFactory
+
+
See MultiTypedReferenceValueFactory() Parameters, fields and return values have + included in possible types all sub classes.S
+
+
MultiValueMap<K,​V> - Class in proguard.util
+
+
A key-values map that can have multiple values associated with each key.
+
+
MultiValueMap() - Constructor for class proguard.util.MultiValueMap
+
 
+
Mutf8 - Class in proguard.dexfile.reader.util
+
+
Modified UTF-8 as described in the dex file format spec.
+
+
mv - proguard.classfile.util.kotlin.KotlinMetadataType
+
 
+
mv - Variable in class proguard.classfile.kotlin.KotlinMetadata
+
+
The version of the metadata provided in the arguments of this annotation.
+
+
MyMultiDigestOutputStream(String, MessageDigest[], PrintWriter, OutputStream) - Constructor for class proguard.io.JarWriter.MyMultiDigestOutputStream
+
 
+
MyTransformer() - Constructor for class proguard.examples.TransformExample.MyTransformer
+
 
+
+ + + +

N

+
+
N - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
N - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
nAdd(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
name - Variable in class proguard.classfile.kotlin.KotlinAnnotationArgument
+
 
+
name - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
name - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
name - Variable in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
name - Variable in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
name - Variable in class proguard.classfile.LibraryMember
+
 
+
name - Variable in class proguard.dexfile.ir.expr.FieldExpr
+
+
Field name
+
+
name - Variable in class proguard.dexfile.ir.expr.InvokeCustomExpr
+
 
+
name - Variable in class proguard.dexfile.ir.expr.StaticFieldExpr
+
+
Field name
+
+
name - Variable in class proguard.dexfile.ir.IrMethod
+
 
+
name - Variable in class proguard.dexfile.ir.LocalVar
+
 
+
name - Variable in enum proguard.dexfile.ir.TypeClass
+
 
+
name - Variable in class proguard.dexfile.reader.node.DexAnnotationNode.Item
+
 
+
name - Variable in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.StartLocalNode
+
 
+
name - Variable in class proguard.dexfile.reader.node.insn.MethodCustomStmtNode
+
 
+
name - Variable in class proguard.resources.kotlinmodule.KotlinModule
+
+
The module name, as opposed to the fileName which includes the module name.
+
+
name() - Method in annotation type proguard.evaluation.value.object.model.reflective.ModeledInstanceMethod
+
+
The name of the modeled method.
+
+
name() - Method in annotation type proguard.evaluation.value.object.model.reflective.ModeledStaticMethod
+
+
The name of the modeled method.
+
+
NAME_AND_TYPE - Static variable in class proguard.classfile.constant.Constant
+
 
+
NAME_ANDROID_APP_ACTIVITY - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_APP_APPLICATION - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_APP_BACKUP_BACKUP_AGENT - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_APP_FRAGMENT - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_APP_INSTRUMENTATION - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_APP_SERVICE - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_CONTENT_BROADCAST_RECEIVER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_CONTENT_CONTENT_PROVIDER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_CONTENT_CONTEXT - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_CONTENT_RES_RESOURCES - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_PREFERENCE_PREFERENCE - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_PREFERENCE_PREFERENCE_FRAGMENT - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_SUPPORT_V4_APP_FRAGMENT - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_UTIL_FLOAT_MATH - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_VIEW_ACTION_PROVIDER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_VIEW_VIEW - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_ANDROID_WEBKIT_WEB_VIEW - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_IO_BYTE_ARRAY_INPUT_STREAM - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_IO_DATA_INPUT_STREAM - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_IO_INPUT_STREAM - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_IO_SERIALIZABLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_ANNOTATION_ANNOTATION - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_BOOLEAN - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_BYTE - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_CHARACTER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_CLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_CLASS_LOADER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_CLASS_NOT_FOUND_EXCEPTION - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_CLONEABLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_DOUBLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_ENUM - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_EXCEPTION - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_FLOAT - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_INTEGER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_INVOKE_METHOD_HANDLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_INVOKE_METHOD_TYPE - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_INVOKE_STRING_CONCAT_FACTORY - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_LONG - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_MATH - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_NUMBER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_NUMBER_FORMAT_EXCEPTION - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_OBJECT - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_REFLECT_ACCESSIBLE_OBJECT - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_REFLECT_ARRAY - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_REFLECT_CONSTRUCTOR - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_REFLECT_FIELD - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_REFLECT_METHOD - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_RUNTIME - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_SHORT - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_STRING - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_STRING_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_STRING_BUILDER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_SYSTEM - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_SYSTEM - Static variable in class proguard.examples.modify.EditClass
+
 
+
NAME_JAVA_LANG_THROWABLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_UNSUPPORTED_OP_EXCEPTION - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_LANG_VOID - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_NIO_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_NIO_BYTE_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_NIO_CHANNELS_CHANNELS - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_NIO_CHANNELS_READABLE_BYTE_CHANNEL - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_NIO_CHAR_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_NIO_DOUBLE_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_NIO_FLOAT_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_NIO_INT_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_NIO_LONG_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_NIO_SHORT_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_UTIL_ARRAY_LIST - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_UTIL_COLLECTION - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_INTEGER_FIELD_UPDATER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_LONG_FIELD_UPDATER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_REFERENCE_FIELD_UPDATER - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_UTIL_HASH_MAP - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_UTIL_LIST - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_JAVA_UTIL_MAP - Static variable in class proguard.classfile.ClassConstants
+
 
+
NAME_KOTLIN_ANY - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
NAME_KOTLIN_COROUTINES_DEBUG_METADATA - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
NAME_KOTLIN_ENUM - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
NAME_KOTLIN_EXTENSION_FUNCTION - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
NAME_KOTLIN_FUNCTION - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
NAME_KOTLIN_METADATA - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
NAME_KOTLIN_PARAMETER_NAME - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
NAME_KOTLIN_UNIT - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
nameAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.module.ModuleAttribute
+
+
Applies the given constant pool visitor to the Utf8 constant of the name, if any.
+
+
NameAndTypeConstant - Class in proguard.classfile.constant
+
+
This Constant represents a name and type constant in the constant pool.
+
+
NameAndTypeConstant() - Constructor for class proguard.classfile.constant.NameAndTypeConstant
+
+
Creates an uninitialized NameAndTypeConstant.
+
+
NameAndTypeConstant(int, int) - Constructor for class proguard.classfile.constant.NameAndTypeConstant
+
+
Creates a new NameAndTypeConstant with the given name and type indices.
+
+
NameAndTypeShrinker - Class in proguard.classfile.editor
+
+
This ClassVisitor removes NameAndType constant pool entries that are not + used.
+
+
NameAndTypeShrinker() - Constructor for class proguard.classfile.editor.NameAndTypeShrinker
+
 
+
nameConstantAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.ParameterInfo
+
+
Applies the given constant pool visitor to the Utf8 constant that represents the name of the + parameter, if any.
+
+
NamedAttributeDeleter - Class in proguard.classfile.editor
+
+
This ClassVisitor deletes attributes with a given name in the program classes, fields, + methods, or code attributes that it visits.
+
+
NamedAttributeDeleter(String) - Constructor for class proguard.classfile.editor.NamedAttributeDeleter
+
 
+
NamedClassVisitor - Class in proguard.classfile.visitor
+
+
This ClassPoolVisitor lets a given ClassVisitor visit Clazz instances + with a given name, in the class pools that it visits.
+
+
NamedClassVisitor(ClassVisitor, String) - Constructor for class proguard.classfile.visitor.NamedClassVisitor
+
 
+
NamedDataEntry - Class in proguard.io
+
+
This DataEntry represents a named output entry with a parent.
+
+
NamedDataEntry(DataEntry, String, long, boolean) - Constructor for class proguard.io.NamedDataEntry
+
 
+
NamedFieldVisitor - Class in proguard.classfile.visitor
+
+
This class visits ProgramMember instances referring to fields, identified by a name and + descriptor pair.
+
+
NamedFieldVisitor(String, String, MemberVisitor) - Constructor for class proguard.classfile.visitor.NamedFieldVisitor
+
 
+
NamedMethodVisitor - Class in proguard.classfile.visitor
+
+
This class visits ProgramMember instances referring to methods, identified by a name and + descriptor pair.
+
+
NamedMethodVisitor(String, String, MemberVisitor) - Constructor for class proguard.classfile.visitor.NamedMethodVisitor
+
 
+
NameFilteredDataEntryReader - Class in proguard.io
+
+
This DataEntryReader delegates to one of two other DataEntryReader instances, + depending on the name of the data entry.
+
+
NameFilteredDataEntryReader(String, DataEntryReader) - Constructor for class proguard.io.NameFilteredDataEntryReader
+
+
Creates a new NameFilteredDataEntryReader that delegates to the given reader, depending on the + given list of filters.
+
+
NameFilteredDataEntryReader(String, DataEntryReader, DataEntryReader) - Constructor for class proguard.io.NameFilteredDataEntryReader
+
+
Creates a new NameFilteredDataEntryReader that delegates to either of the two given readers, + depending on the given list of filters.
+
+
NameFilteredDataEntryReader(List, DataEntryReader) - Constructor for class proguard.io.NameFilteredDataEntryReader
+
+
Creates a new NameFilteredDataEntryReader that delegates to the given reader, depending on the + given list of filters.
+
+
NameFilteredDataEntryReader(List, DataEntryReader, DataEntryReader) - Constructor for class proguard.io.NameFilteredDataEntryReader
+
+
Creates a new NameFilteredDataEntryReader that delegates to either of the two given readers, + depending on the given list of filters.
+
+
NameFilteredDataEntryReader(StringMatcher, DataEntryReader) - Constructor for class proguard.io.NameFilteredDataEntryReader
+
+
Creates a new NameFilteredDataEntryReader that delegates to the given reader, depending on the + given string matcher.
+
+
NameFilteredDataEntryReader(StringMatcher, DataEntryReader, DataEntryReader) - Constructor for class proguard.io.NameFilteredDataEntryReader
+
+
Creates a new NameFilteredDataEntryReader that delegates to either of the two given readers, + depending on the given string matcher.
+
+
NameFilteredDataEntryWriter - Class in proguard.io
+
+
This DataEntryWriter delegates to one of two other DataEntryWriter instances, + depending on the name of the data entry.
+
+
NameFilteredDataEntryWriter(String, DataEntryWriter) - Constructor for class proguard.io.NameFilteredDataEntryWriter
+
+
Creates a new NameFilteredDataEntryWriter that delegates to the given writer, depending on the + given list of filters.
+
+
NameFilteredDataEntryWriter(String, DataEntryWriter, DataEntryWriter) - Constructor for class proguard.io.NameFilteredDataEntryWriter
+
+
Creates a new NameFilteredDataEntryWriter that delegates to either of the two given writers, + depending on the given list of filters.
+
+
NameFilteredDataEntryWriter(List, DataEntryWriter) - Constructor for class proguard.io.NameFilteredDataEntryWriter
+
+
Creates a new NameFilteredDataEntryWriter that delegates to the given writer, depending on the + given list of filters.
+
+
NameFilteredDataEntryWriter(List, DataEntryWriter, DataEntryWriter) - Constructor for class proguard.io.NameFilteredDataEntryWriter
+
+
Creates a new NameFilteredDataEntryWriter that delegates to either of the two given writers, + depending on the given list of filters.
+
+
NameFilteredDataEntryWriter(StringMatcher, DataEntryWriter) - Constructor for class proguard.io.NameFilteredDataEntryWriter
+
+
Creates a new NameFilteredDataEntryWriter that delegates to the given writer, depending on the + given string matcher.
+
+
NameFilteredDataEntryWriter(StringMatcher, DataEntryWriter, DataEntryWriter) - Constructor for class proguard.io.NameFilteredDataEntryWriter
+
+
Creates a new NameFilteredDataEntryWriter that delegates to either of the two given writers, + depending on the given string matcher.
+
+
NameParser - Class in proguard.util
+
+
This StringParser can create StringMatcher instances for regular expressions + matching names.
+
+
NameParser() - Constructor for class proguard.util.NameParser
+
+
Creates a new NameParser.
+
+
NameParser(WildcardManager) - Constructor for class proguard.util.NameParser
+
+
Creates a new NameParser that supports references to earlier wildcards.
+
+
NAMES - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
nAnd(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nArray(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nArrayValue(Object) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
naryOperation(DexStmtNode, List<? extends V>) - Method in class proguard.dexfile.reader.node.analysis.DvmInterpreter
+
+
INVOKE* MULTIANEWARRAY FilledNewArrayStmt
+
+
nAssign(Value, Value) - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
NATIVE - Static variable in class proguard.classfile.AccessConstants
+
 
+
NATIVE - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
NATIVE_PB - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
nByte(byte) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nCast(Value, String, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nChar(char) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nCheckCast(Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nConstant(Object) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nDCmpg(Value, Value) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nDCmpl(Value, Value) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nDiv(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nDouble(double) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
NE - proguard.dexfile.ir.expr.Value.VT
+
 
+
needsAccessorMethod() - Method in class proguard.backport.LambdaExpression
+
+
Returns whether an accessor method is needed to access the invoked method from the lambda + class.
+
+
NEG - proguard.dexfile.ir.expr.Value.VT
+
 
+
NEG_DOUBLE - proguard.dexfile.reader.Op
+
 
+
NEG_FLOAT - proguard.dexfile.reader.Op
+
 
+
NEG_INT - proguard.dexfile.reader.Op
+
 
+
NEG_LONG - proguard.dexfile.reader.Op
+
 
+
negate() - Method in interface proguard.analysis.cpa.util.TriPredicate
+
+
Returns a negation of this
+
+
negate() - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the negated value of this DoubleValue.
+
+
negate() - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the negated value of this FloatValue.
+
+
negate() - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the negated value of this IntegerValue.
+
+
negate() - Method in class proguard.evaluation.value.LongValue
+
+
Returns the negated value of this LongValue.
+
+
negate() - Method in class proguard.evaluation.value.NegatedDoubleValue
+
 
+
negate() - Method in class proguard.evaluation.value.NegatedFloatValue
+
 
+
negate() - Method in class proguard.evaluation.value.NegatedIntegerValue
+
 
+
negate() - Method in class proguard.evaluation.value.NegatedLongValue
+
 
+
negate() - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
negate() - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
negate() - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
negate() - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
negate() - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
negate() - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
negate() - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
negate() - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
negate() - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
negate() - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
negate() - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
negate() - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
negate() - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
NegatedDoubleValue - Class in proguard.evaluation.value
+
+
This DoubleValue represents a double value that is negated.
+
+
NegatedDoubleValue(DoubleValue) - Constructor for class proguard.evaluation.value.NegatedDoubleValue
+
+
Creates a new negated double value of the given double value.
+
+
NegatedFloatValue - Class in proguard.evaluation.value
+
+
This FloatValue represents a float value that is negated.
+
+
NegatedFloatValue(FloatValue) - Constructor for class proguard.evaluation.value.NegatedFloatValue
+
+
Creates a new negated float value of the given float value.
+
+
NegatedIntegerValue - Class in proguard.evaluation.value
+
+
This IntegerValue represents a integer value that is negated.
+
+
NegatedIntegerValue(IntegerValue) - Constructor for class proguard.evaluation.value.NegatedIntegerValue
+
+
Creates a new negated integer value of the given integer value.
+
+
NegatedLongValue - Class in proguard.evaluation.value
+
+
This LongValue represents a long value that is negated.
+
+
NegatedLongValue(LongValue) - Constructor for class proguard.evaluation.value.NegatedLongValue
+
+
Creates a new negated long value of the given long value.
+
+
NEGATIVE_STACK_SIZE - Static variable in class proguard.exception.ErrorId
+
 
+
NegativeStackSizeException - Exception in proguard.classfile.exception
+
 
+
NegativeStackSizeException(Clazz, Method, Instruction, int) - Constructor for exception proguard.classfile.exception.NegativeStackSizeException
+
 
+
nEq(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
NEST_HOST - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
NEST_MEMBERS - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
nestedClassesAccept(boolean, ClassVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
nestedClassNames - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
NestHostAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a nest host attribute.
+
+
NestHostAttribute() - Constructor for class proguard.classfile.attribute.NestHostAttribute
+
+
Creates an uninitialized NestHostAttribute.
+
+
NestHostAttribute(int, int) - Constructor for class proguard.classfile.attribute.NestHostAttribute
+
+
Creates an initialized NestHostAttribute.
+
+
NestHostFinder - Class in proguard.classfile.util
+
+
This utility class can find the nest host class names of given classes.
+
+
NestHostFinder() - Constructor for class proguard.classfile.util.NestHostFinder
+
 
+
NestMemberAdder - Class in proguard.classfile.editor
+
+
This ConstantVisitor and ClassVisitor adds the class constants or the classes + that it visits to the given target nest member attribute.
+
+
NestMemberAdder(ProgramClass, NestMembersAttribute) - Constructor for class proguard.classfile.editor.NestMemberAdder
+
+
Creates a new NestMemberAdder that will add classes to the given target nest members attribute.
+
+
NestMembersAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a nest host attribute.
+
+
NestMembersAttribute() - Constructor for class proguard.classfile.attribute.NestMembersAttribute
+
+
Creates an uninitialized NestMembersAttribute.
+
+
NestMembersAttribute(int, int, int[]) - Constructor for class proguard.classfile.attribute.NestMembersAttribute
+
+
Creates an initialized NestMembersAttribute.
+
+
NEVER - Static variable in class proguard.evaluation.value.Value
+
 
+
NeverAbortOperator - Class in proguard.analysis.cpa.defaults
+
+
This AbortOperator never terminates the analysis prematurely.
+
+
NEW - proguard.dexfile.ir.expr.Value.VT
+
 
+
new_(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
new_(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
new_(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
new_(String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
new_(String, Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
new_(String, Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
new_(Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
new_(Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
NEW_ARRAY - proguard.dexfile.ir.expr.Value.VT
+
 
+
NEW_ARRAY - proguard.dexfile.reader.Op
+
 
+
NEW_INSTANCE - proguard.dexfile.reader.Op
+
 
+
NEW_INSTANCE - Static variable in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
NEW_MULTI_ARRAY - proguard.dexfile.ir.expr.Value.VT
+
 
+
newarray(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
newarray(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
newArray(String, List<StateT>) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns an abstract state for a new array for the given type and dimentions.
+
+
newArray(String, List<StateT>, JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.state.heap.JvmForgetfulHeapAbstractState
+
 
+
newArray(String, List<StateT>, JvmCfaNode) - Method in interface proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState
+
+
Creates a new array of a given class with the given dimension sizes at a specific program point + and returns a reference to it.
+
+
newArray(String, List<StateT>, JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
newDescriptor(String, Clazz[]) - Static method in class proguard.classfile.editor.ClassReferenceFixer
+
+
Returns the new descriptor of a method after applying the obfuscation, given the old descriptor + and the referenced classes.
+
+
NewExpr - Class in proguard.dexfile.ir.expr
+
 
+
NewExpr(String) - Constructor for class proguard.dexfile.ir.expr.NewExpr
+
 
+
newFrame() - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
newFrame(int) - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
newFrame(int) - Method in class proguard.dexfile.ir.ts.an.SimpleLiveAnalyze
+
 
+
newFrame(int) - Method in class proguard.dexfile.ir.ts.UnSSATransformer.LiveA
+
 
+
NewMutiArrayExpr - Class in proguard.dexfile.ir.expr
+
+
Represent a NEW_MUTI_ARRAY expression.
+
+
NewMutiArrayExpr(String, int, Value[]) - Constructor for class proguard.dexfile.ir.expr.NewMutiArrayExpr
+
 
+
newObject(String) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
+
Returns an ValueAbstractState for a new object of the given className.
+
+
newObject(String) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns an abstract state for a new object of the given className.
+
+
newObject(String, JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.state.heap.JvmForgetfulHeapAbstractState
+
 
+
newObject(String, JvmCfaNode) - Method in interface proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState
+
+
Creates a new object of a given class at a specific program point and returns a reference to + it.
+
+
newObject(String, JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
newObject(Clazz) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
+
Returns an ValueAbstractState state for a new object of the given Clazz.
+
+
newObject(Clazz) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns an abstract state for a new object of the given Clazz.
+
+
newObject(Clazz, JvmCfaNode) - Method in interface proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState
+
+
Creates a new object of a given Clazz at a specific program point and returns a + reference to it.
+
+
newOperation(DexStmtNode) - Method in class proguard.dexfile.reader.node.analysis.DvmInterpreter
+
+
CONST* SGET* NEW
+
+
newTransferRelation(ValueFactory, ExecutingInvocationUnit) - Method in interface proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun.TransferRelationFactory
+
 
+
NewTransformer - Class in proguard.dexfile.ir.ts
+
+
simply merge
+
+
NewTransformer() - Constructor for class proguard.dexfile.ir.ts.NewTransformer
+
 
+
newValue() - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
newValue() - Method in class proguard.dexfile.ir.ts.an.SimpleLiveAnalyze
+
 
+
newValue() - Method in class proguard.dexfile.ir.ts.UnSSATransformer.LiveA
+
 
+
nExceptionRef(String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
next() - Method in class proguard.classfile.util.InternalTypeEnumeration
+
 
+
nextClassName() - Method in class proguard.classfile.util.DescriptorClassEnumeration
+
+
Returns the next class name from the descriptor.
+
+
nextFluff() - Method in class proguard.classfile.util.DescriptorClassEnumeration
+
+
Returns the next fluff (surrounding class names) from the descriptor.
+
+
nextToken() - Method in class proguard.io.DataEntryTokenizer
+
 
+
nextType() - Method in class proguard.classfile.util.ExternalTypeEnumeration
+
 
+
nextType() - Method in class proguard.classfile.util.InternalTypeEnumeration
+
+
Returns the next type from the method descriptor.
+
+
nFCmpg(Value, Value) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nFCmpl(Value, Value) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nField(Value, String, String, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nFillArrayData(Value, Value) - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
nFilledArray(String, Value[]) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nFloat(float) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nGe(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nGoto(LabelStmt) - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
nGt(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
niAdd(Value, Value) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
niceExceptionMessage(Throwable, int) - Static method in class proguard.dexfile.reader.DexFileReader
+
 
+
nIdentity(Value, Value) - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
niEq(Value, Value) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nIf(Value, LabelStmt) - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
niGt(Value, Value) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nInstanceOf(Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nInt(int) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nInvokeCustom(Value[], String, Proto, MethodHandle, Object[]) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nInvokeInterface(Value[], String, String, String[], String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nInvokeNew(Value[], String[], String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nInvokeNew(Value[], String[], String, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nInvokePolymorphic(Value[], Proto, Method) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nInvokeSpecial(Value[], String, String, String[], String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nInvokeStatic(Value[], String, String, String[], String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nInvokeVirtual(Value[], String, String, String[], String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
njGt(Value, Value) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nLabel() - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
nLCmp(Value, Value) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nLe(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nLength(Value) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nLocal(int) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nLocal(int, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nLocal(String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nLock(Value) - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
nLong(long) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nLookupSwitch(Value, int[], LabelStmt[], LabelStmt) - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
nLt(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nMul(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nNe(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nNeg(Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nNew(String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nNewArray(String, Value) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nNewIntArray(Value) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nNewLongArray(Value) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nNewMutiArray(String, int, Value[]) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nNop() - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
nNot(Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nNull() - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
NO_SUBROUTINE - Static variable in class proguard.classfile.util.BranchTargetFinder
+
 
+
Node - Class in proguard.analysis.datastructure.callgraph
+
+
Represents a node in a sub-callgraph, e.g.
+
+
Node(MethodSignature) - Constructor for class proguard.analysis.datastructure.callgraph.Node
+
 
+
NonClosingDataEntryWriter - Class in proguard.io
+
+
This DataEntryWriter delegates to another DataEntryWriter, except for any NonClosingDataEntryWriter.close() calls.
+
+
NonClosingDataEntryWriter(DataEntryWriter) - Constructor for class proguard.io.NonClosingDataEntryWriter
+
+
Creates a new NonClosingDataEntryWriter that won't close its delegate.
+
+
NONE - Static variable in class proguard.evaluation.InitializationFinder
+
 
+
NONE - Static variable in class proguard.evaluation.PartialEvaluator
+
 
+
NONE - Static variable in class proguard.evaluation.TracedVariables
+
 
+
NonEmptyAttributeFilter - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor delegates its visits another AttributeVisitor, but only + when the visited attribute is not empty.
+
+
NonEmptyAttributeFilter(AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
+
Creates a new NonEmptyAttributeFilter.
+
+
NoOpRebuildOperator - Class in proguard.analysis.cpa.bam
+
+
This RebuildOperator returns the original AbstractState without performing any + rebuilding.
+
+
NoOpRebuildOperator() - Constructor for class proguard.analysis.cpa.bam.NoOpRebuildOperator
+
 
+
NoOpReduceOperator<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> - Class in proguard.analysis.cpa.bam
+
+
This ReduceOperator returns the original AbstractState without performing any + reduction.
+
+
NoOpReduceOperator() - Constructor for class proguard.analysis.cpa.bam.NoOpReduceOperator
+
 
+
nop() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
nop() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
NOP - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
NOP - proguard.dexfile.reader.Op
+
 
+
NopStmt - Class in proguard.dexfile.ir.stmt
+
+
Represent a NOP statement
+
+
NopStmt() - Constructor for class proguard.dexfile.ir.stmt.NopStmt
+
 
+
nOr(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
NOT - proguard.dexfile.ir.expr.Value.VT
+
 
+
NOT_INT - proguard.dexfile.reader.Op
+
 
+
NOT_LONG - proguard.dexfile.reader.Op
+
 
+
note(String, String) - Method in class proguard.classfile.util.WarningLogger
+
 
+
note(String, String) - Method in class proguard.classfile.util.WarningPrinter
+
+
Prints out the given note without incrementing the warning count, if the given class name + passes the class name filter.
+
+
note(String, String, String) - Method in class proguard.classfile.util.WarningLogger
+
 
+
note(String, String, String) - Method in class proguard.classfile.util.WarningPrinter
+
+
Prints out the given note without incrementing the warning count, if the given class nams pass + the class name filter.
+
+
notEqual(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given IntegerValue are different: NEVER, + MAYBE, or ALWAYS.
+
+
notEqual(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given ParticularIntegerValue are different: + NEVER, MAYBE, or ALWAYS.
+
+
notEqual(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given RangeIntegerValue are different: NEVER + , MAYBE, or ALWAYS.
+
+
notEqual(ReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue and the given ReferenceValue are different.
+
+
notEqual(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given SpecificIntegerValue are different: NEVER + , MAYBE, or ALWAYS.
+
+
notEqual(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given UnknownIntegerValue are different: NEVER + , MAYBE, or ALWAYS.
+
+
NotMatcher - Class in proguard.util
+
+
This StringMatcher tests whether strings does not match the given StringMatcher.
+
+
NotMatcher(StringMatcher) - Constructor for class proguard.util.NotMatcher
+
 
+
NotStringFunction - Class in proguard.util
+
+
This StringFunction returns the original string if the given StringFunction + returns null, or null otherwise.
+
+
NotStringFunction(StringFunction) - Constructor for class proguard.util.NotStringFunction
+
+
Creates a new NotStringFunction with the two given string functions.
+
+
notThrow(Stmt) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
nParameterRef(String, int) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nPhi(Value...) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nRem(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nReturn(Value) - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
nReturnVoid() - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
nShl(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nShort(short) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nShr(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nStaticField(String, String, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nString(String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nSub(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nTableSwitch(Value, int, LabelStmt[], LabelStmt) - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
nThisRef(String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nThrow(Value) - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
nType(String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nType(DexType) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
Null - Static variable in class proguard.dexfile.ir.expr.Constant
+
 
+
NULL_TYPE - Static variable in class proguard.classfile.attribute.preverification.VerificationType
+
 
+
NullType - Class in proguard.classfile.attribute.preverification
+
+
This VerificationType represents a Null type.
+
+
NullType() - Constructor for class proguard.classfile.attribute.preverification.NullType
+
 
+
nUnLock(Value) - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
nUshr(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nVoidInvoke(Value) - Static method in class proguard.dexfile.ir.stmt.Stmts
+
 
+
nXor(Value, Value, String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
+ + + +

O

+
+
O - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
O - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
OBB_FILE_EXTENSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
obfuscatedFilename - Variable in class proguard.analysis.datastructure.FileLocation
+
 
+
OBJECT - proguard.dexfile.ir.TypeClass
+
 
+
OBJECT_TYPE - Static variable in class proguard.classfile.attribute.preverification.VerificationType
+
 
+
ObjectType - Class in proguard.classfile.attribute.preverification
+
+
This VerificationType represents an Object type.
+
+
ObjectType() - Constructor for class proguard.classfile.attribute.preverification.ObjectType
+
+
Creates an uninitialized ObjectType.
+
+
ObjectType(int) - Constructor for class proguard.classfile.attribute.preverification.ObjectType
+
+
Creates an ObjectType that points to the given class constant.
+
+
ObjectUtil - Class in proguard.util
+
+
This class contains utility methods operating on instances.
+
+
ObjectUtil() - Constructor for class proguard.util.ObjectUtil
+
 
+
of(Clazz, Member) - Static method in class proguard.classfile.Signature
+
+
Convenience factory that takes any Member and generates the appropriate signature, i.e.
+
+
offset - Variable in class proguard.analysis.datastructure.CodeLocation
+
 
+
offset() - Method in class proguard.classfile.editor.CodeAttributeEditor.Label
+
+
Returns the offset that can then be used as a branch target in other replacement + instructions.
+
+
offset() - Method in class proguard.classfile.editor.InstructionSequenceReplacer.Label
+
+
Returns the offset that can then be used as a branch target in other replacement + instructions.
+
+
OffsetTargetInfo - Class in proguard.classfile.attribute.annotation.target
+
+
Representation of an offset annotation target.
+
+
OffsetTargetInfo() - Constructor for class proguard.classfile.attribute.annotation.target.OffsetTargetInfo
+
+
Creates an uninitialized OffsetTargetInfo.
+
+
OffsetTargetInfo(byte) - Constructor for class proguard.classfile.attribute.annotation.target.OffsetTargetInfo
+
+
Creates a partially initialized OffsetTargetInfo.
+
+
OffsetTargetInfo(byte, int) - Constructor for class proguard.classfile.attribute.annotation.target.OffsetTargetInfo
+
+
Creates an initialized OffsetTargetInfo.
+
+
oload(int) - Method in class proguard.evaluation.Variables
+
+
Loads the InstructionOffsetValue from the variable with the given index.
+
+
onAssign(Local, AssignStmt) - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
onAssign(Local, AssignStmt) - Method in interface proguard.dexfile.ir.ts.Cfg.OnAssignCallBack
+
 
+
onAssignLocal(Local, Value) - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
onAssignLocal(Local, Value) - Method in class proguard.dexfile.ir.ts.an.SimpleLiveAnalyze
+
 
+
onAssignLocal(Local, Value) - Method in class proguard.dexfile.ir.ts.UnSSATransformer.LiveA
+
 
+
onMethodEntry(AbstractState, boolean) - Method in interface proguard.analysis.cpa.bam.ReduceOperator
+
+
Performs additional operations on the reduced state (i.e.
+
+
onMethodEntry(AbstractState, boolean) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintReduceOperator
+
 
+
onUse(Local) - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
onUse(Local) - Method in interface proguard.dexfile.ir.ts.Cfg.OnUseCallBack
+
 
+
onUseLocal(SimpleLiveValue, Local) - Method in class proguard.dexfile.ir.ts.an.SimpleLiveAnalyze
+
 
+
onUseLocal(UnSSATransformer.LiveV, Local) - Method in class proguard.dexfile.ir.ts.UnSSATransformer.LiveA
+
 
+
onUseLocal(T, Local) - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
onVisit(Stmt) - Method in interface proguard.dexfile.ir.ts.Cfg.DfsVisitor
+
 
+
op - Variable in class proguard.dexfile.ir.expr.Value.E1Expr
+
 
+
op - Variable in class proguard.dexfile.ir.stmt.Stmt.E1Stmt
+
 
+
op - Variable in class proguard.dexfile.reader.node.insn.DexStmtNode
+
 
+
Op - Enum in proguard.dexfile.reader
+
 
+
OP_AALOAD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_AASTORE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ACONST_NULL - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ALOAD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ALOAD_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ALOAD_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ALOAD_2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ALOAD_3 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ANEWARRAY - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ARETURN - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ARRAYLENGTH - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ASTORE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ASTORE_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ASTORE_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ASTORE_2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ASTORE_3 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ATHROW - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_BALOAD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_BASTORE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_BIPUSH - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_CALOAD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_CASTORE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_CHECKCAST - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_D2F - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_D2I - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_D2L - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DADD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DALOAD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DASTORE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DCMPG - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DCMPL - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DCONST_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DCONST_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DDIV - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DLOAD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DLOAD_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DLOAD_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DLOAD_2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DLOAD_3 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DMUL - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DNEG - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DREM - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DRETURN - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DSTORE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DSTORE_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DSTORE_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DSTORE_2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DSTORE_3 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DSUB - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DUP - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DUP_X1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DUP_X2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DUP2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DUP2_X1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DUP2_X2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_F2D - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_F2I - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_F2L - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FADD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FALOAD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FASTORE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FCMPG - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FCMPL - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FCONST_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FCONST_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FCONST_2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FDIV - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FLOAD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FLOAD_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FLOAD_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FLOAD_2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FLOAD_3 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FMUL - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FNEG - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FREM - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FRETURN - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FSTORE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FSTORE_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FSTORE_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FSTORE_2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FSTORE_3 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_FSUB - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_GETFIELD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_GETSTATIC - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_GOTO - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_GOTO_W - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_I2B - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_I2C - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_I2D - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_I2F - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_I2L - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_I2S - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IADD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IALOAD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IAND - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IASTORE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ICONST_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ICONST_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ICONST_2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ICONST_3 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ICONST_4 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ICONST_5 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ICONST_M1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IDIV - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFACMPEQ - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFACMPNE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFEQ - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFGE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFGT - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFICMPEQ - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFICMPGE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFICMPGT - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFICMPLE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFICMPLT - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFICMPNE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFLE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFLT - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFNE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFNONNULL - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IFNULL - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IINC - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ILOAD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ILOAD_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ILOAD_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ILOAD_2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ILOAD_3 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IMUL - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_INEG - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_INSTANCEOF - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_INVOKEDYNAMIC - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_INVOKEINTERFACE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_INVOKESPECIAL - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_INVOKESTATIC - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_INVOKEVIRTUAL - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IOR - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IREM - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IRETURN - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ISHL - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ISHR - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ISTORE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ISTORE_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ISTORE_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ISTORE_2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ISTORE_3 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_ISUB - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IUSHR - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_IXOR - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_JSR - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_JSR_W - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_L2D - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_L2F - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_L2I - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LADD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LALOAD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LAND - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LASTORE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LCMP - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LCONST_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LCONST_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LDC - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LDC_W - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LDC2_W - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LDIV - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LLOAD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LLOAD_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LLOAD_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LLOAD_2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LLOAD_3 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LMUL - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LNEG - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LOOKUPSWITCH - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LOR - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LREM - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LRETURN - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LSHL - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LSHR - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LSTORE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LSTORE_0 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LSTORE_1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LSTORE_2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LSTORE_3 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LSUB - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LUSHR - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LXOR - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_MONITORENTER - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_MONITOREXIT - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_MULTIANEWARRAY - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_NEW - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_NEWARRAY - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_NOP - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_POP - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_POP2 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_PUTFIELD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_PUTSTATIC - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_RET - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_RETURN - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_SALOAD - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_SASTORE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_SIPUSH - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_SWAP - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_TABLESWITCH - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_WIDE - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
op1 - Variable in class proguard.dexfile.ir.expr.Value.E2Expr
+
 
+
op1 - Variable in class proguard.dexfile.ir.stmt.Stmt.E2Stmt
+
 
+
op2 - Variable in class proguard.dexfile.ir.expr.Value.E2Expr
+
 
+
op2 - Variable in class proguard.dexfile.ir.stmt.Stmt.E2Stmt
+
 
+
opcode - Variable in class proguard.classfile.instruction.Instruction
+
 
+
opcode - Variable in enum proguard.dexfile.reader.Op
+
 
+
OPEN - Static variable in class proguard.classfile.AccessConstants
+
 
+
OPEN - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
openManifestFiles() - Method in class proguard.io.JarWriter
+
+
Prepares streams and writers for capturing digests of a parent entry.
+
+
openManifestFiles() - Method in class proguard.io.SignedJarWriter
+
 
+
opens - Variable in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
opensAccept(Clazz, OpensInfoVisitor) - Method in class proguard.classfile.attribute.module.ModuleAttribute
+
+
Applies the given visitor to all exports.
+
+
OpensInfo - Class in proguard.classfile.attribute.module
+
+
Representation of a Opens entry in a Module attribute.
+
+
OpensInfo() - Constructor for class proguard.classfile.attribute.module.OpensInfo
+
+
Creates an uninitialized OpensInfo.
+
+
OpensInfo(int, int, int, int[]) - Constructor for class proguard.classfile.attribute.module.OpensInfo
+
+
Creates an initialized OpensInfo.
+
+
OpensInfoVisitor - Interface in proguard.classfile.attribute.module.visitor
+
+
This interface specifies the methods for a visitor of OpensInfo instances.
+
+
operandStack - Variable in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
 
+
opop() - Method in class proguard.evaluation.Stack
+
+
Pops the top InstructionOffsetValue from the stack.
+
+
ops - Variable in class proguard.dexfile.ir.expr.Value.EnExpr
+
 
+
ops - Static variable in enum proguard.dexfile.reader.Op
+
 
+
OptimizedCallableReferenceFilter(ClassVisitor, ClassVisitor) - Constructor for class proguard.classfile.kotlin.reflect.util.KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter
+
 
+
optimizeSynchronized(boolean) - Method in class proguard.dexfile.converter.IR2ProConverter
+
 
+
or(TriPredicate<? super T, ? super U, ? super V>) - Method in interface proguard.analysis.cpa.util.TriPredicate
+
+
Returns a disjunction of this and other.
+
+
or(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical or of this IntegerValue and the given IntegerValue.
+
+
or(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
or(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
or(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
or(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
or(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical or of this LongValue and the given LongValue.
+
+
or(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
or(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
or(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
or(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical or of this IntegerValue and the given ParticularIntegerValue.
+
+
or(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
or(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
or(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical or of this LongValue and the given ParticularLongValue.
+
+
or(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
or(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical or of this IntegerValue and the given RangeIntegerValue.
+
+
or(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
or(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
or(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
or(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical or of this IntegerValue and the given SpecificIntegerValue.
+
+
or(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
or(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical or of this LongValue and the given SpecificLongValue.
+
+
or(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
or(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical or of this IntegerValue and the given UnknownIntegerValue.
+
+
OR - proguard.dexfile.ir.expr.Value.VT
+
 
+
OR - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
OR - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
OR_INT - proguard.dexfile.reader.Op
+
 
+
OR_INT_2ADDR - proguard.dexfile.reader.Op
+
 
+
OR_INT_LIT16 - proguard.dexfile.reader.Op
+
 
+
OR_INT_LIT8 - proguard.dexfile.reader.Op
+
 
+
OR_LONG - proguard.dexfile.reader.Op
+
 
+
OR_LONG_2ADDR - proguard.dexfile.reader.Op
+
 
+
OrderRegAssignByExcludeSizeDesc - Static variable in class proguard.dexfile.ir.ts.UnSSATransformer
+
 
+
OrMatcher - Class in proguard.util
+
+
This StringMatcher tests whether strings matches at least one of the given StringMatcher instances.
+
+
OrMatcher(StringMatcher...) - Constructor for class proguard.util.OrMatcher
+
+
Creates a new OrMatcher with the given string matchers.
+
+
orRightHandSideAccept(Clazz, KotlinEffectMetadata, KotlinEffectExprVisitor) - Method in class proguard.classfile.kotlin.KotlinEffectExpressionMetadata
+
 
+
orRightHandSides - Variable in class proguard.classfile.kotlin.KotlinEffectExpressionMetadata
+
 
+
OrStringFunction - Class in proguard.util
+
+
This StringFunction tests whether strings match either given StringFunction + instances, returning the first non-null result.
+
+
OrStringFunction(StringFunction, StringFunction) - Constructor for class proguard.util.OrStringFunction
+
+
Creates a new AndStringFunction with the two given string functions.
+
+
OTHER - proguard.io.DataEntryTokenType
+
 
+
otherDataEntryWriter - Variable in class proguard.io.DexDataEntryWriter
+
 
+
otherParents - Variable in class proguard.dexfile.ir.ts.an.SimpleLiveValue
+
 
+
OUT - proguard.classfile.kotlin.KotlinTypeVariance
+
+
The affected type parameter or type is *covariant*.
+
+
outerClassAccept(Clazz, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
outerClassConstantAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.InnerClassesInfo
+
+
Applies the given constant pool visitor to the class constant of the outer class, if any.
+
+
outerClassType - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
outgoing - Variable in class proguard.analysis.datastructure.callgraph.CallGraph
+
 
+
outgoingCallLocations - Variable in class proguard.analysis.datastructure.callgraph.Node
+
+
The CodeLocations containing the calls in this node that lead to its successors.
+
+
outputReachedSet - Variable in class proguard.analysis.cpa.defaults.SequentialCpaRun
+
 
+
outputStream - Variable in class proguard.io.ZipOutput
+
 
+
owner - Variable in class proguard.dexfile.ir.expr.FieldExpr
+
+
Field owner type descriptor
+
+
owner - Variable in class proguard.dexfile.ir.expr.StaticFieldExpr
+
+
Field owner type
+
+
owner - Variable in class proguard.dexfile.ir.IrMethod
+
 
+
ownerAccept(KotlinMetadataVisitor) - Method in interface proguard.classfile.kotlin.reflect.CallableReferenceInfo
+
 
+
ownerAccept(KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.reflect.FunctionReferenceInfo
+
 
+
ownerAccept(KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.reflect.JavaReferenceInfo
+
 
+
ownerAccept(KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.reflect.LocalVariableReferenceInfo
+
 
+
ownerAccept(KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.reflect.PropertyReferenceInfo
+
 
+
ownerClassName - Variable in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
ownerReferencedClass - Variable in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
+ + + +

P

+
+
P - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
P - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
PACKAGE - Static variable in class proguard.classfile.constant.Constant
+
 
+
PACKAGE_JAVA_LANG - Static variable in class proguard.classfile.ClassConstants
+
 
+
PACKAGE_JAVA_LANG - Static variable in class proguard.classfile.JavaConstants
+
 
+
PACKAGE_SEPARATOR - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
PACKAGE_SEPARATOR - Static variable in class proguard.classfile.TypeConstants
+
 
+
PACKAGE_VISIBLE - Static variable in class proguard.classfile.util.AccessUtil
+
 
+
packageAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.module.ExportsInfo
+
+
Applies the given constant pool visitor to the package constant of the package, if any.
+
+
packageAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.module.OpensInfo
+
+
Applies the given constant pool visitor to the package constant of the package, if any.
+
+
PackageConstant - Class in proguard.classfile.constant
+
+
This Constant represents a package constant in the constant pool.
+
+
PackageConstant() - Constructor for class proguard.classfile.constant.PackageConstant
+
+
Creates an uninitialized PackageConstant.
+
+
PackageConstant(int) - Constructor for class proguard.classfile.constant.PackageConstant
+
+
Creates a new PackageConstant with the given name index.
+
+
packagesAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.module.ModulePackagesAttribute
+
+
Applies the given constant pool visitor to all packages.
+
+
PACKED_SWITCH - proguard.dexfile.reader.Op
+
 
+
PackedSwitchStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
PackedSwitchStmtNode(Op, int, int, DexLabel[]) - Constructor for class proguard.dexfile.reader.node.insn.PackedSwitchStmtNode
+
 
+
Pair(K, V) - Constructor for class proguard.classfile.util.renderer.MemberViewModel.Pair
+
 
+
ParallelAllClassVisitor - Class in proguard.classfile.visitor
+
+
This ClassPoolVisitor will visit all Clazz instances of the class pool in a parallel way.
+
+
ParallelAllClassVisitor(ParallelAllClassVisitor.ClassVisitorFactory) - Constructor for class proguard.classfile.visitor.ParallelAllClassVisitor
+
+
Create a new ParallelAllClassVisitor that will use the given factory to visit all classes in a + ClassPool in a parallel way.
+
+
ParallelAllClassVisitor.ClassVisitorFactory - Interface in proguard.classfile.visitor
+
+
A factory for ClassVisitor objects.
+
+
ParallelDexClassReader - Class in proguard.io
+
+
This data entry reader reads dex files, converts their classes, and passes them to a given class + visitor.
+
+
ParallelDexClassReader(boolean, boolean, ClassVisitor, int) - Constructor for class proguard.io.ParallelDexClassReader
+
+
Creates a new DexClassReader.
+
+
PARAMETER_REF - proguard.dexfile.ir.expr.Value.VT
+
 
+
parameterAnnotations - Variable in class proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute
+
 
+
ParameterAnnotationsAttribute - Class in proguard.classfile.attribute.annotation
+
+
This Attribute represents a parameter annotations attribute.
+
+
ParameterAnnotationsAttribute() - Constructor for class proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute
+
+
Creates an uninitialized ParameterAnnotationsAttribute.
+
+
ParameterAnnotationsAttribute(int, int, int[], Annotation[][]) - Constructor for class proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute
+
+
Creates an initialized ParameterAnnotationsAttribute.
+
+
ParameterAnnotationsAttributeEditor - Class in proguard.classfile.editor
+
+
This class can add annotations to a given parameter annotations attribute.
+
+
ParameterAnnotationsAttributeEditor(ParameterAnnotationsAttribute) - Constructor for class proguard.classfile.editor.ParameterAnnotationsAttributeEditor
+
+
Creates a new ParameterAnnotationsAttributeEditor that will edit annotations in the given + parameter annotations attribute.
+
+
parameterAnns - Variable in class proguard.dexfile.reader.node.DexMethodNode
+
 
+
parameterIndex - Variable in class proguard.classfile.kotlin.KotlinEffectExpressionMetadata
+
 
+
parameterIndex - Variable in class proguard.dexfile.ir.expr.RefExpr
+
 
+
ParameterInfo - Class in proguard.classfile.attribute
+
+
Representation of a parameter, as defined in a method parameters attribute.
+
+
ParameterInfo() - Constructor for class proguard.classfile.attribute.ParameterInfo
+
+
Creates an uninitialized ParameterInfo.
+
+
ParameterInfo(int, int) - Constructor for class proguard.classfile.attribute.ParameterInfo
+
+
Creates an initialized ParameterInfo.
+
+
ParameterInfoAdder - Class in proguard.classfile.editor
+
+
This ParameterInfoVisitor adds all parameter information that it visits to the given + target method parameters attribute.
+
+
ParameterInfoAdder(ProgramClass, MethodParametersAttribute) - Constructor for class proguard.classfile.editor.ParameterInfoAdder
+
+
Creates a new ParameterInfoAdder that will copy parameter information into the given target + method parameters attribute.
+
+
ParameterInfoVisitor - Interface in proguard.classfile.attribute.visitor
+
+
This interface specifies the method for a visitor of ParameterInfo instances.
+
+
parameterName - Variable in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
parameterNames - Variable in class proguard.dexfile.reader.node.DexDebugNode
+
 
+
parameters - Variable in class proguard.classfile.attribute.MethodParametersAttribute
+
 
+
parametersAccept(Clazz, Method, ParameterInfoVisitor) - Method in class proguard.classfile.attribute.MethodParametersAttribute
+
+
Applies the given visitor to all parameters.
+
+
ParameterVisitor - Interface in proguard.classfile.visitor
+
+
This interface specifies the methods for a visitor of method parameters or field types (which can + be considered parameters when storing values).
+
+
parent - Variable in class proguard.dexfile.ir.ts.an.SimpleLiveValue
+
 
+
ParentDataEntryWriter - Class in proguard.io
+
+
This DataEntryWriter lets another DataEntryWriter write the parent data entries.
+
+
ParentDataEntryWriter(DataEntryWriter) - Constructor for class proguard.io.ParentDataEntryWriter
+
+
Creates a new ParentDataEntryWriter.
+
+
parents - Variable in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
parse(String) - Method in class proguard.util.ClassNameParser
+
 
+
parse(String) - Method in class proguard.util.CollectionParser
+
 
+
parse(String) - Method in class proguard.util.FileNameParser
+
 
+
parse(String) - Method in class proguard.util.ListFunctionParser
+
 
+
parse(String) - Method in class proguard.util.ListParser
+
 
+
parse(String) - Method in class proguard.util.NameParser
+
 
+
parse(String) - Method in class proguard.util.SingleFunctionParser
+
 
+
parse(String) - Method in interface proguard.util.StringFunctionParser
+
+
Creates a StringFunction for the given regular expression.
+
+
parse(String) - Method in interface proguard.util.StringParser
+
+
Creates a StringMatcher for the given regular expression.
+
+
parse(List) - Method in class proguard.util.ListFunctionParser
+
+
Creates a StringFunction for the given regular expression, which can be a list of optionally + negated simple entries.
+
+
parse(List) - Method in class proguard.util.ListParser
+
+
Creates a StringMatcher for the given regular expression, which can be a list of optionally + negated simple entries.
+
+
parse(List<String>) - Method in class proguard.util.CollectionParser
+
+
Creates a StringMatcher for the given regular expression, which can be a list of optionally + negated simple entries.
+
+
partClassNames - Variable in class proguard.classfile.kotlin.KotlinMultiFileFacadeKindMetadata
+
 
+
PARTIAL_EVALUATOR_ERROR1 - Static variable in class proguard.exception.ErrorId
+
 
+
PARTIAL_EVALUATOR_ERROR2 - Static variable in class proguard.exception.ErrorId
+
 
+
PARTIAL_EVALUATOR_EXCESSIVE_COMPLEXITY - proguard.analysis.Metrics.MetricType
+
 
+
PARTIAL_EVALUATOR_VALUE_IMPRECISE - proguard.analysis.Metrics.MetricType
+
 
+
PartialEvaluator - Class in proguard.evaluation
+
+
This AttributeVisitor performs partial evaluation on the code attributes that it visits.
+
+
PartialEvaluator() - Constructor for class proguard.evaluation.PartialEvaluator
+
+
Creates a simple PartialEvaluator.
+
+
PartialEvaluator(ValueFactory) - Constructor for class proguard.evaluation.PartialEvaluator
+
+
Creates a new PartialEvaluator.
+
+
PartialEvaluator(ValueFactory, InvocationUnit, boolean) - Constructor for class proguard.evaluation.PartialEvaluator
+
+
Creates a new PartialEvaluator.
+
+
PartialEvaluator(ValueFactory, InvocationUnit, boolean, InstructionVisitor) - Constructor for class proguard.evaluation.PartialEvaluator
+
+
Creates a new PartialEvaluator.
+
+
PartialEvaluator.Builder - Class in proguard.evaluation
+
 
+
PartialEvaluator.InstructionBlock - Class in proguard.evaluation
+
+
This class represents an instruction block that has to be executed, starting with a given state + at a given instruction offset.
+
+
PartialEvaluatorException - Exception in proguard.evaluation.exception
+
 
+
PartialEvaluatorException(int, Throwable, Clazz, Method, String, String...) - Constructor for exception proguard.evaluation.exception.PartialEvaluatorException
+
 
+
PartialEvaluatorStateTracker - Interface in proguard.evaluation.util
+
+
Interface with callback methods called by the Partial Evaluator when it enters certain states.
+
+
PartialEvaluatorUtils - Class in proguard.util
+
+
Helper functions to access PartialEvaluator results more conveniently.
+
+
ParticularDoubleValue - Class in proguard.evaluation.value
+
+
This DoubleValue represents a particular double value.
+
+
ParticularDoubleValue(double) - Constructor for class proguard.evaluation.value.ParticularDoubleValue
+
+
Creates a new particular double value.
+
+
ParticularFloatValue - Class in proguard.evaluation.value
+
+
This FloatValue represents a particular float value.
+
+
ParticularFloatValue(float) - Constructor for class proguard.evaluation.value.ParticularFloatValue
+
+
Creates a new particular float value.
+
+
ParticularIntegerValue - Class in proguard.evaluation.value
+
+
This IntegerValue represents a particular integer value.
+
+
ParticularIntegerValue(int) - Constructor for class proguard.evaluation.value.ParticularIntegerValue
+
+
Creates a new particular integer value.
+
+
ParticularLongValue - Class in proguard.evaluation.value
+
+
This LongValue represents a particular long value.
+
+
ParticularLongValue(long) - Constructor for class proguard.evaluation.value.ParticularLongValue
+
+
Creates a new particular long value.
+
+
ParticularReferenceValue - Class in proguard.evaluation.value
+
+
This ParticularReferenceValue represents a particular reference value, i.e.
+
+
ParticularReferenceValue(Clazz, ValueFactory, Object, AnalyzedObject) - Constructor for class proguard.evaluation.value.ParticularReferenceValue
+
+
Create a new Instance with the given type, the class it is referenced in, and its actual value.
+
+
ParticularReferenceValueFactory - Class in proguard.evaluation
+
+
This TypedReferenceValueFactory creates reference values that also represent their + content.
+
+
ParticularReferenceValueFactory() - Constructor for class proguard.evaluation.ParticularReferenceValueFactory
+
 
+
ParticularValueFactory - Class in proguard.evaluation.value
+
+
This class provides methods to create and reuse Value instances that have particular values, + whenever they are known.
+
+
ParticularValueFactory() - Constructor for class proguard.evaluation.value.ParticularValueFactory
+
+
Creates a new ParticularValueFactory which does not keep track of particular references.
+
+
ParticularValueFactory(ValueFactory) - Constructor for class proguard.evaluation.value.ParticularValueFactory
+
+
Creates a new ParticularValueFactory, which uses the given valuefactory for both array and + non-array reference construction.
+
+
ParticularValueFactory(ValueFactory, ValueFactory) - Constructor for class proguard.evaluation.value.ParticularValueFactory
+
+
Creates a new ParticularValueFactory.
+
+
patch - Variable in class proguard.classfile.kotlin.KotlinMetadataVersion
+
 
+
patch - Variable in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
patternConstant - Variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
patternConstants - Variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
patternInstructions - Variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
peek() - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns the top element of the operand stack.
+
+
peek() - Method in class proguard.util.CircularIntBuffer
+
+
Get the head value.
+
+
peek(int) - Method in class proguard.analysis.cpa.defaults.StackAbstractState
+
+
Returns the indexth element from the top of the stack.
+
+
peek(int) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns the indexth element from the top of the operand stack.
+
+
peek(int) - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
+
Returns the indexth element from the top of the operand stack.
+
+
peek(int) - Method in class proguard.util.CircularIntBuffer
+
+
Get the element at an offset of the head.
+
+
peekCallStack() - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
+
Returns the information of the caller, null if the caller of the method the state belongs to is + unknown.
+
+
peekOrDefault(int, AbstractSpaceT) - Method in class proguard.analysis.cpa.defaults.StackAbstractState
+
+
Returns the indexth element from the top of the stack.
+
+
peekOrDefault(int, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns the indexth element from the top of the operand stack or returns + defaultState if the stack does not have enough elements.
+
+
peekOrDefault(int, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
+
Returns the indexth element from the top of the operand stack or returns + defaultState if the stack does not have enough elements.
+
+
peekOrDefault(StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns the top element of the operand stack or returns defaultState if the stack is + empty.
+
+
PeepholeEditor - Class in proguard.classfile.editor
+
+
This AttributeVisitor lets a given instruction visitor edit the code attributes that it + visits.
+
+
PeepholeEditor(CodeAttributeEditor, InstructionVisitor) - Constructor for class proguard.classfile.editor.PeepholeEditor
+
+
Creates a new PeepholeEditor.
+
+
PeepholeEditor(BranchTargetFinder, CodeAttributeEditor, InstructionVisitor) - Constructor for class proguard.classfile.editor.PeepholeEditor
+
+
Creates a new PeepholeEditor.
+
+
PERMITTED_SUBCLASSES - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
PermittedSubclassAdder - Class in proguard.classfile.editor
+
+
This ConstantVisitor and ClassVisitor adds the class constants or the classes + that it visits to the given target permitted classes attribute.
+
+
PermittedSubclassAdder(ProgramClass, PermittedSubclassesAttribute) - Constructor for class proguard.classfile.editor.PermittedSubclassAdder
+
+
Creates a new PermittedSubclassAdder that will add classes to the given target nest members + attribute.
+
+
permittedSubclassConstantsAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.PermittedSubclassesAttribute
+
+
Applies the given visitor to all member class constants.
+
+
PermittedSubclassesAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a permitted subclasses attribute.
+
+
PermittedSubclassesAttribute() - Constructor for class proguard.classfile.attribute.PermittedSubclassesAttribute
+
+
Creates an uninitialized PermittedSubclassesAttribute.
+
+
PermittedSubclassesAttribute(int, int, int[]) - Constructor for class proguard.classfile.attribute.PermittedSubclassesAttribute
+
+
Creates an initialized PermittedSubclassesAttribute.
+
+
PHI - proguard.dexfile.ir.expr.Value.VT
+
 
+
PhiExpr - Class in proguard.dexfile.ir.expr
+
 
+
PhiExpr(Value[]) - Constructor for class proguard.dexfile.ir.expr.PhiExpr
+
 
+
phiLabels - Variable in class proguard.dexfile.ir.IrMethod
+
 
+
phis - Variable in class proguard.dexfile.ir.stmt.LabelStmt
+
 
+
pn - proguard.classfile.util.kotlin.KotlinMetadataType
+
 
+
pn - Variable in class proguard.classfile.kotlin.KotlinMetadata
+
+
Fully qualified name of the package this class is located in, from Kotlin's point of view, or + empty string if this name does not differ from the JVM's package FQ name.
+
+
poll() - Method in class proguard.dexfile.ir.ts.UniqueQueue
+
 
+
pop() - Method in class proguard.analysis.cpa.defaults.BreadthFirstWaitlist
+
 
+
pop() - Method in class proguard.analysis.cpa.defaults.DepthFirstWaitlist
+
 
+
pop() - Method in interface proguard.analysis.cpa.interfaces.Waitlist
+
+
Remove the next abstract state and return it.
+
+
pop() - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Removes the top element of the operand stack end returns it.
+
+
pop() - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
+
Removes the top element of the operand stack end returns it.
+
+
pop() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
pop() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
pop() - Method in class proguard.dexfile.ir.ts.UniqueQueue
+
 
+
pop() - Method in class proguard.evaluation.Stack
+
+
Pops the top Value from the stack.
+
+
pop() - Method in class proguard.evaluation.TracedStack
+
 
+
pop1() - Method in class proguard.evaluation.Stack
+
+
Pops the top category 1 value from the stack.
+
+
pop1() - Method in class proguard.evaluation.TracedStack
+
 
+
pop2() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
pop2() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
pop2() - Method in class proguard.evaluation.Stack
+
+
Pops the top category 2 value from the stack (or alternatively, two Category 1 stack elements).
+
+
pop2() - Method in class proguard.evaluation.TracedStack
+
 
+
popOrDefault(AbstractSpaceT) - Method in class proguard.analysis.cpa.defaults.StackAbstractState
+
+
Removes the top of the stack and returns it.
+
+
popOrDefault(StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Removes the top element of the operand stack end returns it.
+
+
popOrDefault(StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
+
Removes the top element of the operand stack end returns it.
+
+
postInsertions - Variable in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
prec(AbstractState, Precision, Collection<? extends AbstractState>) - Method in class proguard.analysis.cpa.defaults.StaticPrecisionAdjustment
+
 
+
prec(AbstractState, Precision, Collection<? extends AbstractState>) - Method in interface proguard.analysis.cpa.interfaces.PrecisionAdjustment
+
+
Returns a new AbstractState and Precision for the given reached abstract + states.
+
+
Precision - Interface in proguard.analysis.cpa.interfaces
+
+
Precision parametrizes the analysis accuracy of the Algorithm.
+
+
PrecisionAdjustment - Interface in proguard.analysis.cpa.interfaces
+
+
PrecisionAdjustment allows adjusting the Algorithm Precision based of the + reached abstract states.
+
+
PrecisionAdjustmentResult - Class in proguard.analysis.cpa.defaults
+
+
This is the result of PrecisionAdjustment, namely an AbstractState and Precision.
+
+
PrecisionAdjustmentResult(AbstractState, Precision) - Constructor for class proguard.analysis.cpa.defaults.PrecisionAdjustmentResult
+
+
Create a precision adjustment result tuple.
+
+
predecessorPathsAccept(CallGraph, MethodSignature, Predicate<Node>) - Static method in class proguard.util.CallGraphWalker
+
+
Like CallGraphWalker.predecessorPathsAccept(CallGraph, MethodSignature, Predicate, int, int) but using + default values for max depth and max width.
+
+
predecessorPathsAccept(CallGraph, MethodSignature, Predicate<Node>, int, int) - Static method in class proguard.util.CallGraphWalker
+
+
Interactively explore the incoming call graph (breadth-first) of a specific method.
+
+
predecessors - Variable in class proguard.analysis.datastructure.callgraph.Node
+
 
+
predecessorsContain(MethodSignature) - Method in class proguard.analysis.datastructure.callgraph.Node
+
+
Checks if this node or any predecessors corresponds to a specific MethodSignature.
+
+
prefers - Variable in class proguard.dexfile.ir.ts.Ir2JRegAssignTransformer.Reg
+
 
+
prefix() - Method in class proguard.util.AndMatcher
+
 
+
prefix() - Method in class proguard.util.ConstantMatcher
+
 
+
prefix() - Method in class proguard.util.FixedStringMatcher
+
 
+
prefix() - Method in class proguard.util.MatchedStringMatcher
+
 
+
prefix() - Method in class proguard.util.OrMatcher
+
 
+
prefix() - Method in class proguard.util.SettableMatcher
+
 
+
prefix() - Method in class proguard.util.StringMatcher
+
+
Returns a common prefix of all strings matched by this StringMatcher.
+
+
PrefixAddingDataEntryWriter - Class in proguard.io
+
+
This DataEntryWriter delegates to a given DataEntryWriter, each time adding a + prefix of the written data entry name.
+
+
PrefixAddingDataEntryWriter(String, DataEntryWriter) - Constructor for class proguard.io.PrefixAddingDataEntryWriter
+
+
Creates a new PrefixAddingDataEntryWriter.
+
+
PrefixAddingStringFunction - Class in proguard.util
+
+
This StringFunction adds a prefix in front of each transformed String.
+
+
PrefixAddingStringFunction(String) - Constructor for class proguard.util.PrefixAddingStringFunction
+
+
Creates a new PrefixAddingStringFunction.
+
+
PrefixAddingStringFunction(String, StringFunction) - Constructor for class proguard.util.PrefixAddingStringFunction
+
 
+
PrefixRemovingStringFunction - Class in proguard.util
+
+
This StringFunction removes a given prefix from each transformed String, if present.
+
+
PrefixRemovingStringFunction(String) - Constructor for class proguard.util.PrefixRemovingStringFunction
+
+
Creates a new PrefixRemovingStringFunction.
+
+
PrefixRemovingStringFunction(String, StringFunction) - Constructor for class proguard.util.PrefixRemovingStringFunction
+
+
Creates a new PrefixRemovingStringFunction.
+
+
PrefixRemovingStringFunction(String, StringFunction, StringFunction) - Constructor for class proguard.util.PrefixRemovingStringFunction
+
+
Creates a new PrefixRemovingStringFunction.
+
+
PrefixStrippingDataEntryReader - Class in proguard.io
+
+
This DataEntryReader delegates to a given DataEntryReader, each time stripping a + possible prefix from the read data entry name.
+
+
PrefixStrippingDataEntryReader(String, DataEntryReader) - Constructor for class proguard.io.PrefixStrippingDataEntryReader
+
+
Creates a new PrefixStrippingDataEntryReader.
+
+
preInsertions - Variable in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
preOffsetInsertions - Variable in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
prettyFqn - Variable in class proguard.classfile.Signature
+
 
+
prettyInstructionBuffered - Static variable in class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
 
+
Preverify - Class in proguard.examples
+
+
This sample application illustrates how to preverify classes with the ProGuard API.
+
+
Preverify() - Constructor for class proguard.examples.Preverify
+
 
+
PREVIEW_VERSION_MINOR - Static variable in class proguard.classfile.VersionConstants
+
 
+
PRIMITIVE_ARRAY - Static variable in class proguard.classfile.constant.Constant
+
 
+
primitiveArrayAccept(Clazz, PrimitiveArrayConstantVisitor) - Method in class proguard.classfile.constant.PrimitiveArrayConstant
+
+
Applies the given PrimitiveArrayConstantVisitor to the primitive array.
+
+
PrimitiveArrayConstant - Class in proguard.classfile.constant
+
+
This unofficial Constant represents an array of primitives in the constant pool.
+
+
PrimitiveArrayConstant() - Constructor for class proguard.classfile.constant.PrimitiveArrayConstant
+
+
Creates an uninitialized PrimitiveArrayConstant.
+
+
PrimitiveArrayConstant(Object) - Constructor for class proguard.classfile.constant.PrimitiveArrayConstant
+
+
Creates a new PrimitiveArrayConstant with the given array of values.
+
+
PrimitiveArrayConstantElementVisitor - Interface in proguard.classfile.constant.visitor
+
+
This interface specifies the methods for a visitor of primitive elements of the array of a PrimitiveArrayConstant.
+
+
PrimitiveArrayConstantReplacer - Class in proguard.classfile.util
+
+
This ClassVisitor replaces all instances of PrimitiveArrayConstant by Java + bytecode compliant array store instructions.
+
+
PrimitiveArrayConstantReplacer() - Constructor for class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
PrimitiveArrayConstantVisitor - Interface in proguard.classfile.constant.visitor
+
+
This interface specifies the methods for a visitor of PrimitiveArrayConstant instances + containing different types of arrays.
+
+
primitiveArrayElementsAccept(Clazz, PrimitiveArrayConstantElementVisitor) - Method in class proguard.classfile.constant.PrimitiveArrayConstant
+
+
Applies the given PrimitiveArrayConstantElementVisitor to all elements of the primitive array.
+
+
PrimitiveTypedReferenceValueFactory - Class in proguard.evaluation.value
+
+
This class provides methods to create and reuse Value instances.
+
+
PrimitiveTypedReferenceValueFactory() - Constructor for class proguard.evaluation.value.PrimitiveTypedReferenceValueFactory
+
 
+
principalHeapNodeMapAbstractStateFactory - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
print(String, String) - Method in class proguard.classfile.util.WarningLogger
+
 
+
print(String, String) - Method in class proguard.classfile.util.WarningPrinter
+
+
Prints out the given warning and increments the warning count, if the given class name passes + the class name filter.
+
+
print(String, String) - Method in interface proguard.util.kotlin.asserter.Reporter
+
 
+
print(String, String, String) - Method in class proguard.classfile.util.WarningLogger
+
 
+
print(String, String, String) - Method in class proguard.classfile.util.WarningPrinter
+
+
Prints out the given warning and increments the warning count, if the given class names pass + the class name filter.
+
+
PrintClasses - Class in proguard.examples
+
+
This sample application illustrates how to read bytecode and print it out in text format with the + ProGuard API.
+
+
PrintClasses() - Constructor for class proguard.examples.PrintClasses
+
 
+
printException(ProguardCoreException) - Method in class proguard.exception.InstructionExceptionFormatter
+
 
+
printException(ProguardCoreException, TracedVariables, TracedStack) - Method in class proguard.exception.InstructionExceptionFormatter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.CascadingDataEntryWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.ClassDataEntryWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.ClassMapDataEntryWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.D8BasedDexDataEntryWriter
+
 
+
println(PrintWriter, String) - Method in interface proguard.io.DataEntryWriter
+
+
Prints out the structure of the data entry writer.
+
+
println(PrintWriter, String) - Method in class proguard.io.DexDataEntryWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.DirectoryWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.FilteredDataEntryWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.FixedFileWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.JarWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.NonClosingDataEntryWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.ParentDataEntryWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.PrefixAddingDataEntryWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.RenamedDataEntryWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.RenamedParentDataEntryWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.SignedJarWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.io.ZipWriter
+
 
+
println(PrintWriter, String) - Method in class proguard.resources.kotlinmodule.io.KotlinModuleDataEntryWriter
+
 
+
printState() - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
printWriter(OutputStream) - Method in class proguard.io.JarWriter
+
+
Creates a convenience writer.
+
+
PRIVATE - Static variable in class proguard.classfile.AccessConstants
+
 
+
PRIVATE - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
PRIVATE - Static variable in class proguard.classfile.util.AccessUtil
+
 
+
Processable - Interface in proguard.util
+
+
Base interface for entities that need flags and/or additional information when they are + processed, typically by visitor classes.
+
+
ProcessableViewModel - Class in proguard.classfile.util.renderer
+
+
A base ViewModel class for implementing classes of the Processable interface.
+
+
ProcessableViewModel() - Constructor for class proguard.classfile.util.renderer.ProcessableViewModel
+
 
+
ProcessableVisitor - Interface in proguard.util
+
+
This interface defines visitor methods for the main Processable implementations.
+
+
processCall(JvmAbstractState<ValueAbstractState>, Call) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueTransferRelation
+
 
+
processCall(JvmAbstractState<StateT>, Call) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Pops the arguments from the operand stack and passes them to invokeMethod.
+
+
processCall(JvmMemoryLocation, ConstantInstruction, Clazz, JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationTransferRelation
+
+
The default implementation traces the return value back to the method arguments and the + instance.
+
+
ProcessingFlagCleaner - Class in proguard.util
+
+
This visitor clears the specified processing flags of the Processable instances that it + visits.
+
+
ProcessingFlagCleaner(int) - Constructor for class proguard.util.ProcessingFlagCleaner
+
+
Creates a new ProcessingFlagCleaner.
+
+
ProcessingFlagDataEntryFilter - Class in proguard.classfile.io.visitor
+
+
This DataEntryFilter filters data entries based on the processing flags of their corresponding + resource file.
+
+
ProcessingFlagDataEntryFilter(ResourceFilePool, int, int) - Constructor for class proguard.classfile.io.visitor.ProcessingFlagDataEntryFilter
+
 
+
processingFlags - Variable in class proguard.classfile.util.renderer.ProcessableViewModel
+
 
+
processingFlags - Variable in class proguard.util.SimpleProcessable
+
 
+
ProcessingFlags - Class in proguard.util
+
+
Constants used by ProGuard for marking entities (classes, class members, resource files, ...) + during processing.
+
+
ProcessingFlags() - Constructor for class proguard.util.ProcessingFlags
+
 
+
ProcessingFlagSetter - Class in proguard.util
+
+
This visitor sets the specified processing flags of the Processable instances that it + visits.
+
+
ProcessingFlagSetter(int) - Constructor for class proguard.util.ProcessingFlagSetter
+
+
Creates a new ProcessingFlagSetter.
+
+
processingInfo - Variable in class proguard.classfile.util.renderer.MemberViewModel
+
 
+
processingInfo - Variable in class proguard.classfile.util.renderer.ProcessableViewModel
+
 
+
processingInfo - Variable in class proguard.util.SimpleProcessable
+
 
+
ProcessingInfoSetter - Class in proguard.classfile.visitor
+
+
This visitor sets a fixed info object on all the Processable instances that it visits.
+
+
ProcessingInfoSetter(Object) - Constructor for class proguard.classfile.visitor.ProcessingInfoSetter
+
+
Creates a new ProcessingInfoSetter that sets the given info on all Processable instances that + it visits.
+
+
Processor - Class in proguard.evaluation
+
+
This InstructionVisitor executes the instructions that it visits on a given local + variable frame and stack.
+
+
Processor(Variables, Stack, ValueFactory, BranchUnit, InvocationUnit, boolean) - Constructor for class proguard.evaluation.Processor
+
+
Creates a new processor that operates on the given environment.
+
+
ProgramClass - Class in proguard.classfile
+
+
This Clazz is a complete representation of the data in a Java class.
+
+
ProgramClass() - Constructor for class proguard.classfile.ProgramClass
+
+
Creates an uninitialized ProgramClass.
+
+
ProgramClass(int, int, Constant[], int, int, int) - Constructor for class proguard.classfile.ProgramClass
+
+
Creates an initialized ProgramClass without fields, methods, attributes, or subclasses.
+
+
ProgramClass(int, int, Constant[], int, int, int, int, int[], int, ProgramField[], int, ProgramMethod[], int, Attribute[], int, Clazz[]) - Constructor for class proguard.classfile.ProgramClass
+
+
Creates an initialized ProgramClass.
+
+
ProgramClass(int, int, Constant[], int, int, int, int, int[], int, ProgramField[], int, ProgramMethod[], int, Attribute[], int, Clazz[], String, int, Object) - Constructor for class proguard.classfile.ProgramClass
+
+
Creates an initialized ProgramClass.
+
+
ProgramClass(int, int, Constant[], int, int, int, String, int, Object) - Constructor for class proguard.classfile.ProgramClass
+
+
Creates an initialized ProgramClass without fields, methods, attributes, or subclasses.
+
+
ProgramClassFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to another given ClassVisitor, but only + when visiting program classes.
+
+
ProgramClassFilter(ClassVisitor) - Constructor for class proguard.classfile.visitor.ProgramClassFilter
+
+
Creates a new ProgramClassFilter.
+
+
programClassPool - Variable in class proguard.util.kotlin.asserter.constraint.AbstractKotlinMetadataConstraint
+
 
+
ProgramClassReader - Class in proguard.classfile.io
+
+
This ClassVisitor fills out the ProgramClass instances that it visits with data + from the given DataInput object.
+
+
ProgramClassReader(DataInput) - Constructor for class proguard.classfile.io.ProgramClassReader
+
+
Creates a new ProgramClassReader for reading from the given DataInput.
+
+
ProgramClassReader(DataInput, boolean) - Constructor for class proguard.classfile.io.ProgramClassReader
+
+
Creates a new ProgramClassReader for reading from the given DataInput, optionally treating + stack map attributes as unknown attributes.
+
+
ProgramClassWriter - Class in proguard.classfile.io
+
+
This ClassVisitor writes out the ProgramClass instances that it visits to the + given DataOutput object.
+
+
ProgramClassWriter(DataOutput) - Constructor for class proguard.classfile.io.ProgramClassWriter
+
+
Creates a new ProgramClassWriter for writing to the given DataOutput.
+
+
ProgramField - Class in proguard.classfile
+
+
This Field represents a field in a ProgramClass.
+
+
ProgramField() - Constructor for class proguard.classfile.ProgramField
+
+
Creates an uninitialized ProgramField.
+
+
ProgramField(int, int, int, int, Attribute[], Clazz) - Constructor for class proguard.classfile.ProgramField
+
+
Creates an initialized ProgramField.
+
+
ProgramField(int, int, int, int, Attribute[], Clazz, int, Object) - Constructor for class proguard.classfile.ProgramField
+
+
Creates an initialized ProgramField.
+
+
ProgramField(int, int, int, Clazz) - Constructor for class proguard.classfile.ProgramField
+
+
Creates an initialized ProgramField without attributes.
+
+
ProgramField(int, int, int, Clazz, int, Object) - Constructor for class proguard.classfile.ProgramField
+
+
Creates an initialized ProgramField without attributes.
+
+
programLocation - Variable in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
ProgramLocationDependent<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> - Interface in proguard.analysis.cpa.interfaces
+
+
If an AbstractState is program location-specific, it should implement ProgramLocationDependent.
+
+
ProgramLocationDependentBackwardTransferRelation<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> - Interface in proguard.analysis.cpa.interfaces
+
+
An interface for TransferRelations that depend on the Cfa location for which the successor can be defined for the + entering edges of the current location.
+
+
ProgramLocationDependentForwardTransferRelation<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> - Interface in proguard.analysis.cpa.interfaces
+
+
An interface for TransferRelations that depend on the Cfa location for which the successor can be defined for the + leaving edges of the current location.
+
+
ProgramLocationDependentReachedSet<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​AbstractStateT extends AbstractState & ProgramLocationDependent<CfaNodeT,​CfaEdgeT,​SignatureT>,​SignatureT extends Signature> - Class in proguard.analysis.cpa.defaults
+
+ +
+
ProgramLocationDependentReachedSet() - Constructor for class proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet
+
 
+
ProgramLocationDependentTransferRelation<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> - Interface in proguard.analysis.cpa.interfaces
+
+
An interface for TransferRelations that depend on the Cfa location for which the successor can be defined for the edges + of the current location.
+
+
ProgramMember - Class in proguard.classfile
+
+
Base representation of a field or method from a ProgramClass.
+
+
ProgramMember() - Constructor for class proguard.classfile.ProgramMember
+
+
Creates an uninitialized ProgramMember.
+
+
ProgramMember(int, int, int, int, Attribute[]) - Constructor for class proguard.classfile.ProgramMember
+
+
Creates an initialized ProgramMember.
+
+
ProgramMember(int, int, int, int, Attribute[], int, Object) - Constructor for class proguard.classfile.ProgramMember
+
+
Creates an initialized ProgramMember.
+
+
ProgramMemberFilter - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates its visits to another given MemberVisitor, but only + when visiting members of program classes.
+
+
ProgramMemberFilter(MemberVisitor) - Constructor for class proguard.classfile.visitor.ProgramMemberFilter
+
+
Creates a new ProgramMemberFilter.
+
+
ProgramMethod - Class in proguard.classfile
+
+
This Method represents a method in a ProgramClass.
+
+
ProgramMethod() - Constructor for class proguard.classfile.ProgramMethod
+
+
Creates an uninitialized ProgramMethod.
+
+
ProgramMethod(int, int, int, int, Attribute[], Clazz[]) - Constructor for class proguard.classfile.ProgramMethod
+
+
Creates an initialized ProgramMethod.
+
+
ProgramMethod(int, int, int, int, Attribute[], Clazz[], int, Object) - Constructor for class proguard.classfile.ProgramMethod
+
+
Creates an initialized ProgramMethod.
+
+
ProgramMethod(int, int, int, Clazz[]) - Constructor for class proguard.classfile.ProgramMethod
+
+
Creates an initialized ProgramMethod without attributes.
+
+
ProgramMethod(int, int, int, Clazz[], int, Object) - Constructor for class proguard.classfile.ProgramMethod
+
+
Creates an initialized ProgramMethod without attributes.
+
+
PROGUARD_MAP - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
proguard.analysis - package proguard.analysis
+
 
+
proguard.analysis.cpa.algorithms - package proguard.analysis.cpa.algorithms
+
 
+
proguard.analysis.cpa.bam - package proguard.analysis.cpa.bam
+
 
+
proguard.analysis.cpa.defaults - package proguard.analysis.cpa.defaults
+
 
+
proguard.analysis.cpa.domain.taint - package proguard.analysis.cpa.domain.taint
+
 
+
proguard.analysis.cpa.interfaces - package proguard.analysis.cpa.interfaces
+
 
+
proguard.analysis.cpa.jvm.cfa - package proguard.analysis.cpa.jvm.cfa
+
 
+
proguard.analysis.cpa.jvm.cfa.edges - package proguard.analysis.cpa.jvm.cfa.edges
+
 
+
proguard.analysis.cpa.jvm.cfa.nodes - package proguard.analysis.cpa.jvm.cfa.nodes
+
 
+
proguard.analysis.cpa.jvm.cfa.visitors - package proguard.analysis.cpa.jvm.cfa.visitors
+
 
+
proguard.analysis.cpa.jvm.domain.memory - package proguard.analysis.cpa.jvm.domain.memory
+
 
+
proguard.analysis.cpa.jvm.domain.reference - package proguard.analysis.cpa.jvm.domain.reference
+
 
+
proguard.analysis.cpa.jvm.domain.taint - package proguard.analysis.cpa.jvm.domain.taint
+
 
+
proguard.analysis.cpa.jvm.domain.value - package proguard.analysis.cpa.jvm.domain.value
+
 
+
proguard.analysis.cpa.jvm.operators - package proguard.analysis.cpa.jvm.operators
+
 
+
proguard.analysis.cpa.jvm.state - package proguard.analysis.cpa.jvm.state
+
 
+
proguard.analysis.cpa.jvm.state.heap - package proguard.analysis.cpa.jvm.state.heap
+
 
+
proguard.analysis.cpa.jvm.state.heap.tree - package proguard.analysis.cpa.jvm.state.heap.tree
+
 
+
proguard.analysis.cpa.jvm.transfer - package proguard.analysis.cpa.jvm.transfer
+
 
+
proguard.analysis.cpa.jvm.util - package proguard.analysis.cpa.jvm.util
+
 
+
proguard.analysis.cpa.jvm.witness - package proguard.analysis.cpa.jvm.witness
+
 
+
proguard.analysis.cpa.state - package proguard.analysis.cpa.state
+
 
+
proguard.analysis.cpa.util - package proguard.analysis.cpa.util
+
 
+
proguard.analysis.datastructure - package proguard.analysis.datastructure
+
 
+
proguard.analysis.datastructure.callgraph - package proguard.analysis.datastructure.callgraph
+
 
+
proguard.backport - package proguard.backport
+
 
+
proguard.classfile - package proguard.classfile
+
 
+
proguard.classfile.attribute - package proguard.classfile.attribute
+
 
+
proguard.classfile.attribute.annotation - package proguard.classfile.attribute.annotation
+
 
+
proguard.classfile.attribute.annotation.target - package proguard.classfile.attribute.annotation.target
+
 
+
proguard.classfile.attribute.annotation.target.visitor - package proguard.classfile.attribute.annotation.target.visitor
+
 
+
proguard.classfile.attribute.annotation.visitor - package proguard.classfile.attribute.annotation.visitor
+
 
+
proguard.classfile.attribute.module - package proguard.classfile.attribute.module
+
 
+
proguard.classfile.attribute.module.visitor - package proguard.classfile.attribute.module.visitor
+
 
+
proguard.classfile.attribute.preverification - package proguard.classfile.attribute.preverification
+
 
+
proguard.classfile.attribute.preverification.visitor - package proguard.classfile.attribute.preverification.visitor
+
 
+
proguard.classfile.attribute.visitor - package proguard.classfile.attribute.visitor
+
 
+
proguard.classfile.constant - package proguard.classfile.constant
+
 
+
proguard.classfile.constant.visitor - package proguard.classfile.constant.visitor
+
 
+
proguard.classfile.editor - package proguard.classfile.editor
+
 
+
proguard.classfile.exception - package proguard.classfile.exception
+
 
+
proguard.classfile.instruction - package proguard.classfile.instruction
+
 
+
proguard.classfile.instruction.visitor - package proguard.classfile.instruction.visitor
+
 
+
proguard.classfile.io - package proguard.classfile.io
+
 
+
proguard.classfile.io.kotlin - package proguard.classfile.io.kotlin
+
 
+
proguard.classfile.io.visitor - package proguard.classfile.io.visitor
+
 
+
proguard.classfile.kotlin - package proguard.classfile.kotlin
+
 
+
proguard.classfile.kotlin.flags - package proguard.classfile.kotlin.flags
+
 
+
proguard.classfile.kotlin.reflect - package proguard.classfile.kotlin.reflect
+
 
+
proguard.classfile.kotlin.reflect.util - package proguard.classfile.kotlin.reflect.util
+
 
+
proguard.classfile.kotlin.reflect.visitor - package proguard.classfile.kotlin.reflect.visitor
+
 
+
proguard.classfile.kotlin.visitor - package proguard.classfile.kotlin.visitor
+
 
+
proguard.classfile.kotlin.visitor.filter - package proguard.classfile.kotlin.visitor.filter
+
 
+
proguard.classfile.util - package proguard.classfile.util
+
 
+
proguard.classfile.util.kotlin - package proguard.classfile.util.kotlin
+
 
+
proguard.classfile.util.renderer - package proguard.classfile.util.renderer
+
 
+
proguard.classfile.util.renderer.core - package proguard.classfile.util.renderer.core
+
 
+
proguard.classfile.visitor - package proguard.classfile.visitor
+
 
+
proguard.dexfile - package proguard.dexfile
+
 
+
proguard.dexfile.converter - package proguard.dexfile.converter
+
 
+
proguard.dexfile.ir - package proguard.dexfile.ir
+
 
+
proguard.dexfile.ir.expr - package proguard.dexfile.ir.expr
+
 
+
proguard.dexfile.ir.stmt - package proguard.dexfile.ir.stmt
+
 
+
proguard.dexfile.ir.ts - package proguard.dexfile.ir.ts
+
 
+
proguard.dexfile.ir.ts.an - package proguard.dexfile.ir.ts.an
+
 
+
proguard.dexfile.reader - package proguard.dexfile.reader
+
 
+
proguard.dexfile.reader.node - package proguard.dexfile.reader.node
+
 
+
proguard.dexfile.reader.node.analysis - package proguard.dexfile.reader.node.analysis
+
 
+
proguard.dexfile.reader.node.insn - package proguard.dexfile.reader.node.insn
+
 
+
proguard.dexfile.reader.util - package proguard.dexfile.reader.util
+
 
+
proguard.dexfile.reader.visitors - package proguard.dexfile.reader.visitors
+
 
+
proguard.evaluation - package proguard.evaluation
+
 
+
proguard.evaluation.exception - package proguard.evaluation.exception
+
 
+
proguard.evaluation.executor - package proguard.evaluation.executor
+
 
+
proguard.evaluation.executor.instancehandler - package proguard.evaluation.executor.instancehandler
+
 
+
proguard.evaluation.util - package proguard.evaluation.util
+
 
+
proguard.evaluation.util.jsonprinter - package proguard.evaluation.util.jsonprinter
+
 
+
proguard.evaluation.value - package proguard.evaluation.value
+
 
+
proguard.evaluation.value.object - package proguard.evaluation.value.object
+
 
+
proguard.evaluation.value.object.model - package proguard.evaluation.value.object.model
+
 
+
proguard.evaluation.value.object.model.reflective - package proguard.evaluation.value.object.model.reflective
+
 
+
proguard.examples - package proguard.examples
+
 
+
proguard.examples.instrument - package proguard.examples.instrument
+
 
+
proguard.examples.modify - package proguard.examples.modify
+
 
+
proguard.examples.util - package proguard.examples.util
+
 
+
proguard.exception - package proguard.exception
+
 
+
proguard.io - package proguard.io
+
 
+
proguard.io.util - package proguard.io.util
+
 
+
proguard.normalize - package proguard.normalize
+
 
+
proguard.preverify - package proguard.preverify
+
 
+
proguard.resources.file - package proguard.resources.file
+
 
+
proguard.resources.file.io - package proguard.resources.file.io
+
 
+
proguard.resources.file.util - package proguard.resources.file.util
+
 
+
proguard.resources.file.visitor - package proguard.resources.file.visitor
+
 
+
proguard.resources.kotlinmodule - package proguard.resources.kotlinmodule
+
 
+
proguard.resources.kotlinmodule.io - package proguard.resources.kotlinmodule.io
+
 
+
proguard.resources.kotlinmodule.util - package proguard.resources.kotlinmodule.util
+
 
+
proguard.resources.kotlinmodule.visitor - package proguard.resources.kotlinmodule.visitor
+
 
+
proguard.util - package proguard.util
+
 
+
proguard.util.kotlin.asserter - package proguard.util.kotlin.asserter
+
 
+
proguard.util.kotlin.asserter.constraint - package proguard.util.kotlin.asserter.constraint
+
 
+
ProguardCoreException - Exception in proguard.exception
+
 
+
ProguardCoreException(int, String, Object...) - Constructor for exception proguard.exception.ProguardCoreException
+
+ +
+
ProguardCoreException(int, Throwable, String, Object...) - Constructor for exception proguard.exception.ProguardCoreException
+
+
Main constructor, all other constructors need to call this one in order to do common things + (formating string for instance). Same as ProguardCoreException(int, String, Object...) but takes a Throwable + argument to initialize the cause.
+
+
ProguardCoreException.Builder - Class in proguard.exception
+
+
Builder to construct ProguardCoreException objects.
+
+
Prologue(DexLabel) - Constructor for class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.Prologue
+
 
+
properties - Variable in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
propertiesAccept(Clazz, KotlinPropertyVisitor) - Method in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
PROPERTY_REFERENCE_CLASS_NAME - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
PROPERTY_REFERENCE_GET_METHOD_NAME - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
PROPERTY_REFERENCE_GET_METHOD_TYPE - Static variable in class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
PropertyIntegrity - Class in proguard.util.kotlin.asserter.constraint
+
+
This class checks the assumption: All properties need a JVM signature for their getter
+
+
PropertyIntegrity() - Constructor for class proguard.util.kotlin.asserter.constraint.PropertyIntegrity
+
 
+
PropertyReferenceInfo - Class in proguard.classfile.kotlin.reflect
+
+
Property reference info.
+
+
PropertyReferenceInfo(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata) - Constructor for class proguard.classfile.kotlin.reflect.PropertyReferenceInfo
+
 
+
PROTECTED - Static variable in class proguard.classfile.AccessConstants
+
 
+
PROTECTED - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
PROTECTED - Static variable in class proguard.classfile.util.AccessUtil
+
 
+
proto - Variable in class proguard.dexfile.ir.expr.InvokeCustomExpr
+
 
+
proto - Variable in class proguard.dexfile.ir.expr.InvokePolymorphicExpr
+
 
+
proto - Variable in class proguard.dexfile.reader.node.insn.MethodCustomStmtNode
+
 
+
proto - Variable in class proguard.dexfile.reader.node.insn.MethodPolymorphicStmtNode
+
 
+
Proto - Class in proguard.dexfile.reader
+
 
+
Proto(String[], String) - Constructor for class proguard.dexfile.reader.Proto
+
 
+
provideDesc - Variable in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
provides - Variable in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
providesAccept(Clazz, ProvidesInfoVisitor) - Method in class proguard.classfile.attribute.module.ModuleAttribute
+
+
Applies the given visitor to all provides.
+
+
providesAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.module.ProvidesInfo
+
+
Applies the given constant pool visitor to the class constant of the provides, if any.
+
+
ProvidesInfo - Class in proguard.classfile.attribute.module
+
+
Representation of a Provides entry in a Module attribute.
+
+
ProvidesInfo() - Constructor for class proguard.classfile.attribute.module.ProvidesInfo
+
+
Creates an uninitialized ProvidesInfo.
+
+
ProvidesInfo(int, int, int[]) - Constructor for class proguard.classfile.attribute.module.ProvidesInfo
+
+
Creates an initialized ProvidesInfo.
+
+
ProvidesInfoVisitor - Interface in proguard.classfile.attribute.module.visitor
+
+
This interface specifies the methods for a visitor of ProvidesInfo instances.
+
+
PUBLIC - Static variable in class proguard.classfile.AccessConstants
+
 
+
PUBLIC - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
PUBLIC - Static variable in class proguard.classfile.util.AccessUtil
+
 
+
pumpDataEntries(DataEntryReader) - Method in interface proguard.io.DataEntrySource
+
+
Applies the given DataEntryReader to all data entries that the implementation can provide.
+
+
pumpDataEntries(DataEntryReader) - Method in class proguard.io.DirectorySource
+
 
+
pumpDataEntries(DataEntryReader) - Method in class proguard.io.FileSource
+
 
+
push(int) - Method in class proguard.util.CircularIntBuffer
+
+
Push a value into the buffer overriding the oldest element when exceeding max size.
+
+
push(Value) - Method in class proguard.evaluation.Stack
+
+
Pushes the given Value onto the stack.
+
+
push(Value) - Method in class proguard.evaluation.TracedStack
+
 
+
push(StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Inserts state to the top of the operand stack and returns it.
+
+
push(StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
+
Inserts state to the top of the operand stack and returns it.
+
+
pushAll(List<StateT>) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Consequentially inserts elements of states to the top of the operand stack and returns + states.
+
+
pushAll(List<StateT>) - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
+
Sequentially inserts elements of states to the top of the operand stack and returns + states.
+
+
pushBoxedPrimitive(Object, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Push a primitive on the stack followed by a call to it's boxed valueOf method.
+
+
pushDefault(String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Pushes a default value onto the stack.
+
+
pushDouble(double) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Pushes the given primitive double on the stack in the most efficient way (as a dconst or ldc + instruction).
+
+
pushDouble(double) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Pushes the given primitive double on the stack in the most efficient way (as a dconst or ldc + instruction).
+
+
pushFloat(float) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Pushes the given primitive float on the stack in the most efficient way (as an fconst or ldc + instruction).
+
+
pushFloat(float) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Pushes the given primitive float on the stack in the most efficient way (as an fconst or ldc + instruction).
+
+
pushInt(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Pushes the given primitive int on the stack in the most efficient way (as an iconst, bipush, + sipush, or ldc instruction).
+
+
pushInt(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Pushes the given primitive int on the stack in the most efficient way (as an iconst, bipush, + sipush, or ldc instruction).
+
+
pushLong(long) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Pushes the given primitive long on the stack in the most efficient way (as an lconst or ldc + instruction).
+
+
pushLong(long) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Pushes the given primitive long on the stack in the most efficient way (as an lconst or ldc + instruction).
+
+
pushNewArray(String, int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Pushes a new array on the stack.
+
+
pushNewArray(String, int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Pushes a new array on the stack.
+
+
pushPrimitive(Object, char) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Pushes the given primitive value on the stack.
+
+
pushPrimitive(Object, char) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Pushes the given primitive value on the stack.
+
+
pushPrimitiveOrString(Object, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Pushes the given string or primitive on the stack.
+
+
pushPrimitiveOrString(Object, String, boolean) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Pushes the given string or primitive on the stack.
+
+
pushPrimitiveOrStringArray(String, Object[]) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Pushes a new array with given values onto the stack.
+
+
put(K, V) - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
put(K, V) - Method in class proguard.analysis.cpa.defaults.LimitedHashMap
+
 
+
put(K, V) - Method in class proguard.util.MultiValueMap
+
 
+
put(AbstractState, Precision, SignatureT, BlockAbstraction) - Method in interface proguard.analysis.cpa.bam.BamCache
+
+
Adds the block abstraction identified by the provided keys to the cache.
+
+
put(AbstractState, Precision, SignatureT, BlockAbstraction) - Method in class proguard.analysis.cpa.bam.BamCacheImpl
+
 
+
putAll(Map<? extends K, ? extends V>) - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
putAll(Map<? extends K, ? extends V>) - Method in class proguard.analysis.cpa.defaults.LimitedHashMap
+
 
+
putAll(Set<K>, Set<V>) - Method in class proguard.util.MultiValueMap
+
 
+
putAll(Set<K>, V) - Method in class proguard.util.MultiValueMap
+
 
+
putAll(K, Set<V>) - Method in class proguard.util.MultiValueMap
+
 
+
putfield(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putfield(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putfield(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putfield(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putfield(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putfield(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putfield(Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putfield(Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putIfAbsent(K, V) - Method in class proguard.analysis.cpa.defaults.LimitedHashMap
+
 
+
putstatic(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putstatic(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putstatic(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putstatic(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putstatic(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putstatic(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putstatic(Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putstatic(Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
+ + + +

Q

+
+
Q - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
Q - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
quickResolve(Instruction, ProgramClass) - Static method in class proguard.analysis.CallResolver
+
+
Lightweight utility method to resolve the target of an invocation instruction on demand, + without having to run a full scale analysis.
+
+
+ + + +

R

+
+
R - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
R - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
ra - Variable in class proguard.dexfile.reader.node.insn.FillArrayDataStmtNode
+
 
+
RangeIntegerValue - Class in proguard.evaluation.value
+
+
This IntegerValue represents a known range of integer values.
+
+
RangeIntegerValue(int, int) - Constructor for class proguard.evaluation.value.RangeIntegerValue
+
+
Creates a new range of integer values.
+
+
RangeValueFactory - Class in proguard.evaluation.value
+
+
This ValueFactory provides methods to create and reuse IntegerValue instances that have known + ranges.
+
+
RangeValueFactory() - Constructor for class proguard.evaluation.value.RangeValueFactory
+
+
Creates a new RangeValueFactory.
+
+
RangeValueFactory(ValueFactory, ValueFactory) - Constructor for class proguard.evaluation.value.RangeValueFactory
+
+
Creates a new RangeValueFactory that delegates to the given value factories for creating + reference values.
+
+
reachedSet - Variable in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState.StackEntry
+
 
+
ReachedSet - Interface in proguard.analysis.cpa.interfaces
+
+
The ReachedSet stores reached States discovered by the Algorithm.
+
+
read(File, boolean) - Static method in class proguard.io.util.IOUtil
+
+
Reads the classes from the specified jar file and returns them as a class pool.
+
+
read(File, boolean, boolean) - Static method in class proguard.io.util.IOUtil
+
+
Reads the classes from the specified jar file and returns them as a class pool.
+
+
read(File, boolean, boolean, BiFunction<DataEntryReader, ClassVisitor, DataEntryReader>) - Static method in class proguard.io.util.IOUtil
+
+
Reads the classes from the specified jar file and returns them as a class pool.
+
+
read(String, boolean) - Static method in class proguard.io.util.IOUtil
+
+
Reads the classes from the specified jar file and returns them as a class pool.
+
+
read(String, boolean, boolean) - Static method in class proguard.io.util.IOUtil
+
+
Reads the classes from the specified jar file and returns them as a class pool.
+
+
read(ClassPath, String, boolean, boolean, boolean, boolean, boolean, boolean, BiFunction<DataEntryReader, ClassVisitor, DataEntryReader>) - Static method in class proguard.io.util.IOUtil
+
 
+
read(ClassPath, String, boolean, boolean, boolean, boolean, boolean, BiFunction<DataEntryReader, ClassVisitor, DataEntryReader>) - Static method in class proguard.io.util.IOUtil
+
+
Reads the classes from the specified jar file and returns them as a class pool.
+
+
read(DataEntry) - Method in class proguard.io.ClassReader
+
 
+
read(DataEntry) - Method in class proguard.io.DataEntryCopier
+
 
+
read(DataEntry) - Method in interface proguard.io.DataEntryReader
+
+
Reads the given data entry.
+
+
read(DataEntry) - Method in class proguard.io.DexClassReader
+
 
+
read(DataEntry) - Method in class proguard.io.FilteredDataEntryReader
+
 
+
read(DataEntry) - Method in class proguard.io.IdleRewriter
+
 
+
read(DataEntry) - Method in class proguard.io.JarReader
+
 
+
read(DataEntry) - Method in class proguard.io.MultiDataEntryReader
+
 
+
read(DataEntry) - Method in class proguard.io.ParallelDexClassReader
+
 
+
read(DataEntry) - Method in class proguard.io.PrefixStrippingDataEntryReader
+
 
+
read(DataEntry) - Method in class proguard.io.RenamedDataEntryReader
+
 
+
read(DataEntry) - Method in class proguard.resources.file.io.ResourceFileDataEntryReader
+
 
+
read(DataEntry) - Method in class proguard.resources.file.visitor.ResourceJavaReferenceCollector
+
 
+
read(DataEntry) - Method in class proguard.resources.kotlinmodule.io.KotlinModuleDataEntryReader
+
 
+
readBoolean() - Method in class proguard.io.RuntimeDataInput
+
 
+
readByte() - Method in class proguard.io.RuntimeDataInput
+
 
+
readByte(byte[], int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
readChar() - Method in class proguard.io.RuntimeDataInput
+
 
+
readDouble() - Method in class proguard.io.RuntimeDataInput
+
 
+
readFloat() - Method in class proguard.io.RuntimeDataInput
+
 
+
readFully(byte[]) - Method in class proguard.io.RuntimeDataInput
+
 
+
readFully(byte[], int, int) - Method in class proguard.io.RuntimeDataInput
+
 
+
readInfo(byte[], int) - Method in class proguard.classfile.editor.CodeAttributeEditor.Label
+
 
+
readInfo(byte[], int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer.Label
+
 
+
readInfo(byte[], int) - Method in class proguard.classfile.instruction.BranchInstruction
+
 
+
readInfo(byte[], int) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
readInfo(byte[], int) - Method in class proguard.classfile.instruction.Instruction
+
+
Reads the data following the instruction opcode.
+
+
readInfo(byte[], int) - Method in class proguard.classfile.instruction.LookUpSwitchInstruction
+
 
+
readInfo(byte[], int) - Method in class proguard.classfile.instruction.SimpleInstruction
+
 
+
readInfo(byte[], int) - Method in class proguard.classfile.instruction.TableSwitchInstruction
+
 
+
readInfo(byte[], int) - Method in class proguard.classfile.instruction.VariableInstruction
+
 
+
readInt() - Method in class proguard.io.RuntimeDataInput
+
 
+
readInt(byte[], int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
readJar(String, boolean) - Static method in class proguard.examples.JarUtil
+
+
Reads the classes from the specified jar file and returns them as a class pool.
+
+
readJar(String, String, boolean) - Static method in class proguard.examples.JarUtil
+
+
Reads the classes from the specified jar file and returns them as a class pool.
+
+
readLeb128i(ByteBuffer) - Static method in class proguard.dexfile.reader.DexFileReader
+
 
+
readLine() - Method in class proguard.io.RuntimeDataInput
+
 
+
readLong() - Method in class proguard.io.RuntimeDataInput
+
 
+
readShort() - Method in class proguard.io.RuntimeDataInput
+
 
+
readShort(byte[], int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
readSignedByte(byte[], int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
readSignedShort(byte[], int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
readSignedValue(byte[], int, int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
readULeb128i(ByteBuffer) - Static method in class proguard.dexfile.reader.DexFileReader
+
 
+
readUnsignedByte() - Method in class proguard.io.RuntimeDataInput
+
 
+
readUnsignedShort() - Method in class proguard.io.RuntimeDataInput
+
 
+
readUTF() - Method in class proguard.io.RuntimeDataInput
+
 
+
readValue(byte[], int, int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
rebuild(AbstractState, AbstractState) - Method in class proguard.analysis.cpa.bam.NoOpRebuildOperator
+
 
+
rebuild(AbstractState, AbstractState) - Method in interface proguard.analysis.cpa.bam.RebuildOperator
+
+
Performs the rebuilding of the return state.
+
+
RebuildOperator - Interface in proguard.analysis.cpa.bam
+
+
This operator is used to avoid collision of program identifiers when returning from a procedure + call.
+
+
receiverType - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
receiverType - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
receiverTypeAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
receiverTypeAccept(Clazz, KotlinMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
reconstructCallGraph(ClassPool, MethodSignature, int, int, Set<MethodSignature>) - Method in class proguard.analysis.datastructure.callgraph.CallGraph
+
+
Calculate the incoming call graph for a method of interest, showing how it can be reached from + a given Set of stop methods, which typically are Android lifecycle methods such as an + Activity's onCreate() method:
+
+
reconstructCallGraph(ClassPool, MethodSignature, Set<MethodSignature>) - Method in class proguard.analysis.datastructure.callgraph.CallGraph
+
+ +
+
reconstructCallGraph(ClassPool, MethodSignature, Set<MethodSignature>, Set<MethodSignature>) - Method in class proguard.analysis.datastructure.callgraph.CallGraph
+
+
Extension of CallGraph.reconstructCallGraph(ClassPool, MethodSignature, Set) that also collects + all reached stop methods.
+
+
RECORD - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
RecordAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a record attribute.
+
+
RecordAttribute() - Constructor for class proguard.classfile.attribute.RecordAttribute
+
+
Creates an uninitialized RecordAttribute.
+
+
RecordAttribute(int, int, RecordComponentInfo[]) - Constructor for class proguard.classfile.attribute.RecordAttribute
+
+
Creates an initialized RecordAttribute.
+
+
RecordComponentInfo - Class in proguard.classfile.attribute
+
+
Representation of a record component entry.
+
+
RecordComponentInfo() - Constructor for class proguard.classfile.attribute.RecordComponentInfo
+
+
Creates an uninitialized RecordComponentInfo.
+
+
RecordComponentInfo(int, int, int, Attribute[]) - Constructor for class proguard.classfile.attribute.RecordComponentInfo
+
+
Creates an initialized RecordComponentInfo.
+
+
RecordComponentInfoVisitor - Interface in proguard.classfile.attribute.visitor
+
+
This interface specifies the methods for a visitor of RecordComponentInfo instances.
+
+
reduce(Set<Object>) - Method in interface proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState
+
+
Discards unused parts of the heap.
+
+
reduce(Set<Object>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
+
Discards all the references not in {@param referencesToKeep}.
+
+
reduce(AbstractState, CfaNodeT, Call) - Method in interface proguard.analysis.cpa.bam.ReduceOperator
+
+
Accumulates the reduction procedure by calling the method to create the initial state of the + called procedure discarding the useless information from the state of the caller and calling a + method that performs additional operations on the created state if any are specified by an + implementing class.
+
+
reduceHeap - Variable in class proguard.analysis.cpa.defaults.BamCpaRun.Builder
+
 
+
reduceHeap - Variable in class proguard.analysis.cpa.defaults.BamCpaRun
+
 
+
reduceHeap(JvmHeapAbstractState<ValueAbstractState>, JvmFrameAbstractState<ValueAbstractState>, MapAbstractState<String, ValueAbstractState>) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueReduceOperator
+
 
+
reduceHeap(JvmHeapAbstractState<StateT>, JvmFrameAbstractState<StateT>, MapAbstractState<String, StateT>) - Method in class proguard.analysis.cpa.jvm.operators.JvmDefaultReduceOperator
+
+
Reduces the heap state.
+
+
reduceImpl(AbstractState, CfaNodeT, Call) - Method in class proguard.analysis.cpa.bam.NoOpReduceOperator
+
 
+
reduceImpl(AbstractState, CfaNodeT, Call) - Method in interface proguard.analysis.cpa.bam.ReduceOperator
+
+
Creates the initial state of the called procedure discarding the useless information from the + state of the caller.
+
+
reduceImpl(AbstractState, JvmCfaNode, Call) - Method in class proguard.analysis.cpa.jvm.operators.JvmDefaultReduceOperator
+
 
+
ReduceOperator<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> - Interface in proguard.analysis.cpa.bam
+
+
This operator is used to discard unnecessary information when entering a procedure block + depending on the domain-specific analysis (e.g.
+
+
reduceStaticFields(MapAbstractState<String, StateT>) - Method in class proguard.analysis.cpa.jvm.operators.JvmDefaultReduceOperator
+
+
Reduces the static fields.
+
+
REF_GET_FIELD - Static variable in class proguard.classfile.constant.MethodHandleConstant
+
 
+
REF_GET_STATIC - Static variable in class proguard.classfile.constant.MethodHandleConstant
+
 
+
REF_INVOKE_INTERFACE - Static variable in class proguard.classfile.constant.MethodHandleConstant
+
 
+
REF_INVOKE_SPECIAL - Static variable in class proguard.classfile.constant.MethodHandleConstant
+
 
+
REF_INVOKE_STATIC - Static variable in class proguard.classfile.constant.MethodHandleConstant
+
 
+
REF_INVOKE_VIRTUAL - Static variable in class proguard.classfile.constant.MethodHandleConstant
+
 
+
REF_NEW_INVOKE_SPECIAL - Static variable in class proguard.classfile.constant.MethodHandleConstant
+
 
+
REF_PUT_FIELD - Static variable in class proguard.classfile.constant.MethodHandleConstant
+
 
+
REF_PUT_STATIC - Static variable in class proguard.classfile.constant.MethodHandleConstant
+
 
+
RefConstant - Class in proguard.classfile.constant
+
+
This Constant represents a ref constant in the constant pool.
+
+
RefConstant() - Constructor for class proguard.classfile.constant.RefConstant
+
+
Creates an uninitialized RefConstant.
+
+
reference - Variable in class proguard.analysis.cpa.jvm.witness.JvmHeapLocation
+
 
+
Reference - Class in proguard.analysis.cpa.jvm.domain.reference
+
+
A reference points at an object or an array at the heap.
+
+
Reference - Static variable in interface proguard.analysis.cpa.util.StateNames
+
 
+
Reference(JvmCfaNode, JvmMemoryLocation) - Constructor for class proguard.analysis.cpa.jvm.domain.reference.Reference
+
+
Create a reference.
+
+
REFERENCE_VALUE - Static variable in class proguard.evaluation.value.BasicValueFactory
+
 
+
referenceAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.constant.MethodHandleConstant
+
+
Applies the given constant pool visitor to the reference.
+
+
referenceArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
referenceArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
referenceArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the value of the array at the given index, assuming this type is a reference array.
+
+
referenceArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
referenceArrayLoad(IntegerValue, ValueFactory) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
referenceClass - Variable in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
referencedAnnotationClass - Variable in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
referencedAnnotationMethod - Variable in class proguard.classfile.kotlin.KotlinAnnotationArgument
+
 
+
referencedAnnotationMethodClass - Variable in class proguard.classfile.kotlin.KotlinAnnotationArgument
+
 
+
referencedBackingField - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
referencedBackingFieldClass - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
referencedClass - Variable in class proguard.backport.LambdaExpression
+
 
+
referencedClass - Variable in class proguard.classfile.attribute.annotation.ElementValue
+
+
An extra field pointing to the referenced Clazz object, if applicable.
+
+
referencedClass - Variable in class proguard.classfile.attribute.EnclosingMethodAttribute
+
+
An extra field pointing to the referenced Clazz object.
+
+
referencedClass - Variable in class proguard.classfile.attribute.LocalVariableInfo
+
+
An extra field pointing to the referenced Clazz object.
+
+
referencedClass - Variable in class proguard.classfile.constant.ClassConstant
+
+
An extra field pointing to the referenced Clazz object.
+
+
referencedClass - Variable in class proguard.classfile.constant.RefConstant
+
+
An extra field pointing to the referenced Clazz object.
+
+
referencedClass - Variable in class proguard.classfile.constant.StringConstant
+
+
An extra field pointing to the referenced Clazz object, if this string is being used in + Class.forName(), .class, or Class.getDeclaredField/Method constructs.
+
+
referencedClass - Variable in class proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue
+
 
+
referencedClass - Variable in class proguard.classfile.kotlin.KotlinAnnotationArgument.EnumValue
+
 
+
referencedClass - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
referencedClass - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
referencedClass - Variable in class proguard.classfile.LibraryField
+
+
An extra field pointing to the Clazz object referenced in the descriptor string.
+
+
referencedClass - Variable in class proguard.classfile.ProgramField
+
+
An extra field pointing to the Clazz object referenced in the descriptor string.
+
+
referencedClass - Variable in class proguard.classfile.Signature
+
+
The Clazz that the Signature.className references.
+
+
referencedClass - Variable in class proguard.evaluation.value.TypedReferenceValue
+
 
+
referencedClass - Variable in class proguard.resources.file.ResourceJavaReference
+
 
+
referencedClassAccept(ClassVisitor) - Method in class proguard.classfile.attribute.annotation.Annotation
+
+
Applies the given visitor to the first referenced class.
+
+
referencedClassAccept(ClassVisitor) - Method in class proguard.classfile.attribute.EnclosingMethodAttribute
+
+
Lets the referenced class accept the given visitor.
+
+
referencedClassAccept(ClassVisitor) - Method in class proguard.classfile.attribute.LocalVariableInfo
+
+
Lets the referenced class accept the given visitor.
+
+
referencedClassAccept(ClassVisitor) - Method in class proguard.classfile.constant.ClassConstant
+
+
Lets the referenced class accept the given visitor.
+
+
referencedClassAccept(ClassVisitor) - Method in class proguard.classfile.constant.RefConstant
+
+
Lets the referenced class accept the given visitor.
+
+
referencedClassAccept(ClassVisitor) - Method in class proguard.classfile.constant.StringConstant
+
+
Lets the referenced class accept the given visitor.
+
+
referencedClassAccept(ClassVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
referencedClassAccept(ClassVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue
+
 
+
referencedClassAccept(ClassVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.EnumValue
+
 
+
referencedClassAccept(ClassVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
referencedClasses - Variable in class proguard.classfile.attribute.annotation.Annotation
+
+
An extra field pointing to the Clazz objects referenced in the type string.
+
+
referencedClasses - Variable in class proguard.classfile.attribute.annotation.ClassElementValue
+
+
An extra field pointing to the Clazz objects referenced in the type name string.
+
+
referencedClasses - Variable in class proguard.classfile.attribute.annotation.EnumConstantElementValue
+
+
An extra field pointing to the Clazz objects referenced in the type name string.
+
+
referencedClasses - Variable in class proguard.classfile.attribute.LocalVariableTypeInfo
+
+
An extra field pointing to the Clazz objects referenced in the type string.
+
+
referencedClasses - Variable in class proguard.classfile.attribute.SignatureAttribute
+
+
An extra field containing all the classes referenced in the signature string.
+
+
referencedClasses - Variable in class proguard.classfile.constant.DynamicConstant
+
+
An extra field pointing to the Clazz objects referenced in the descriptor string.
+
+
referencedClasses - Variable in class proguard.classfile.constant.InvokeDynamicConstant
+
+
An extra field pointing to the Clazz objects referenced in the descriptor string.
+
+
referencedClasses - Variable in class proguard.classfile.constant.MethodTypeConstant
+
+
An extra field pointing to the Clazz objects referenced in the descriptor string.
+
+
referencedClasses - Variable in class proguard.classfile.LibraryMethod
+
+
An extra field containing all the classes referenced in the descriptor string.
+
+
referencedClasses - Variable in class proguard.classfile.ProgramMethod
+
+
An extra field containing all the classes referenced in the descriptor string.
+
+
referencedClassesAccept(ClassVisitor) - Method in class proguard.classfile.attribute.annotation.Annotation
+
+
Applies the given visitor to all referenced classes.
+
+
referencedClassesAccept(ClassVisitor) - Method in class proguard.classfile.attribute.annotation.ClassElementValue
+
+
Applies the given visitor to all referenced classes.
+
+
referencedClassesAccept(ClassVisitor) - Method in class proguard.classfile.attribute.annotation.EnumConstantElementValue
+
+
Applies the given visitor to all referenced classes.
+
+
referencedClassesAccept(ClassVisitor) - Method in class proguard.classfile.attribute.LocalVariableTypeInfo
+
+
Applies the given visitor to all referenced classes.
+
+
referencedClassesAccept(ClassVisitor) - Method in class proguard.classfile.attribute.SignatureAttribute
+
+
Lets the Clazz objects referenced in the signature string accept the given visitor.
+
+
referencedClassesAccept(ClassVisitor) - Method in class proguard.classfile.constant.DynamicConstant
+
+
Lets the Clazz objects referenced in the descriptor string accept the given visitor.
+
+
referencedClassesAccept(ClassVisitor) - Method in class proguard.classfile.constant.InvokeDynamicConstant
+
+
Lets the Clazz objects referenced in the descriptor string accept the given visitor.
+
+
referencedClassesAccept(ClassVisitor) - Method in class proguard.classfile.constant.MethodTypeConstant
+
+
Lets the Clazz objects referenced in the descriptor string accept the given visitor.
+
+
referencedClassesAccept(ClassVisitor) - Method in class proguard.classfile.LibraryField
+
 
+
referencedClassesAccept(ClassVisitor) - Method in class proguard.classfile.LibraryMethod
+
 
+
referencedClassesAccept(ClassVisitor) - Method in interface proguard.classfile.Member
+
+
Lets the Clazz objects referenced in the descriptor string accept the given visitor.
+
+
referencedClassesAccept(ClassVisitor) - Method in class proguard.classfile.ProgramField
+
 
+
referencedClassesAccept(ClassVisitor) - Method in class proguard.classfile.ProgramMethod
+
 
+
ReferencedClassesExtractor - Class in proguard.classfile.visitor
+
+
Divides the referenced classes in a program/library method in the classes referenced in return + and parameters.
+
+
ReferencedClassesExtractor() - Constructor for class proguard.classfile.visitor.ReferencedClassesExtractor
+
 
+
ReferencedClassVisitor - Class in proguard.classfile.visitor
+
+ +
+
ReferencedClassVisitor(boolean, ClassVisitor) - Constructor for class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
ReferencedClassVisitor(ClassVisitor) - Constructor for class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
ReferencedClassVisitor.KotlinReferencedClassVisitor - Class in proguard.classfile.visitor
+
 
+
referencedCompanionClass - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
referencedCompanionField - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
referencedCompanionFieldAccept(MemberVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
referencedDeclarationContainer - Variable in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
referencedDefaultImplementationMethod - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
referencedDefaultImplementationMethodAccept(MemberVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
referencedDefaultImplementationMethodClass - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
referencedDefaultImplsClass - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
referencedDefaultMethod - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
referencedDefaultMethodAccept(MemberVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
referencedDefaultMethodClass - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
referencedEnumEntries - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
referencedFacadeClass - Variable in class proguard.classfile.kotlin.KotlinMultiFilePartKindMetadata
+
 
+
referencedField - Variable in class proguard.classfile.attribute.annotation.EnumConstantElementValue
+
+
An extra field optionally pointing to the referenced enum Field object.
+
+
referencedField - Variable in class proguard.classfile.attribute.RecordComponentInfo
+
+
An extra field optionally pointing to the referenced Field object.
+
+
referencedField - Variable in class proguard.classfile.constant.FieldrefConstant
+
+
An extra field optionally pointing to the referenced Field object.
+
+
referencedFieldAccept(Clazz, MemberVisitor) - Method in class proguard.classfile.attribute.RecordComponentInfo
+
+
Lets the referenced class field accept the given visitor.
+
+
referencedFieldAccept(MemberVisitor) - Method in class proguard.classfile.attribute.annotation.EnumConstantElementValue
+
+
Applies the given visitor to the referenced field.
+
+
referencedFieldAccept(MemberVisitor) - Method in class proguard.classfile.constant.FieldrefConstant
+
+
Lets the referenced class field accept the given visitor.
+
+
referencedFileFacades - Variable in class proguard.resources.kotlinmodule.KotlinModulePackage
+
 
+
referencedGetterMethod - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
referencedInvokedClass - Variable in class proguard.backport.LambdaExpression
+
 
+
referencedInvokedMethod - Variable in class proguard.backport.LambdaExpression
+
 
+
ReferencedKotlinMetadataVisitor - Class in proguard.classfile.kotlin.visitor
+
+
Initializes the kotlin metadata for each Kotlin class.
+
+
ReferencedKotlinMetadataVisitor(KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.ReferencedKotlinMetadataVisitor
+
 
+
referencedLambdaClassOrigin - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
referencedMember - Variable in class proguard.classfile.constant.StringConstant
+
+
An extra field pointing to the referenced Member object, if this string is being used in + Class.getDeclaredField/Method constructs.
+
+
referencedMemberAccept(MemberVisitor) - Method in class proguard.classfile.constant.AnyMethodrefConstant
+
 
+
referencedMemberAccept(MemberVisitor) - Method in class proguard.classfile.constant.FieldrefConstant
+
+
Lets the referenced class member accept the given visitor.
+
+
referencedMemberAccept(MemberVisitor) - Method in class proguard.classfile.constant.RefConstant
+
+
Lets the referenced class member accept the given visitor.
+
+
referencedMemberAccept(MemberVisitor) - Method in class proguard.classfile.constant.StringConstant
+
+
Lets the referenced member accept the given visitor.
+
+
ReferencedMemberVisitor - Class in proguard.classfile.visitor
+
+
This ConstantVisitor and ElementValueVisitor lets a given MemberVisitor + visit all the referenced class members of the elements that it visits.
+
+
ReferencedMemberVisitor(MemberVisitor) - Constructor for class proguard.classfile.visitor.ReferencedMemberVisitor
+
 
+
referencedMethod - Variable in class proguard.classfile.attribute.annotation.ElementValue
+
+
An extra field pointing to the referenced Method object, if applicable.
+
+
referencedMethod - Variable in class proguard.classfile.attribute.EnclosingMethodAttribute
+
+
An extra field optionally pointing to the referenced Method object.
+
+
referencedMethod - Variable in class proguard.classfile.constant.AnyMethodrefConstant
+
+
An extra field optionally pointing to the referenced Method object.
+
+
referencedMethod - Variable in class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
referencedMethod - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
referencedMethodAccept(Clazz, MemberVisitor) - Method in class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
referencedMethodAccept(Clazz, MemberVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
+
Deprecated.
+
+
referencedMethodAccept(MemberVisitor) - Method in class proguard.classfile.attribute.annotation.ElementValue
+
+
Applies the given visitor to the referenced method.
+
+
referencedMethodAccept(MemberVisitor) - Method in class proguard.classfile.attribute.EnclosingMethodAttribute
+
+
Lets the referenced class member accept the given visitor.
+
+
referencedMethodAccept(MemberVisitor) - Method in class proguard.classfile.constant.AnyMethodrefConstant
+
+
Lets the referenced class method accept the given visitor.
+
+
referencedMethodAccept(MemberVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument
+
 
+
referencedMethodAccept(MemberVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
referencedMethodClass - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
referencedModule - Variable in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
referencedMultiFileParts - Variable in class proguard.resources.kotlinmodule.KotlinModulePackage
+
 
+
referencedNestedClasses - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
referencedOwnerClassAccept(KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
referencedOwnerClassAccept(ClassVisitor) - Method in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
referencedParameter - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
referencedPartClasses - Variable in class proguard.classfile.kotlin.KotlinMultiFileFacadeKindMetadata
+
 
+
referencedResourceFile - Variable in class proguard.classfile.constant.StringConstant
+
+
An extra field pointing to the referenced resource file, if this string references one.
+
+
referencedResourceFileAccept(ResourceFileVisitor) - Method in class proguard.classfile.constant.StringConstant
+
+
Lets the referenced resource file accept the given visitor.
+
+
referencedResourceId - Variable in class proguard.classfile.constant.StringConstant
+
+
An extra field pointing to the referenced resource ID, if this string references an Android + resource.
+
+
referencedSealedSubClasses - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
referencedSetterMethod - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
referencedSyntheticMethodClass - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
referencedSyntheticMethodForAnnotations - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
referencedSyntheticMethodForDelegateClass - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
referencedSyntheticMethodForDelegateMethod - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
referencedTypeAlias - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
referencedTypeAliasAccept(Clazz, KotlinTypeAliasVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
references - Variable in class proguard.resources.file.ResourceFile
+
 
+
referencesPrivateConstructor() - Method in class proguard.backport.LambdaExpression
+
+
Returns whether the lambda expression is a method reference to a private constructor.
+
+
referenceToObject - Variable in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
ReferenceTracingInvocationUnit - Class in proguard.evaluation
+
+
This InvocationUnit tags reference values of retrieved fields, passed method parameters, + method return values, and caught exceptions, so they can be traced throughout the execution of a + method.
+
+
ReferenceTracingInvocationUnit(SimplifiedInvocationUnit) - Constructor for class proguard.evaluation.ReferenceTracingInvocationUnit
+
+
Creates a new ReferenceTracingInvocationUnit.
+
+
ReferenceTracingValueFactory - Class in proguard.evaluation
+
+
This ValueFactory tags newly created reference values so they can be traced throughout + the execution of a method.
+
+
ReferenceTracingValueFactory(ValueFactory) - Constructor for class proguard.evaluation.ReferenceTracingValueFactory
+
+
Creates a new ReferenceTracingValueFactory that attaches instruction offset values based on + being used as an instruction visitor.
+
+
ReferenceTracingValueFactory(ValueFactory, boolean) - Constructor for class proguard.evaluation.ReferenceTracingValueFactory
+
+
Creates a new ReferenceTracingValueFactory that attaches instruction offset values based on + being used as an instruction visitor.
+
+
referenceValue() - Method in class proguard.evaluation.value.ReferenceValue
+
 
+
referenceValue() - Method in class proguard.evaluation.value.TracingValue
+
 
+
referenceValue() - Method in class proguard.evaluation.value.Value
+
+
Returns this Value as a ReferenceValue.
+
+
ReferenceValue - Class in proguard.evaluation.value
+
+
Representation of a partially evaluated reference value.
+
+
ReferenceValue() - Constructor for class proguard.evaluation.value.ReferenceValue
+
 
+
referenceValueFactory - Variable in class proguard.evaluation.value.ParticularValueFactory
+
 
+
RefExpr - Class in proguard.dexfile.ir.expr
+
+
Represent a Reference expression
+
+
RefExpr(Value.VT, String, int) - Constructor for class proguard.dexfile.ir.expr.RefExpr
+
 
+
REFLECTION() - Constructor for class proguard.classfile.kotlin.KotlinConstants.REFLECTION
+
 
+
ReflectionExecutor - Class in proguard.evaluation.executor
+
+
This Executor provides an implementation for Executor.getMethodResult(proguard.evaluation.executor.MethodExecutionInfo, proguard.evaluation.ValueCalculator) which tries + to resolve the method at runtime and execute it using Java's reflection API java.lang.reflect.
+
+
ReflectionExecutor() - Constructor for class proguard.evaluation.executor.ReflectionExecutor
+
 
+
ReflectionExecutor.InstanceCopyResult - Class in proguard.evaluation.executor
+
 
+
ReflectiveMethodCallUtil - Class in proguard.evaluation.value
+
+
Deprecated. +
This logic is now implemented in ReflectionExecutor
+
+
+
ReflectiveMethodCallUtil() - Constructor for class proguard.evaluation.value.ReflectiveMethodCallUtil
+
+
Deprecated.
+
ReflectiveModel<T extends ReflectiveModel<T>> - Interface in proguard.evaluation.value.object.model.reflective
+
+
A mixin fully implementing the Model interface, so + that the classes implementing the model don't have to do it themselves.
+
+
ReflectiveModelExecutor - Class in proguard.evaluation.executor
+
+
An Executor with support for ReflectiveModels.
+
+
ReflectiveModelExecutor(Set<ReflectiveModelExecutor.SupportedModelInfo<?>>, HierarchyProvider) - Constructor for class proguard.evaluation.executor.ReflectiveModelExecutor
+
 
+
ReflectiveModelExecutor.Builder - Class in proguard.evaluation.executor
+
+ +
+
ReflectiveModelExecutor.SupportedModelInfo<T extends ReflectiveModel<T>> - Class in proguard.evaluation.executor
+
+
Information provided by an executor to communicate which classes it supports.
+
+
refreshedCopy() - Method in class proguard.classfile.ClassPool
+
+
Returns a ClassPool with the same classes, but with the keys that correspond to the names of + the class instances.
+
+
refreshedCopy() - Method in class proguard.resources.file.ResourceFilePool
+
+
Returns a ResourceFilePool with the same resource files, but with the keys that correspond to + the names of the resource file instances.
+
+
refreshedKeysCopy(Map<String, T>) - Method in class proguard.classfile.ClassPool
+
+
Returns a Map with the same contents as the given map, but with keys that have been mapped + based from the names in the class pool to the names in the corresponding classes.
+
+
refreshedValuesCopy(Map<T, String>) - Method in class proguard.classfile.ClassPool
+
+
Returns a Map with the same contents as the given map, but with values that have been mapped + based from the names in the class pool to the names in the corresponding classes.
+
+
reg - Variable in class proguard.dexfile.ir.LocalVar
+
 
+
reg - Variable in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.EndLocal
+
 
+
reg - Variable in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.RestartLocal
+
 
+
reg - Variable in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.StartLocalNode
+
 
+
Reg() - Constructor for class proguard.dexfile.ir.ts.Ir2JRegAssignTransformer.Reg
+
 
+
RegAssign() - Constructor for class proguard.dexfile.ir.ts.UnSSATransformer.RegAssign
+
 
+
registerAlternativeBranch(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int, int, int) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
registerAlternativeBranch(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int, int, int) - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
registerAlternativeBranch(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int, int, int) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
The evaluator detects multiple branches need to be evaluated.
+
+
registeredExecutorBuilders - Variable in class proguard.evaluation.ExecutingInvocationUnit.Builder
+
 
+
registerException(Clazz, Method, CodeAttribute, PartialEvaluator, Throwable) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
registerException(Clazz, Method, CodeAttribute, PartialEvaluator, Throwable) - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
registerException(Clazz, Method, CodeAttribute, PartialEvaluator, Throwable) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
An exception has been thrown while evaluating the current code attribute.
+
+
registerExceptionHandler(Clazz, Method, int, int, ExceptionInfo) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
registerExceptionHandler(Clazz, Method, int, int, ExceptionInfo) - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
registerExceptionHandler(Clazz, Method, int, int, ExceptionInfo) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
Partial evaluator starts evaluating a specific exception handler.
+
+
registerInstructionOffset(int) - Method in class proguard.exception.InstructionExceptionFormatter
+
 
+
registerSubroutineReturn(Clazz, Method, int, TracedVariables, TracedStack) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
registerSubroutineReturn(Clazz, Method, int, TracedVariables, TracedStack) - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
registerSubroutineReturn(Clazz, Method, int, TracedVariables, TracedStack) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
The current instruction was RET and the partial evaluator pushes the return address to the + branch stack of the calling partial evaluator.
+
+
registerUnusedExceptionHandler(Clazz, Method, int, int, ExceptionInfo) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
registerUnusedExceptionHandler(Clazz, Method, int, int, ExceptionInfo) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
Partial evaluator detects that the evaluation of the exception handler over a certain range is + not needed.
+
+
REGULAR - proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata.Flavor
+
 
+
reIndexLocal(IrMethod) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
reIndexLocalAndLabel(IrMethod) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.AbstractInvokeExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.BinopExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.CastExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.FieldExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.FilledArrayExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.InvokeCustomExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.InvokePolymorphicExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.NewExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.NewMutiArrayExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.RefExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.StaticFieldExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.TypeExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.UnopExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.Value.E1Expr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.Value.E2Expr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.Value.EnExpr
+
 
+
releaseMemory() - Method in class proguard.dexfile.ir.expr.Value
+
+
clean resource used by this value,release memory
+
+
REM - proguard.dexfile.ir.expr.Value.VT
+
 
+
REM_DOUBLE - proguard.dexfile.reader.Op
+
 
+
REM_DOUBLE_2ADDR - proguard.dexfile.reader.Op
+
 
+
REM_FLOAT - proguard.dexfile.reader.Op
+
 
+
REM_FLOAT_2ADDR - proguard.dexfile.reader.Op
+
 
+
REM_INT - proguard.dexfile.reader.Op
+
 
+
REM_INT_2ADDR - proguard.dexfile.reader.Op
+
 
+
REM_INT_LIT16 - proguard.dexfile.reader.Op
+
 
+
REM_INT_LIT8 - proguard.dexfile.reader.Op
+
 
+
REM_LONG - proguard.dexfile.reader.Op
+
 
+
REM_LONG_2ADDR - proguard.dexfile.reader.Op
+
 
+
remainder(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the remainder of this DoubleValue divided by the given DoubleValue.
+
+
remainder(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
remainder(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
remainder(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
remainder(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the remainder of this FloatValue divided by the given FloatValue.
+
+
remainder(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
remainder(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
remainder(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
remainder(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of this IntegerValue divided by the given IntegerValue.
+
+
remainder(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
remainder(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
remainder(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
remainder(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
remainder(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the remainder of this LongValue divided by the given LongValue.
+
+
remainder(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
remainder(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
remainder(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
remainder(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the remainder of this DoubleValue divided by the given ParticularDoubleValue.
+
+
remainder(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
remainder(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the remainder of this FloatValue divided by the given ParticularFloatValue.
+
+
remainder(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
remainder(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of this IntegerValue divided by the given ParticularIntegerValue.
+
+
remainder(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
remainder(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
remainder(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the remainder of this LongValue divided by the given ParticularLongValue.
+
+
remainder(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
remainder(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of this IntegerValue divided by the given RangeIntegerValue.
+
+
remainder(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
remainder(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
remainder(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
remainder(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the remainder of this DoubleValue divided by the given SpecificDoubleValue.
+
+
remainder(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
remainder(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the remainder of this FloatValue divided by the given SpecificFloatValue.
+
+
remainder(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
remainder(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of this IntegerValue divided by the given SpecificIntegerValue.
+
+
remainder(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
remainder(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the remainder of this LongValue divided by the given SpecificLongValue.
+
+
remainder(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
remainder(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of this IntegerValue divided by the given UnknownIntegerValue.
+
+
REMAINDER - Static variable in class proguard.evaluation.value.CompositeDoubleValue
+
 
+
REMAINDER - Static variable in class proguard.evaluation.value.CompositeFloatValue
+
 
+
REMAINDER - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
REMAINDER - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
remainderOf(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the remainder of the given DoubleValue divided by this DoubleValue.
+
+
remainderOf(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
remainderOf(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
remainderOf(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
remainderOf(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the remainder of the given FloatValue divided by this FloatValue.
+
+
remainderOf(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
remainderOf(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
remainderOf(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
remainderOf(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of the given IntegerValue divided by this IntegerValue.
+
+
remainderOf(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
remainderOf(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
remainderOf(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
remainderOf(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
remainderOf(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the remainder of the given LongValue divided by this LongValue.
+
+
remainderOf(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
remainderOf(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
remainderOf(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
remainderOf(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the remainder of the given ParticularDoubleValue and this DoubleValue.
+
+
remainderOf(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
remainderOf(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the remainder of the given ParticularFloatValue and this FloatValue.
+
+
remainderOf(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
remainderOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of the given ParticularIntegerValue divided by this IntegerValue.
+
+
remainderOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
remainderOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
remainderOf(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the remainder of the given ParticularLongValue divided by this LongValue.
+
+
remainderOf(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
remainderOf(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of the given RangeIntegerValue divided by this IntegerValue.
+
+
remainderOf(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
remainderOf(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
remainderOf(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
remainderOf(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the remainder of the given SpecificDoubleValue and this DoubleValue.
+
+
remainderOf(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
remainderOf(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the remainder of the given SpecificFloatValue and this FloatValue.
+
+
remainderOf(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
remainderOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of the given SpecificIntegerValue divided by this IntegerValue.
+
+
remainderOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
remainderOf(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the remainder of the given SpecificLongValue divided by this LongValue.
+
+
remainderOf(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
remainderOf(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of the given UnknownIntegerValue divided by this IntegerValue.
+
+
rememberVariableStringMatcher(VariableStringMatcher) - Method in class proguard.util.WildcardManager
+
+
Remembers the given VariableStringMatcher as a next element in the list of string matchers, so + it can be referenced by its index later.
+
+
remove(byte[], int, int) - Static method in class proguard.util.ArrayUtil
+
+
Removes the specified element from the given array.
+
+
remove(char[], int, int) - Static method in class proguard.util.ArrayUtil
+
+
Removes the specified element from the given array.
+
+
remove(double[], int, int) - Static method in class proguard.util.ArrayUtil
+
+
Removes the specified element from the given array.
+
+
remove(float[], int, int) - Static method in class proguard.util.ArrayUtil
+
+
Removes the specified element from the given array.
+
+
remove(int) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns an InstructionOffsetValue that contains the instructions offsets of this value but not + the given instruction offset.
+
+
remove(int) - Method in class proguard.io.ClassPath
+
 
+
remove(int[], int, int) - Static method in class proguard.util.ArrayUtil
+
+
Removes the specified element from the given array.
+
+
remove(long[], int, int) - Static method in class proguard.util.ArrayUtil
+
+
Removes the specified element from the given array.
+
+
remove(short[], int, int) - Static method in class proguard.util.ArrayUtil
+
+
Removes the specified element from the given array.
+
+
remove(Object) - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
remove(Object[], int, int) - Static method in class proguard.util.ArrayUtil
+
+
Removes the specified element from the given array.
+
+
remove(K, V) - Method in class proguard.util.MultiValueMap
+
 
+
remove(AbstractState) - Method in class proguard.analysis.cpa.defaults.AbstractWaitlist
+
 
+
remove(AbstractState) - Method in class proguard.analysis.cpa.defaults.DefaultReachedSet
+
 
+
remove(AbstractState) - Method in class proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet
+
 
+
remove(AbstractState) - Method in interface proguard.analysis.cpa.interfaces.ReachedSet
+
+
Removes an abstract state.
+
+
remove(AbstractState) - Method in interface proguard.analysis.cpa.interfaces.Waitlist
+
+
Removes an abstract state.
+
+
remove(Stmt) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
removeAll(Collection<?>) - Method in class proguard.analysis.cpa.defaults.AbstractWaitlist
+
 
+
removeAll(Collection<?>) - Method in class proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet
+
 
+
removeAll(Collection<?>) - Method in interface proguard.analysis.cpa.interfaces.ReachedSet
+
+
Removes multiple abstract states.
+
+
removeAll(Collection<?>) - Method in interface proguard.analysis.cpa.interfaces.Waitlist
+
+
Removes multiple abstract states.
+
+
removeBootstrapMethodInfo(BootstrapMethodInfo) - Method in class proguard.classfile.editor.BootstrapMethodsAttributeEditor
+
+
Removes the given bootstrap method from the bootstrap method attribute.
+
+
removeClass(String) - Method in class proguard.classfile.ClassPool
+
+
Removes the Class with the specified name from the class pool.
+
+
removeClass(Clazz) - Method in class proguard.classfile.ClassPool
+
+
Removes the given Clazz from the class pool.
+
+
RemoveConstantFromSSA - Class in proguard.dexfile.ir.ts
+
+
1.
+
+
RemoveConstantFromSSA() - Constructor for class proguard.dexfile.ir.ts.RemoveConstantFromSSA
+
 
+
REMOVED_CONSTRUCTORS - Static variable in class proguard.util.ProcessingFlags
+
 
+
REMOVED_FIELDS - Static variable in class proguard.classfile.AccessConstants
+
 
+
REMOVED_FIELDS - Static variable in class proguard.util.ProcessingFlags
+
 
+
REMOVED_METHODS - Static variable in class proguard.classfile.AccessConstants
+
 
+
REMOVED_METHODS - Static variable in class proguard.util.ProcessingFlags
+
 
+
REMOVED_PUBLIC_CONSTRUCTORS - Static variable in class proguard.util.ProcessingFlags
+
 
+
REMOVED_PUBLIC_FIELDS - Static variable in class proguard.util.ProcessingFlags
+
 
+
REMOVED_PUBLIC_METHODS - Static variable in class proguard.util.ProcessingFlags
+
 
+
removeDuplicateProgramLocations(List<BamLocationDependentJvmMemoryLocation>) - Method in interface proguard.analysis.cpa.jvm.domain.memory.TraceExtractor
+
 
+
removeElement - Variable in class proguard.analysis.cpa.defaults.LimitedHashMap
+
 
+
removeField(Field) - Method in class proguard.classfile.editor.ClassEditor
+
+
Removes the given field.
+
+
removeField(Field) - Method in class proguard.classfile.editor.LibraryClassEditor
+
+
Removes the given field.
+
+
removeGenericTypes(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Remove any generic type parameters from the given descriptor.
+
+
removeInnerClassesInfo(InnerClassesInfo) - Method in class proguard.classfile.editor.InnerClassesAttributeEditor
+
+
Removes the given inner class from the inner classes attribute.
+
+
removeInterface(int) - Method in class proguard.classfile.editor.ClassEditor
+
+
Removes the given interface.
+
+
removeInterface(String) - Method in class proguard.classfile.editor.LibraryClassEditor
+
+
Removes the given interface.
+
+
RemoveLocalFromSSA - Class in proguard.dexfile.ir.ts
+
+
This class attempts to remove SSA form and reduce the number of variables used by the program.
+
+
RemoveLocalFromSSA() - Constructor for class proguard.dexfile.ir.ts.RemoveLocalFromSSA
+
 
+
RemoveLogging - Class in proguard.examples
+
+
This sample application illustrates how to modify bytecode with the ProGuardCORE API.
+
+
RemoveLogging() - Constructor for class proguard.examples.RemoveLogging
+
 
+
removeMethod(Method) - Method in class proguard.classfile.editor.ClassEditor
+
+
Removes the given method.
+
+
removeMethod(Method) - Method in class proguard.classfile.editor.LibraryClassEditor
+
+
Removes the given method.
+
+
removeProcessingFlags(int...) - Method in class proguard.util.SimpleProcessable
+
+
Removes all given flags from this processable.
+
+
removeResourceFile(String) - Method in class proguard.resources.file.ResourceFilePool
+
+
Removes the specified ResourceFile from this pool.
+
+
removeSubClass(Clazz) - Method in interface proguard.classfile.Clazz
+
+
Notifies this Clazz that it is no longer being subclassed by another class.
+
+
removeSubClass(Clazz) - Method in class proguard.classfile.LibraryClass
+
 
+
removeSubClass(Clazz) - Method in class proguard.classfile.ProgramClass
+
 
+
removeTop(int) - Method in class proguard.evaluation.Stack
+
+
Removes the specified Value from the stack.
+
+
removeTop(int) - Method in class proguard.evaluation.TracedStack
+
 
+
RENAMED - Static variable in class proguard.classfile.AccessConstants
+
 
+
RenamedDataEntry - Class in proguard.io
+
+
This DataEntry wraps another data entry, returning a different name instead of the + wrapped data entry's name.
+
+
RenamedDataEntry(DataEntry, String) - Constructor for class proguard.io.RenamedDataEntry
+
 
+
RenamedDataEntryReader - Class in proguard.io
+
+
This DataEntryReader delegates to another DataEntryReader, renaming the data + entries based on the given string function.
+
+
RenamedDataEntryReader(StringFunction, DataEntryReader) - Constructor for class proguard.io.RenamedDataEntryReader
+
+
Creates a new RenamedDataEntryReader.
+
+
RenamedDataEntryReader(StringFunction, DataEntryReader, DataEntryReader) - Constructor for class proguard.io.RenamedDataEntryReader
+
+
Creates a new RenamedDataEntryReader.
+
+
RenamedDataEntryWriter - Class in proguard.io
+
+
This DataEntryWriter delegates to another DataEntryWriter, renaming the data + entries with the given string function.
+
+
RenamedDataEntryWriter(StringFunction, DataEntryWriter) - Constructor for class proguard.io.RenamedDataEntryWriter
+
+
Creates a new RenamedDataEntryWriter.
+
+
RenamedParentDataEntryWriter - Class in proguard.io
+
+
This DataEntryWriter delegates to another DataEntryWriter, renaming parent data + entries based on the given matcher.
+
+
RenamedParentDataEntryWriter(StringMatcher, String, DataEntryWriter) - Constructor for class proguard.io.RenamedParentDataEntryWriter
+
+
Creates a new RenamedParentDataEntryWriter.
+
+
render(Clazz) - Static method in class proguard.classfile.util.renderer.ClassViewModel
+
+
Renders Clazz object into an abstract representation that hides the low-level Jvm class + data structure.
+
+
render(Clazz, Class<T>) - Static method in class proguard.classfile.util.renderer.ClassViewModel
+
+
Renders Clazz object into an abstract representation that hides the low-level Jvm class + data structure; additional processing flags declared in a subclass of ProcessingFlags + will also be rendered.
+
+
render(Clazz, Field) - Static method in class proguard.classfile.util.renderer.FieldViewModel
+
+
A wrapper utility method that wraps a Field object in a FieldViewModel
+
+
render(Clazz, Method) - Static method in class proguard.classfile.util.renderer.MethodViewModel
+
+
A wrapper utility method that wraps a Method object in a MethodViewModel
+
+
renderConstantPool(Clazz) - Static method in class proguard.classfile.util.renderer.ClassViewModel
+
+
A utility method for rendering each constant pool entry into a higher-level representation.
+
+
renderFields(Clazz) - Static method in class proguard.classfile.util.renderer.ClassViewModel
+
+
A utility method for rendering each Field into a higher-level representation.
+
+
renderInterfaces(Clazz) - Static method in class proguard.classfile.util.renderer.ClassViewModel
+
+
A utility method for recursively rendering interfaces of an implementing Clazz.
+
+
renderMethods(Clazz) - Static method in class proguard.classfile.util.renderer.ClassViewModel
+
+
A utility method for rendering each Method into a higher-level representation.
+
+
renderPreview() - Method in class proguard.classfile.util.renderer.ConstantViewModel
+
+
A utility method that renders a Constant entry into a preview string, e.g., String(18) + -> "Foo".
+
+
renderPreview() - Method in class proguard.classfile.util.renderer.FieldViewModel
+
+
A utility method that renders a Field entry into a preview string, e.g., "public static + int bar"
+
+
renderPreview() - Method in class proguard.classfile.util.renderer.MethodViewModel
+
+
A utility method that renders a Method entry into a preview string, e.g., private int + bar(Foo obj)
+
+
renderPreview(Clazz) - Static method in class proguard.classfile.util.renderer.ClassViewModel
+
+
A utility method that renders a Clazz object into a string containing class name, type, + accessibility.
+
+
renderProcessingFlags(int) - Static method in class proguard.classfile.util.renderer.ProcessableViewModel
+
+
A utility method for rendering the processing flags of a processable instance.
+
+
renderSuperClass(Clazz) - Static method in class proguard.classfile.util.renderer.ClassViewModel
+
+
A utility method for recursively rendering Clazz objects in the hierarchy.
+
+
replace(Stmt, Stmt) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
replaceAccessFlags(int, int) - Static method in class proguard.classfile.util.AccessUtil
+
+
Replaces the access part of the given access flags.
+
+
replaceInstruction(int, Instruction) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Remembers to replace the instruction at the given offset by the given instruction.
+
+
replaceInstruction(int, Instruction[]) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Remembers to replace the instruction at the given offset by the given instructions.
+
+
replacements - Variable in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
replaceReferences(Value, Value) - Method in class proguard.evaluation.Stack
+
+
Replaces all the references to {@param toReplace} with references to {@param replacement}.
+
+
replaceReferences(Value, Value) - Method in class proguard.evaluation.Variables
+
+
Replaces all the references to {@param toReplace} with references to {@param replacement}.
+
+
ReplaceSimpleConstantInstruction - Class in proguard.examples.modify
+
+
Example showing how to use InstructionSequenceReplacer to replace an `LDC` loading "Hello + World" to load the constant "Hallo Wereld" instead.
+
+
ReplaceSimpleConstantInstruction() - Constructor for class proguard.examples.modify.ReplaceSimpleConstantInstruction
+
 
+
report(String) - Method in interface proguard.util.kotlin.asserter.Reporter
+
 
+
reporter - Variable in class proguard.util.kotlin.asserter.constraint.AbstractKotlinMetadataConstraint
+
 
+
Reporter - Interface in proguard.util.kotlin.asserter
+
+
Interface for reporting errors.
+
+
reportIfClassDangling(String, Clazz) - Method in class proguard.util.kotlin.asserter.AssertUtil
+
 
+
reportIfFieldDangling(String, Clazz, Field) - Method in class proguard.util.kotlin.asserter.AssertUtil
+
 
+
reportIfMethodDangling(String, Clazz, Method) - Method in class proguard.util.kotlin.asserter.AssertUtil
+
 
+
reportIfNull(String, Object...) - Method in class proguard.util.kotlin.asserter.AssertUtil
+
 
+
reportIfNullReference(String, Object) - Method in class proguard.util.kotlin.asserter.AssertUtil
+
 
+
RequiredAttributeFilter - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor delegates its visits to one of two other AttributeVisitor + instances, depending on whether the visited attribute is strictly required or not.
+
+
RequiredAttributeFilter(AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
+
Creates a new RequiredAttributeFilter for visiting required attributes.
+
+
RequiredAttributeFilter(AttributeVisitor, AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
+
Creates a new RequiredAttributeFilter for visiting required and optional attributes.
+
+
requires - Variable in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
requiresAccept(Clazz, RequiresInfoVisitor) - Method in class proguard.classfile.attribute.module.ModuleAttribute
+
+
Applies the given visitor to all requires.
+
+
RequiresInfo - Class in proguard.classfile.attribute.module
+
+
Representation of a Requires entry in a Module attribute.
+
+
RequiresInfo() - Constructor for class proguard.classfile.attribute.module.RequiresInfo
+
+
Creates an uninitialized RequiresInfo.
+
+
RequiresInfo(int, int, int) - Constructor for class proguard.classfile.attribute.module.RequiresInfo
+
+
Creates an uninitialized RequiresInfo.
+
+
RequiresInfoVisitor - Interface in proguard.classfile.attribute.module.visitor
+
+
This interface specifies the methods for a visitor of RequiresInfo instances.
+
+
RES_DRAWABLE - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RES_DRAWABLE_XML - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RES_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RES_FONT - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RES_LAYOUT - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RES_LAYOUT_XML - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RES_MENU - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RES_MENU_XML - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RES_NAVIGATION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RES_NAVIGATION_XML - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RES_TRANSITION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RES_TRANSITION_XML - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RES_XML - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RES_XML_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
reset() - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Starts a new code definition.
+
+
reset() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Starts a new code definition.
+
+
reset() - Method in class proguard.classfile.util.ExternalTypeEnumeration
+
 
+
reset() - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
+
Starts matching from the first instruction again next time.
+
+
reset() - Method in class proguard.evaluation.BasicBranchUnit
+
+
Resets the accumulated branch targets and the flag that tells whether any of the branch unit + methods was called.
+
+
reset() - Method in class proguard.util.WildcardManager
+
+
Resets the list of string matchers.
+
+
reset(int) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Resets the accumulated code changes for a given anticipated maximum code length.
+
+
reset(int) - Method in class proguard.classfile.editor.InstructionWriter
+
+
Resets the accumulated code changes for a given anticipated maximum code length.
+
+
reset(int) - Method in class proguard.classfile.editor.VariableEditor
+
+
Resets the accumulated code changes.
+
+
reset(int) - Method in class proguard.evaluation.Stack
+
+
Resets this Stack, so that it can be reused.
+
+
reset(int) - Method in class proguard.evaluation.TracedStack
+
 
+
reset(int) - Method in class proguard.evaluation.TracedVariables
+
 
+
reset(int) - Method in class proguard.evaluation.Variables
+
+
Resets this Variables object, so that it can be reused.
+
+
resetCounter(String) - Method in interface proguard.util.kotlin.asserter.Reporter
+
 
+
resetResult() - Method in class proguard.analysis.cpa.jvm.util.ConstantLookupVisitor
+
 
+
resolveFromSuperclasses(Clazz, String, String) - Static method in class proguard.analysis.CallUtil
+
+
Search for the invocation target in a specific class and recursively in all superclasses.
+
+
resolveFromSuperinterfaces(Clazz, String, String) - Static method in class proguard.analysis.CallUtil
+
+
Search for a maximally specific default implementation in all superinterfaces of a class.
+
+
resolveVirtual(Clazz, String, String) - Static method in class proguard.analysis.CallUtil
+
+
The invokevirtual and invokeinterface resolution algorithm, annotated + with JVM + spec §6.5.invokevirtual citations where appropriate, so that the specified lookup process + can easily be compared to this implementation.
+
+
resolveVirtual(Clazz, Clazz, AnyMethodrefConstant) - Static method in class proguard.analysis.CallUtil
+
+
The invokevirtual and invokeinterface resolution algorithm, annotated + with JVM + spec §6.5.invokevirtual citations where appropriate, so that the specified lookup process + can easily be compared to this implementation.
+
+
resolveVirtualSignatures(Clazz, String, String) - Static method in class proguard.analysis.CallUtil
+
+ +
+
ResourceFile - Class in proguard.resources.file
+
+
Representation of a resource file in an application.
+
+
ResourceFile(String, long) - Constructor for class proguard.resources.file.ResourceFile
+
+
Creates a new ResourceFile.
+
+
ResourceFile(String, long, int) - Constructor for class proguard.resources.file.ResourceFile
+
 
+
resourceFileAccept(String, ResourceFileVisitor) - Method in interface proguard.resources.file.FilePool
+
+
Applies the given ResourceFileVisitor to the instance with the given name, if it is present in + this pool.
+
+
ResourceFileDataEntryReader - Class in proguard.resources.file.io
+
+
This DataEntryReader creates plain ResourceFile instances for the data entries + that it reads, and passes them to the given ResourceFileVisitor.
+
+
ResourceFileDataEntryReader(ResourceFileVisitor) - Constructor for class proguard.resources.file.io.ResourceFileDataEntryReader
+
+
Creates a new ResourceFileDataEntryReader
+
+
ResourceFileDataEntryReader(ResourceFileVisitor, DataEntryFilter) - Constructor for class proguard.resources.file.io.ResourceFileDataEntryReader
+
+
Creates a new ResourceFileDataEntryReader with the given filter that accepts data entries for + resource files that need to be adapted.
+
+
resourceFileMap - Variable in class proguard.resources.file.ResourceFilePool
+
 
+
ResourceFileNameFilter - Class in proguard.resources.file.visitor
+
+
Delegates to another ResourceFileVisitor, but only if the visited file's name matches a + given filter.
+
+
ResourceFileNameFilter(String, ResourceFileVisitor) - Constructor for class proguard.resources.file.visitor.ResourceFileNameFilter
+
 
+
ResourceFileNameFilter(String, ResourceFileVisitor, ResourceFileVisitor) - Constructor for class proguard.resources.file.visitor.ResourceFileNameFilter
+
 
+
ResourceFileNameFilter(List, ResourceFileVisitor) - Constructor for class proguard.resources.file.visitor.ResourceFileNameFilter
+
 
+
ResourceFileNameFilter(List, ResourceFileVisitor, ResourceFileVisitor) - Constructor for class proguard.resources.file.visitor.ResourceFileNameFilter
+
 
+
ResourceFileNameFilter(StringMatcher, ResourceFileVisitor) - Constructor for class proguard.resources.file.visitor.ResourceFileNameFilter
+
 
+
ResourceFileNameFilter(StringMatcher, ResourceFileVisitor, ResourceFileVisitor) - Constructor for class proguard.resources.file.visitor.ResourceFileNameFilter
+
 
+
resourceFileNames() - Method in interface proguard.resources.file.FilePool
+
+
Returns a Set of all resource file names in this resource file pool.
+
+
resourceFileNames() - Method in class proguard.resources.file.ResourceFilePool
+
+
Returns a Set of all resource file names in this resource file pool.
+
+
ResourceFilePool - Class in proguard.resources.file
+
+
This is a set of ResourceFile instances.
+
+
ResourceFilePool() - Constructor for class proguard.resources.file.ResourceFilePool
+
+
Creates a new empty ResourceFilePool.
+
+
ResourceFilePool(Iterable<? extends ResourceFile>) - Constructor for class proguard.resources.file.ResourceFilePool
+
+
Creates a new ResourceFilePool with the given resource files.
+
+
ResourceFilePool(ResourceFile...) - Constructor for class proguard.resources.file.ResourceFilePool
+
+
Creates a new ResourceFilePool with the given resource files.
+
+
ResourceFilePoolFiller - Class in proguard.resources.file.visitor
+
+
Adds all visited resource files to a given resource file pool.
+
+
ResourceFilePoolFiller(ResourceFilePool) - Constructor for class proguard.resources.file.visitor.ResourceFilePoolFiller
+
+
Creates a new ResourceFilePoolFiller.
+
+
ResourceFilePoolNameFunction - Class in proguard.resources.file.util
+
+
Deprecated.
+
+
ResourceFilePoolNameFunction(ResourceFilePool) - Constructor for class proguard.resources.file.util.ResourceFilePoolNameFunction
+
+
Deprecated.
+
Creates a new ResourceFilePoolNameFunction based on the given resource file pool.
+
+
ResourceFilePresenceFilter - Class in proguard.resources.file.visitor
+
+
This ResourceFileVisitor delegates its visits to one of two ResourceFileVisitor + instances, depending on whether the name of the visited resource file is present in a given + FilePool or not.
+
+
ResourceFilePresenceFilter(FilePool, ResourceFileVisitor, ResourceFileVisitor) - Constructor for class proguard.resources.file.visitor.ResourceFilePresenceFilter
+
+
Creates a new ResourceFilePresenceFilter.
+
+
ResourceFilePresenceFilter(ResourceFilePool, ResourceFileVisitor, ResourceFileVisitor) - Constructor for class proguard.resources.file.visitor.ResourceFilePresenceFilter
+
+
Deprecated.
+
+
ResourceFileProcessingFlagFilter - Class in proguard.resources.file.visitor
+
+
This ResourceFileVisitor delegates all its visits to a given delegate visitor, but only of the + processing flags of the visited resource file match the given processing flag requirements.
+
+
ResourceFileProcessingFlagFilter(int, int, ResourceFileVisitor) - Constructor for class proguard.resources.file.visitor.ResourceFileProcessingFlagFilter
+
+
Creates a new ResourceFileProcessingFlagFilter.
+
+
resourceFilesAccept(String, ResourceFileVisitor) - Method in interface proguard.resources.file.FilePool
+
+
Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filter.
+
+
resourceFilesAccept(String, ResourceFileVisitor) - Method in class proguard.resources.file.ResourceFilePool
+
+
Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filter.
+
+
resourceFilesAccept(List<String>, ResourceFileVisitor) - Method in interface proguard.resources.file.FilePool
+
+
Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filters.
+
+
resourceFilesAccept(List<String>, ResourceFileVisitor) - Method in class proguard.resources.file.ResourceFilePool
+
+
Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filters.
+
+
resourceFilesAccept(ResourceFileVisitor) - Method in interface proguard.resources.file.FilePool
+
+
Applies the given ResourceFileVisitor to all instances in this pool.
+
+
resourceFilesAccept(ResourceFileVisitor) - Method in class proguard.resources.file.ResourceFilePool
+
+
Applies the given ResourceFileVisitor to all instances in this pool.
+
+
resourceFilesAccept(StringMatcher, ResourceFileVisitor) - Method in interface proguard.resources.file.FilePool
+
+
Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filter.
+
+
resourceFilesAccept(StringMatcher, ResourceFileVisitor) - Method in class proguard.resources.file.ResourceFilePool
+
+
Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filter.
+
+
resourceFileVisitor(ResourceFile) - Method in class proguard.resources.file.visitor.ResourceFilePresenceFilter
+
+
Returns the appropriate ResourceFileVisitor.
+
+
ResourceFileVisitor - Interface in proguard.resources.file.visitor
+
+
This interface specifies the methods for a visitor of ResourceFile instances.
+
+
ResourceJavaReference - Class in proguard.resources.file
+
+
Represents a reference to a Java class from a resource file.
+
+
ResourceJavaReference(String) - Constructor for class proguard.resources.file.ResourceJavaReference
+
 
+
ResourceJavaReferenceClassInitializer - Class in proguard.resources.file.visitor
+
+
This ResourceFileVisitor initializes the class references from non-binary resources files + with the corresponding classes from the program class pool.
+
+
ResourceJavaReferenceClassInitializer(ClassPool) - Constructor for class proguard.resources.file.visitor.ResourceJavaReferenceClassInitializer
+
 
+
ResourceJavaReferenceCleaner - Class in proguard.resources.file.visitor
+
+
Removes any ResourceJavaReferences from resource files for which no class reference was + found.
+
+
ResourceJavaReferenceCleaner() - Constructor for class proguard.resources.file.visitor.ResourceJavaReferenceCleaner
+
 
+
ResourceJavaReferenceCollector - Class in proguard.resources.file.visitor
+
+
This DataEntryReader collects the java references in a resource file and adds them to the + references field.
+
+
ResourceJavaReferenceCollector() - Constructor for class proguard.resources.file.visitor.ResourceJavaReferenceCollector
+
 
+
RESOURCES_ARSC - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RESOURCES_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RESOURCES_PB - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RESOURCES_PB_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RestartLocal(DexLabel, int) - Constructor for class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.RestartLocal
+
 
+
result - Variable in class proguard.analysis.cpa.jvm.util.ConstantLookupVisitor
+
 
+
resultClazz - Variable in class proguard.analysis.cpa.jvm.util.ConstantLookupVisitor
+
 
+
resultSize - Variable in class proguard.analysis.cpa.jvm.util.ConstantLookupVisitor
+
 
+
ret - Variable in class proguard.dexfile.ir.IrMethod
+
 
+
ret(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ret(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
RETURN - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
RETURN - proguard.dexfile.reader.Op
+
 
+
return_() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
return_() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
return_(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends the proper return statement for the given internal type.
+
+
RETURN_EXIT_NODE_OFFSET - Static variable in interface proguard.analysis.cpa.interfaces.CfaNode
+
 
+
RETURN_OBJECT - proguard.dexfile.reader.Op
+
 
+
RETURN_VOID - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
RETURN_VOID - proguard.dexfile.reader.Op
+
 
+
RETURN_WIDE - proguard.dexfile.reader.Op
+
 
+
returnFromMethod() - Method in class proguard.evaluation.BasicBranchUnit
+
 
+
returnFromMethod() - Method in interface proguard.evaluation.BranchUnit
+
+
Returns from the method with the given value.
+
+
returnOperation(DexStmtNode, V) - Method in class proguard.dexfile.reader.node.analysis.DvmInterpreter
+
+
RETURN*
+
+
returnsOwnInstance(String, String) - Method in interface proguard.evaluation.executor.instancehandler.ExecutorInstanceHandler
+
+
Return whether the method always returns its calling instance.
+
+
returnsOwnInstance(String, String) - Method in class proguard.evaluation.executor.instancehandler.ExecutorMethodInstanceHandler
+
 
+
returnsSameTypeAsInstance() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Return whether the return and instance types of the method match.
+
+
returnsVoid() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Whether the method returns void.
+
+
returnType - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
returnType - Variable in class proguard.classfile.MethodDescriptor
+
+
Deprecated.
+
+
returnType() - Method in class proguard.classfile.util.InternalTypeEnumeration
+
+
Returns the return type from the descriptor, assuming it's a method descriptor.
+
+
returnTypeAccept(Clazz, KotlinMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
ReturnVoidStmt - Class in proguard.dexfile.ir.stmt
+
+
Represent a RETURN_VOID statement
+
+
ReturnVoidStmt() - Constructor for class proguard.dexfile.ir.stmt.ReturnVoidStmt
+
 
+
reverseMapping() - Method in class proguard.classfile.ClassPool
+
+
Returns a Map that represents a mapping from every Clazz in the ClassPool to its original name.
+
+
ROOT_RESOURCES_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
RSUB_INT - proguard.dexfile.reader.Op
+
 
+
RSUB_INT_LIT8 - proguard.dexfile.reader.Op
+
 
+
run(ReachedSet, Waitlist) - Method in interface proguard.analysis.cpa.interfaces.Algorithm
+
+
Launches the algorithm updating the reachedSet and the waitlist.
+
+
run(ReachedSet, Waitlist, AbortOperator) - Method in class proguard.analysis.cpa.algorithms.CpaAlgorithm
+
+
Algorithm from the paper is parametrized with the reached set and the waitlist.
+
+
run(ReachedSet, Waitlist, AbortOperator) - Method in interface proguard.analysis.cpa.interfaces.Algorithm
+
+
Launches the algorithm updating the reachedSet and the waitlist.
+
+
RUNTIME - proguard.dexfile.reader.Visibility
+
 
+
RUNTIME_INVISIBLE_ANNOTATIONS - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
RUNTIME_INVISIBLE_TYPE_ANNOTATIONS - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
RUNTIME_VISIBLE_ANNOTATIONS - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
RUNTIME_VISIBLE_TYPE_ANNOTATIONS - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
RuntimeDataInput - Class in proguard.io
+
+
This class delegates its method calls to the corresponding DataInput methods, converting + its IOExceptions to RuntimeExceptions.
+
+
RuntimeDataInput(DataInput) - Constructor for class proguard.io.RuntimeDataInput
+
 
+
RuntimeDataOutput - Class in proguard.io
+
+
This class delegates its method calls to the corresponding DataOutput methods, converting + its IOExceptions to RuntimeExceptions.
+
+
RuntimeDataOutput(DataOutput) - Constructor for class proguard.io.RuntimeDataOutput
+
 
+
RuntimeInvisibleAnnotationsAttribute - Class in proguard.classfile.attribute.annotation
+
+
This Attribute represents a runtime invisible annotations attribute.
+
+
RuntimeInvisibleAnnotationsAttribute() - Constructor for class proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute
+
+
Creates an uninitialized RuntimeInvisibleAnnotationsAttribute.
+
+
RuntimeInvisibleAnnotationsAttribute(int, int, Annotation[]) - Constructor for class proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute
+
+
Creates an initialized RuntimeInvisibleAnnotationsAttribute.
+
+
RuntimeInvisibleParameterAnnotationsAttribute - Class in proguard.classfile.attribute.annotation
+
+
This Attribute represents a runtime invisible parameter annotations attribute.
+
+
RuntimeInvisibleParameterAnnotationsAttribute() - Constructor for class proguard.classfile.attribute.annotation.RuntimeInvisibleParameterAnnotationsAttribute
+
+
Creates an uninitialized RuntimeInvisibleParameterAnnotationsAttribute.
+
+
RuntimeInvisibleParameterAnnotationsAttribute(int, int, int[], Annotation[][]) - Constructor for class proguard.classfile.attribute.annotation.RuntimeInvisibleParameterAnnotationsAttribute
+
+
Creates an initialized RuntimeInvisibleParameterAnnotationsAttribute.
+
+
RuntimeInvisibleTypeAnnotationsAttribute - Class in proguard.classfile.attribute.annotation
+
+
This Attribute represents a runtime invisible type annotations attribute.
+
+
RuntimeInvisibleTypeAnnotationsAttribute() - Constructor for class proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute
+
+
Creates an uninitialized RuntimeInvisibleTypeAnnotationsAttribute.
+
+
RuntimeInvisibleTypeAnnotationsAttribute(int, int, TypeAnnotation[]) - Constructor for class proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute
+
+
Creates an initialized RuntimeInvisibleTypeAnnotationsAttribute.
+
+
runtimeTypeDependent - Variable in class proguard.analysis.datastructure.callgraph.Call
+
+
If true, this call might only be one of several alternative targets, depending on the actual + type of the called object during runtime.
+
+
RuntimeVisibleAnnotationsAttribute - Class in proguard.classfile.attribute.annotation
+
+
This Attribute represents a runtime visible annotations attribute.
+
+
RuntimeVisibleAnnotationsAttribute() - Constructor for class proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute
+
+
Creates an uninitialized RuntimeVisibleAnnotationsAttribute.
+
+
RuntimeVisibleAnnotationsAttribute(int, int, Annotation[]) - Constructor for class proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute
+
+
Creates an initialized RuntimeVisibleAnnotationsAttribute.
+
+
RuntimeVisibleParameterAnnotationsAttribute - Class in proguard.classfile.attribute.annotation
+
+
This Attribute represents a runtime visible parameter annotations attribute.
+
+
RuntimeVisibleParameterAnnotationsAttribute() - Constructor for class proguard.classfile.attribute.annotation.RuntimeVisibleParameterAnnotationsAttribute
+
+
Creates an uninitialized RuntimeVisibleParameterAnnotationsAttribute.
+
+
RuntimeVisibleParameterAnnotationsAttribute(int, int, int[], Annotation[][]) - Constructor for class proguard.classfile.attribute.annotation.RuntimeVisibleParameterAnnotationsAttribute
+
+
Creates an initialized RuntimeVisibleParameterAnnotationsAttribute.
+
+
RuntimeVisibleTypeAnnotationsAttribute - Class in proguard.classfile.attribute.annotation
+
+
This Attribute represents a runtime visible type annotations attribute.
+
+
RuntimeVisibleTypeAnnotationsAttribute() - Constructor for class proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute
+
+
Creates an uninitialized RuntimeVisibleTypeAnnotationsAttribute.
+
+
RuntimeVisibleTypeAnnotationsAttribute(int, int, TypeAnnotation[]) - Constructor for class proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute
+
+
Creates an initialized RuntimeVisibleTypeAnnotationsAttribute.
+
+
+ + + +

S

+
+
saload() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
saload() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
SAME_ONE_FRAME - Static variable in class proguard.classfile.attribute.preverification.StackMapFrame
+
 
+
SAME_ONE_FRAME_EXTENDED - Static variable in class proguard.classfile.attribute.preverification.StackMapFrame
+
 
+
SAME_ZERO_FRAME - Static variable in class proguard.classfile.attribute.preverification.StackMapFrame
+
 
+
SAME_ZERO_FRAME_EXTENDED - Static variable in class proguard.classfile.attribute.preverification.StackMapFrame
+
 
+
SameOneFrame - Class in proguard.classfile.attribute.preverification
+
+
This StackMapFrame represents a "same locals 1 stack item frame" or a "same locals 1 + stack item frame extended".
+
+
SameOneFrame() - Constructor for class proguard.classfile.attribute.preverification.SameOneFrame
+
+
Creates an uninitialized SameOneFrame.
+
+
SameOneFrame(int) - Constructor for class proguard.classfile.attribute.preverification.SameOneFrame
+
+
Creates a SameOneFrame with the given tag.
+
+
SameOneFrame(VerificationType) - Constructor for class proguard.classfile.attribute.preverification.SameOneFrame
+
+
Creates a SameOneFrame with the given stack verification type.
+
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.CascadingDataEntryWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.ClassDataEntryWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.ClassMapDataEntryWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in interface proguard.io.DataEntryWriter
+
+
Returns whether the two given data entries would result in the same output stream.
+
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.DexDataEntryWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.DirectoryWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.FilteredDataEntryWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.FixedFileWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.JarWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.NonClosingDataEntryWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.ParentDataEntryWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.PrefixAddingDataEntryWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.RenamedDataEntryWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.RenamedParentDataEntryWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.io.ZipWriter
+
 
+
sameOutputStream(DataEntry, DataEntry) - Method in class proguard.resources.kotlinmodule.io.KotlinModuleDataEntryWriter
+
 
+
sameValues - Variable in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
+
same use, have same
+
+
SameZeroFrame - Class in proguard.classfile.attribute.preverification
+
+
This StackMapFrame represents a "same frame" or a "same frame extended".
+
+
SameZeroFrame() - Constructor for class proguard.classfile.attribute.preverification.SameZeroFrame
+
+
Creates an uninitialized SameZeroFrame.
+
+
SameZeroFrame(int) - Constructor for class proguard.classfile.attribute.preverification.SameZeroFrame
+
+
Creates a SameZeroFrame with the given tag.
+
+
SampleClassWithArray - Class in com.example
+
+
This is a sample class that can be processed.
+
+
SampleClassWithArray() - Constructor for class com.example.SampleClassWithArray
+
 
+
SampleClassWithConstantComputation - Class in com.example
+
+
This is a sample class that can be processed.
+
+
SampleClassWithConstantComputation() - Constructor for class com.example.SampleClassWithConstantComputation
+
 
+
SampleClassWithObjects - Class in com.example
+
+
This is a sample class that can be processed.
+
+
SampleClassWithObjects() - Constructor for class com.example.SampleClassWithObjects
+
 
+
SampleClassWithRangeComputation - Class in com.example
+
+
This is a sample class that can be processed.
+
+
SampleClassWithRangeComputation() - Constructor for class com.example.SampleClassWithRangeComputation
+
 
+
SampleClassWithVariableComputation - Class in com.example
+
+
This is a sample class that can be processed.
+
+
SampleClassWithVariableComputation() - Constructor for class com.example.SampleClassWithVariableComputation
+
 
+
sArrayValues - Variable in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
sastore() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
sastore() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
sealedSubclassesAccept(ClassVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
sealedSubclassNames - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
SequentialCpaRun<CpaT extends ConfigurableProgramAnalysis,​AbstractStateT extends AbstractState,​InputCpaRunT extends CpaRun> - Class in proguard.analysis.cpa.defaults
+
+
This CpaRun wraps another InputCpaRunT and allows a following CpaT to be + constructed using the output of the former run.
+
+
SequentialCpaRun(InputCpaRunT) - Constructor for class proguard.analysis.cpa.defaults.SequentialCpaRun
+
+
Create a CPA run which accepts the reached set of another CPA run.
+
+
SequentialCpaRun.PreviousRunDurationReceiver - Interface in proguard.analysis.cpa.defaults
+
+
Interface that can be implemented by the abort operator of the second CPA.
+
+
SERVICE_PROVIDER_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
set(int, AbstractSpaceT, AbstractSpaceT) - Method in class proguard.analysis.cpa.defaults.ListAbstractState
+
+
Sets an element at index to elem.
+
+
SET_PREFIX - Static variable in class proguard.classfile.util.kotlin.KotlinNameUtil
+
 
+
setAabFilter(List<String>) - Method in class proguard.io.ClassPathEntry
+
+
Sets the name filter that is applied to aab files in this entry, if any.
+
+
setAarFilter(List<String>) - Method in class proguard.io.ClassPathEntry
+
+
Sets the name filter that is applied to aar files in this entry, if any.
+
+
setAbortOperator(AbortOperator) - Method in class proguard.analysis.cpa.defaults.BamCpaRun.Builder
+
+
Sets the abort operator for premature CPA algorithm termination.
+
+
setAbortOperator(AbortOperator) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
setAbortOperator(AbortOperator) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Sets the abort operator for premature CPA algorithm termination.
+
+
setAbortOperator(AbortOperator) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun.Builder
+
 
+
setAbortOperator(AbortOperator) - Method in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun.Builder
+
 
+
SetAbstractState<T> - Class in proguard.analysis.cpa.defaults
+
+
This SetAbstractState represents a set with the subset ordering.
+
+
SetAbstractState(Collection<? extends T>) - Constructor for class proguard.analysis.cpa.defaults.SetAbstractState
+
+
Create a set abstract state from a collection.
+
+
SetAbstractState(T...) - Constructor for class proguard.analysis.cpa.defaults.SetAbstractState
+
+
Create a set abstract state from its elements.
+
+
setAliveAfter(int, int, boolean) - Method in class proguard.evaluation.LivenessAnalyzer
+
+
Sets whether the specified variable is alive after the instruction at the given offset.
+
+
setAliveBefore(int, int, boolean) - Method in class proguard.evaluation.LivenessAnalyzer
+
+
Sets whether the specified variable is alive before the instruction at the given offset.
+
+
setApkFilter(List<String>) - Method in class proguard.io.ClassPathEntry
+
+
Sets the name filter that is applied to apk files in this entry, if any.
+
+
setArguments(List<Value>) - Method in class proguard.analysis.datastructure.callgraph.Call
+
 
+
setArrayElement(T, StateT, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.JvmForgetfulHeapAbstractState
+
 
+
setArrayElement(T, StateT, StateT) - Method in interface proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState
+
+
Sets the array element value at the specified index.
+
+
setArrayElement(T, StateT, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
setArrayElement(T, StateT, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Sets the array element at the given index to the value.
+
+
setArrayValueFactory(ValueFactory) - Method in class proguard.analysis.CallResolver.Builder
+
 
+
setBootstrapMethodIndexMap(int[]) - Method in class proguard.classfile.editor.BootstrapMethodRemapper
+
+
Sets the given mapping of old constant pool entry indexes to their new indexes.
+
+
setBottom(int, Value) - Method in class proguard.evaluation.Stack
+
+
Sets the specified Value on the stack, without disturbing it.
+
+
setBranchTargetFinder(BranchTargetFinder) - Method in class proguard.evaluation.PartialEvaluator.Builder
+
+
The utility class that will find all branches.
+
+
setBranchUnit(BasicBranchUnit) - Method in class proguard.evaluation.PartialEvaluator.Builder
+
+
The branch unit that will handle all branches.
+
+
setBytes(byte[]) - Method in class proguard.classfile.constant.Utf8Constant
+
+
Initializes the UTF-8 data with an array of bytes.
+
+
setCacheEnabled(boolean) - Static method in class proguard.classfile.Signature
+
+
Enable or disable automatic caching in Signature.of(Clazz, Member).
+
+
setCallingInstructionBlockStack(Stack<PartialEvaluator.InstructionBlock>) - Method in class proguard.evaluation.PartialEvaluator.Builder
+
+
the stack of instruction blocks to be evaluated.
+
+
setCallMatcher(Predicate<Call>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
 
+
setCategory2(int, int, boolean) - Method in class proguard.evaluation.LivenessAnalyzer
+
+
Sets whether the specified variable takes up two entries after the instruction at the given + offset.
+
+
setCfa(JvmCfa) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
setCfa(JvmCfa) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Sets the control flow automaton.
+
+
setCfa(JvmCfa) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun.Builder
+
 
+
setCfa(JvmCfa) - Method in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun.Builder
+
+
Sets the control flow automaton.
+
+
setClassVisitor(ClassVisitor) - Method in class proguard.classfile.visitor.VariableClassVisitor
+
 
+
setClearCallValuesAfterVisit(boolean) - Method in class proguard.analysis.CallResolver.Builder
+
+ +
+
setConstantIndexMap(int[]) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
+
Sets the given mapping of old constant pool entry indexes to their new indexes.
+
+
setDescriptorIndex(int) - Method in class proguard.classfile.constant.NameAndTypeConstant
+
+
Sets the descriptor index.
+
+
setEarFilter(List<String>) - Method in class proguard.io.ClassPathEntry
+
+
Sets the name filter that is applied to ear files in this entry, if any.
+
+
setEnableSameInstanceIdApproximation(boolean) - Method in class proguard.evaluation.ExecutingInvocationUnit.Builder
+
+
For methods that are not supported by any executor, decide, whether a method with matching + return and instance types should be treated as a method which returns its instance.
+
+
setErrorMessage(String) - Method in interface proguard.util.kotlin.asserter.Reporter
+
 
+
setEvaluateAllCode(boolean) - Method in class proguard.analysis.CallResolver.Builder
+
+ +
+
setEvaluateAllCode(boolean) - Method in class proguard.evaluation.PartialEvaluator.Builder
+
+
Specifies whether all casts, branch targets, and exceptionhandlers should be evaluated, even + if they are unnecessary or unreachable.
+
+
setExecutingInvocationUnitBuilder(ExecutingInvocationUnit.Builder) - Method in class proguard.analysis.CallResolver.Builder
+
 
+
setExtraInstructionVisitor(InstructionVisitor) - Method in class proguard.evaluation.PartialEvaluator.Builder
+
+
an optional extra visitor for all instructions right before they are executed.
+
+
setExtraTaintPropagationLocations(Map<Call, Set<JvmMemoryLocation>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
+
Set a mapping from a call to the set of locations which should get tainted after the call + invocation.
+
+
setExtraTaintPropagationLocations(Map<Call, Set<JvmMemoryLocation>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Set a mapping from a call to the set of locations which should get tainted after the call + invocation.
+
+
setFeatureName(String) - Method in class proguard.io.ClassPathEntry
+
+
Sets the feature name.
+
+
setFeatureName(String) - Method in interface proguard.util.FeatureNamed
+
+
Sets the feature name for this entity.
+
+
setFeatureName(String) - Method in class proguard.util.SimpleFeatureNamedProcessable
+
 
+
setField(T, String, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.JvmForgetfulHeapAbstractState
+
 
+
setField(T, String, StateT) - Method in interface proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState
+
+
Sets a value to a field fqn of a referenced object.
+
+
setField(T, String, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
setField(T, String, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Sets the field descriptor of the object to value.
+
+
setField(T, ValueAbstractState) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
 
+
setField(T, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Sets the default field of the object to value.
+
+
setFieldClassValue(Clazz, FieldrefConstant, ReferenceValue) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
setFieldClassValue(Clazz, FieldrefConstant, ReferenceValue) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
 
+
setFieldClassValue(Clazz, FieldrefConstant, ReferenceValue) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
+
Sets the class through which the specified field is accessed.
+
+
setFieldValue(Clazz, FieldrefConstant, Value) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
setFieldValue(Clazz, FieldrefConstant, Value) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
 
+
setFieldValue(Clazz, FieldrefConstant, Value) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
+
Sets the value of the specified field.
+
+
setFile(File) - Method in class proguard.io.ClassPathEntry
+
+
Sets the file.
+
+
setFilter(List<String>) - Method in class proguard.io.ClassPathEntry
+
+
Sets the name filter that is applied to bottom-level files in this entry.
+
+
setFollowerHeapNodeMapAbstractStateFactory(MapAbstractStateFactory<String, SetAbstractState<JvmTaintSource>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
+
Sets the map abstract state factory used for constructing the mapping from fields to values + in the follower heap model.
+
+
setFollowerHeapNodeMapAbstractStateFactory(MapAbstractStateFactory<String, SetAbstractState<JvmTaintSource>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Sets the map abstract state factory used for constructing the mapping from fields to values + in the follower heap model.
+
+
setFrame(Stmt, T[]) - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
setHeapModel(HeapModel) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
setHeapModel(HeapModel) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Sets the heap model.
+
+
setHeapModel(HeapModel) - Method in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun.Builder
+
+
Sets the heap model.
+
+
setIgnoreExceptions(boolean) - Method in class proguard.analysis.CallResolver.Builder
+
+
If false, exceptions will be taken into account during control flow analysis.
+
+
setIncludeSubClasses(boolean) - Method in class proguard.analysis.CallResolver.Builder
+
+
If true, virtual calls on class fields, parameters and return values of other methods will + take all possible subclasses into account.
+
+
setInstance(Value) - Method in class proguard.analysis.datastructure.callgraph.Call
+
 
+
setInvocationUnit(InvocationUnit) - Method in class proguard.evaluation.PartialEvaluator.Builder
+
+
The invocation unit that will handle all communication with other fields and methods.
+
+
setIsValidForSource(Predicate<TaintSource>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
 
+
setJarFilter(List<String>) - Method in class proguard.io.ClassPathEntry
+
+
Sets the name filter that is applied to jar files in this entry, if any.
+
+
setJmodFilter(List<String>) - Method in class proguard.io.ClassPathEntry
+
+
Sets the name filter that is applied to jmod files in this entry, if any.
+
+
setMainSignature(MethodSignature) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
+
Sets the signature of the method the analysis starts from.
+
+
setMainSignature(MethodSignature) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Sets the signature of the method the analysis starts from.
+
+
setMainSignature(MethodSignature) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun.Builder
+
 
+
setMatcher(StringMatcher) - Method in class proguard.util.SettableMatcher
+
 
+
setMaxCallStackDepth(int) - Method in class proguard.analysis.cpa.defaults.BamCpaRun.Builder
+
+
Sets the call stack limit for the interprocedural analysis.
+
+
setMaxCallStackDepth(int) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
setMaxCallStackDepth(int) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Sets the call stack limit for the interprocedural analysis.
+
+
setMaxCallStackDepth(int) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun.Builder
+
 
+
setMaxCallStackDepth(int) - Method in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun.Builder
+
 
+
setMaxPartialEvaluations(int) - Method in class proguard.analysis.CallResolver.Builder
+
+ +
+
setMemberVisitor(MemberVisitor) - Method in class proguard.classfile.visitor.VariableMemberVisitor
+
 
+
setMemoryLocationAbortOperator(AbortOperator) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Sets the abort operator for premature trace reconstruction termination.
+
+
setMethodParameterValue(Clazz, AnyMethodrefConstant, int, Value) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
setMethodParameterValue(Clazz, AnyMethodrefConstant, int, Value) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
 
+
setMethodParameterValue(Clazz, AnyMethodrefConstant, int, Value) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
 
+
setMethodParameterValue(Clazz, AnyMethodrefConstant, int, Value) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
+
Sets the value of the specified method parameter.
+
+
setMethodReturnValue(Clazz, Method, Value) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
setMethodReturnValue(Clazz, Method, Value) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
 
+
setMethodReturnValue(Clazz, Method, Value) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
+
Sets the return value of the specified method.
+
+
setNameAndTypeIndex(int) - Method in class proguard.classfile.constant.RefConstant
+
+
Sets the name-and-type index.
+
+
setNameIndex(int) - Method in class proguard.classfile.constant.NameAndTypeConstant
+
+
Sets the name index.
+
+
setOp(Value) - Method in class proguard.dexfile.ir.expr.Value.E1Expr
+
 
+
setOp(Value) - Method in class proguard.dexfile.ir.expr.Value
+
 
+
setOp(Value) - Method in class proguard.dexfile.ir.stmt.Stmt.E1Stmt
+
 
+
setOp(Value) - Method in class proguard.dexfile.ir.stmt.Stmt
+
 
+
setOp1(Value) - Method in class proguard.dexfile.ir.expr.Value.E2Expr
+
 
+
setOp1(Value) - Method in class proguard.dexfile.ir.expr.Value
+
 
+
setOp1(Value) - Method in class proguard.dexfile.ir.stmt.Stmt.E2Stmt
+
 
+
setOp1(Value) - Method in class proguard.dexfile.ir.stmt.Stmt
+
 
+
setOp2(Value) - Method in class proguard.dexfile.ir.expr.Value.E2Expr
+
 
+
setOp2(Value) - Method in class proguard.dexfile.ir.expr.Value
+
 
+
setOp2(Value) - Method in class proguard.dexfile.ir.stmt.Stmt.E2Stmt
+
 
+
setOp2(Value) - Method in class proguard.dexfile.ir.stmt.Stmt
+
 
+
setOps(Value[]) - Method in class proguard.dexfile.ir.expr.Value.EnExpr
+
 
+
setOps(Value[]) - Method in class proguard.dexfile.ir.expr.Value
+
 
+
setOps(Value[]) - Method in class proguard.dexfile.ir.stmt.Stmt
+
 
+
setOutput(boolean) - Method in class proguard.io.ClassPathEntry
+
+
Specifies whether this data entry is an output entry.
+
+
setParentElement(String) - Method in class proguard.util.kotlin.asserter.AssertUtil
+
 
+
setPrettyPrinting(int) - Method in class proguard.evaluation.PartialEvaluator.Builder
+
+
Specifies how many instructions should be considered in the context of a pretty message.
+
+
setPreviousCpaRunDuration(Duration) - Method in interface proguard.analysis.cpa.defaults.SequentialCpaRun.PreviousRunDurationReceiver
+
 
+
setPrincipalHeapNodeMapAbstractStateFactory(MapAbstractStateFactory<String, SetAbstractState<Reference>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
+
Sets the map abstract state factory used for constructing the mapping from fields to values + in the principal heap model.
+
+
setPrincipalHeapNodeMapAbstractStateFactory(MapAbstractStateFactory<String, SetAbstractState<Reference>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Sets the map abstract state factory used for constructing the mapping from fields to values + in the principal heap model.
+
+
setProcessingFlags(int) - Method in interface proguard.util.Processable
+
+
Sets the processing flags.
+
+
setProcessingFlags(int) - Method in class proguard.util.SimpleProcessable
+
 
+
setProcessingInfo(Object) - Method in interface proguard.util.Processable
+
+
Sets the processing information.
+
+
setProcessingInfo(Object) - Method in class proguard.util.SimpleProcessable
+
 
+
setProducerValue(int, Value) - Method in class proguard.evaluation.TracedVariables
+
+
Sets the given producer Value for the specified variable, without disturbing it.
+
+
setProducerValue(Value) - Method in class proguard.evaluation.TracedStack
+
+
Sets the Value that will be stored along with all push and pop instructions.
+
+
setProducerValue(Value) - Method in class proguard.evaluation.TracedVariables
+
+
Sets the Value that will be stored along with all store instructions.
+
+
setProgramLocation(CfaNodeT) - Method in interface proguard.analysis.cpa.interfaces.ProgramLocationDependent
+
+
Sets the program location.
+
+
setProgramLocation(JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation
+
 
+
setProgramLocation(JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
 
+
setProgramLocation(JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
setReduceHeap(boolean) - Method in class proguard.analysis.cpa.defaults.BamCpaRun.Builder
+
+
Sets whether the heap should be reduced before method calls.
+
+
setReduceHeap(boolean) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
setReduceHeap(boolean) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Sets whether the heap should be reduced before method calls.
+
+
setReduceHeap(boolean) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun.Builder
+
 
+
setReduceHeap(boolean) - Method in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun.Builder
+
 
+
setReg(int, V) - Method in class proguard.dexfile.reader.node.analysis.DvmFrame
+
 
+
setResolvedTargetSignature(MethodSignature) - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Sets the lazy property containing the resolved target of the method calls.
+
+
setReturnValue(Value) - Method in class proguard.evaluation.MethodResult.Builder
+
+
Sets the value returned by the analyzed method.
+
+
setReturnValue(Value) - Method in class proguard.analysis.datastructure.callgraph.Call
+
 
+
setShouldAnalyzeNextCodeAttribute(Supplier<Boolean>) - Method in class proguard.analysis.CallResolver.Builder
+
+
If returns true, the next code attribute will be analyzed.
+
+
setSkipIncompleteCalls(boolean) - Method in class proguard.analysis.CallResolver.Builder
+
+
If true, any discovered call that would return true for Call.hasIncompleteTarget() + will be discarded and not be forwarded to CallHandler.handleCall(Call, TracedStack, + TracedVariables).
+
+
setSource(JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge
+
+
Sets a node as the predecessor of the edge and adds the edge as leaving edge of the node.
+
+
setSourceReachedSet(ProgramLocationDependentReachedSet<CfaNodeT, CfaEdgeT, AbstractStateT, SignatureT>) - Method in interface proguard.analysis.cpa.bam.BamLocationDependent
+
+
Sets the reached set the abstract state belongs to.
+
+
setSourceReachedSet(ProgramLocationDependentReachedSet<JvmCfaNode, JvmCfaEdge, AbstractStateT, MethodSignature>) - Method in class proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation
+
 
+
setSourceReachedSet(ProgramLocationDependentReachedSet<JvmCfaNode, JvmCfaEdge, AbstractStateT, MethodSignature>) - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
 
+
setStateTracker(PartialEvaluatorStateTracker) - Method in class proguard.evaluation.PartialEvaluator.Builder
+
 
+
setStatic(String, StateT, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Sets the static field fqn to value, unless the value is defaultState.
+
+
setStaticFieldMapAbstractStateFactory(MapAbstractStateFactory<String, SetAbstractState<JvmTaintSource>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
+
Sets the static field map abstract state factory.
+
+
setStaticFieldMapAbstractStateFactory(MapAbstractStateFactory<String, SetAbstractState<JvmTaintSource>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Sets the static field map abstract state factory.
+
+
setStaticFields(MapAbstractState<String, ValueAbstractState>) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun.Builder
+
 
+
setString(String) - Method in class proguard.classfile.constant.Utf8Constant
+
+
Initializes the UTF-8 data with a String.
+
+
SettableMatcher - Class in proguard.util
+
+
This StringMatcher delegates to a another StringMatcher that can be set after + this StringMatcher has been constructed.
+
+
SettableMatcher() - Constructor for class proguard.util.SettableMatcher
+
 
+
setTaintSinks(Collection<? extends JvmTaintSink>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Sets the taint sinks.
+
+
setTaintSources(Set<? extends JvmTaintSource>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
+
Sets the taint sources.
+
+
setTaintSources(Set<? extends JvmTaintSource>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Sets the taint sources.
+
+
setTaintTransformers(Map<MethodSignature, JvmTaintTransformer>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
+
Set a mapping from method signature to a transformer object applied to the taint state when + that method is invoked.
+
+
setTaintTransformers(Map<MethodSignature, JvmTaintTransformer>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Set a mapping from method signature to a transformer object applied to the taint state when + that method is invoked.
+
+
setTakesArgs(Set<Integer>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
 
+
setTakesGlobals(Set<String>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
 
+
setTakesInstance(boolean) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
 
+
setTarget(JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge
+
+
Sets a node as the successor of the edge and adds the edge as entering edge of the node.
+
+
setTarget(LabelStmt) - Method in class proguard.dexfile.ir.stmt.GotoStmt
+
 
+
setTarget(LabelStmt) - Method in class proguard.dexfile.ir.stmt.IfStmt
+
 
+
setTarget(LabelStmt) - Method in interface proguard.dexfile.ir.stmt.JumpStmt
+
 
+
setterFlags - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
setterParameters - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
setterParametersAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinValueParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
setterSignature - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
setThreshold(SetAbstractState<JvmTaintSource>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
+
+
Sets the trace reconstruction threshold.
+
+
setTmp(V) - Method in class proguard.dexfile.reader.node.analysis.DvmFrame
+
 
+
setTop(int, Value) - Method in class proguard.evaluation.Stack
+
+
Sets the specified Value on the stack, without disturbing it.
+
+
setTraceValue(Value) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
setTransferRelationFactory(JvmValueBamCpaRun.TransferRelationFactory) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun.Builder
+
 
+
setUpdatedInstance(ReferenceValue) - Method in class proguard.evaluation.MethodResult.Builder
+
+
Set the updated value of the invocation instance after the invocation of the analyzed method.
+
+
setUpdatedParameters(List<Value>) - Method in class proguard.evaluation.MethodResult.Builder
+
+
Set the updated value of the parameters after the invocation of the analyzed method.
+
+
setUseDominatorAnalysis(boolean) - Method in class proguard.analysis.CallResolver.Builder
+
+
If true, a dominator analysis is carried out using the DominatorCalculator for each + method, in order to be able to fill the Call.controlFlowDependent flag.
+
+
setValue(double) - Method in class proguard.classfile.constant.DoubleConstant
+
+
Sets the double value of this DoubleConstant.
+
+
setValue(float) - Method in class proguard.classfile.constant.FloatConstant
+
+
Sets the float value of this FloatConstant.
+
+
setValue(int) - Method in class proguard.classfile.constant.IntegerConstant
+
+
Sets the integer value of this IntegerConstant.
+
+
setValue(long) - Method in class proguard.classfile.constant.LongConstant
+
+
Sets the long value of this LongConstant.
+
+
setValue(Value) - Method in class proguard.analysis.cpa.jvm.domain.value.ValueAbstractState
+
+
Update the Value associated with this abstract state.
+
+
setValueFactory(ValueFactory) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun.Builder
+
 
+
setValueFactory(ValueFactory) - Method in class proguard.evaluation.PartialEvaluator.Builder
+
+
the value factory that will create all values during evaluation.
+
+
setVariable(int, ValueAbstractState, ValueAbstractState) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
+
Sets the indexth position of the variable array to state and returns + state.
+
+
setVariable(int, StateT, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Sets the indexth position of the variable array to state and returns + state.
+
+
setVariable(int, StateT, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
+
Sets the indexth position of the variable array to state and returns + state.
+
+
setVariableMap(int[]) - Method in class proguard.classfile.editor.VariableRemapper
+
+
Sets the given mapping of old variable indexes to their new indexes.
+
+
setWarFilter(List<String>) - Method in class proguard.io.ClassPathEntry
+
+
Sets the name filter that is applied to war files in this entry, if any.
+
+
setZipFilter(List<String>) - Method in class proguard.io.ClassPathEntry
+
+
Sets the name filter that is applied to zip files in this entry, if any.
+
+
SGET - proguard.dexfile.reader.Op
+
 
+
SGET_BOOLEAN - proguard.dexfile.reader.Op
+
 
+
SGET_BYTE - proguard.dexfile.reader.Op
+
 
+
SGET_CHAR - proguard.dexfile.reader.Op
+
 
+
SGET_OBJECT - proguard.dexfile.reader.Op
+
 
+
SGET_SHORT - proguard.dexfile.reader.Op
+
 
+
SGET_WIDE - proguard.dexfile.reader.Op
+
 
+
SHALLOW - proguard.analysis.cpa.jvm.state.heap.HeapModel
+
+
A shallow heap models objects as atomic abstract states.
+
+
SHIFT_LEFT - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
SHIFT_LEFT - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
SHIFT_RIGHT - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
SHIFT_RIGHT - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted left by the given IntegerValue.
+
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this LongValue, shifted left by the given IntegerValue.
+
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
shiftLeft(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted left by the given ParticularIntegerValue.
+
+
shiftLeft(ParticularIntegerValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this LongValue, shifted left by the given ParticularIntegerValue.
+
+
shiftLeft(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeft(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
shiftLeft(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeft(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted left by the given RangeIntegerValue.
+
+
shiftLeft(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeft(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeft(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeft(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted left by the given SpecificIntegerValue.
+
+
shiftLeft(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeft(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this LongValue, shifted left by the given SpecificLongValue.
+
+
shiftLeft(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
shiftLeft(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted left by the given UnknownIntegerValue.
+
+
shiftLeftOf(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given IntegerValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeftOf(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeftOf(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeftOf(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
shiftLeftOf(LongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given LongValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(LongValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeftOf(LongValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeftOf(LongValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeftOf(LongValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
shiftLeftOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given ParticularIntegerValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeftOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeftOf(ParticularLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given ParticularLongValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeftOf(ParticularLongValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeftOf(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given RangeIntegerValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeftOf(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeftOf(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeftOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given SpecificIntegerValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeftOf(SpecificLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given SpecificLongValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeftOf(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given UnknownIntegerValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(UnknownLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given UnknownLongValue, shifted left by this IntegerValue.
+
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted right by the given IntegerValue.
+
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this LongValue, shifted right by the given IntegerValue.
+
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
shiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted right by the given ParticularIntegerValue.
+
+
shiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this LongValue, shifted right by the given ParticularIntegerValue.
+
+
shiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
shiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted right by the given RangeIntegerValue.
+
+
shiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRight(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted right by the given SpecificIntegerValue.
+
+
shiftRight(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRight(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this LongValue, shifted right by the given SpecificLongValue.
+
+
shiftRight(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
shiftRight(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted right by the given UnknownIntegerValue.
+
+
shiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given IntegerValue, shifted right by this IntegerValue.
+
+
shiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
shiftRightOf(LongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given LongValue, shifted right by this IntegerValue.
+
+
shiftRightOf(LongValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRightOf(LongValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRightOf(LongValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRightOf(LongValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
shiftRightOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given ParticularIntegerValue, shifted right by this IntegerValue.
+
+
shiftRightOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRightOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRightOf(ParticularLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given ParticularLongValue, shifted right by this IntegerValue.
+
+
shiftRightOf(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRightOf(ParticularLongValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given RangeIntegerValue, shifted right by this IntegerValue.
+
+
shiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRightOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given SpecificIntegerValue, shifted right by this IntegerValue.
+
+
shiftRightOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRightOf(SpecificLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given SpecificLongValue, shifted right by this IntegerValue.
+
+
shiftRightOf(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRightOf(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given UnknownIntegerValue, shifted right by this IntegerValue.
+
+
shiftRightOf(UnknownLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given UnknownLongValue, shifted right by this IntegerValue.
+
+
SHL - proguard.dexfile.ir.expr.Value.VT
+
 
+
SHL_INT - proguard.dexfile.reader.Op
+
 
+
SHL_INT_2ADDR - proguard.dexfile.reader.Op
+
 
+
SHL_INT_LIT8 - proguard.dexfile.reader.Op
+
 
+
SHL_LONG - proguard.dexfile.reader.Op
+
 
+
SHL_LONG_2ADDR - proguard.dexfile.reader.Op
+
 
+
SHORT - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
SHORT - Static variable in class proguard.classfile.TypeConstants
+
 
+
shortKotlinNestedClassName(String, String, Clazz) - Static method in class proguard.classfile.editor.ClassReferenceFixer
+
+
Returns the short classname to be used as the nested classname.
+
+
ShortValue(short) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.ShortValue
+
 
+
shouldCollapse - Variable in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
SHR - proguard.dexfile.ir.expr.Value.VT
+
 
+
SHR_INT - proguard.dexfile.reader.Op
+
 
+
SHR_INT_2ADDR - proguard.dexfile.reader.Op
+
 
+
SHR_INT_LIT8 - proguard.dexfile.reader.Op
+
 
+
SHR_LONG - proguard.dexfile.reader.Op
+
 
+
SHR_LONG_2ADDR - proguard.dexfile.reader.Op
+
 
+
shrink() - Method in class proguard.classfile.editor.CodeAttributeEditor.Label
+
 
+
shrink() - Method in class proguard.classfile.editor.InstructionSequenceReplacer.Label
+
 
+
shrink() - Method in class proguard.classfile.instruction.BranchInstruction
+
 
+
shrink() - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
shrink() - Method in class proguard.classfile.instruction.Instruction
+
+
Shrinks this instruction to its shortest possible form.
+
+
shrink() - Method in class proguard.classfile.instruction.LookUpSwitchInstruction
+
 
+
shrink() - Method in class proguard.classfile.instruction.SimpleInstruction
+
 
+
shrink() - Method in class proguard.classfile.instruction.TableSwitchInstruction
+
 
+
shrink() - Method in class proguard.classfile.instruction.VariableInstruction
+
 
+
shutdown(int) - Method in class proguard.dexfile.converter.Dex2Pro
+
+
Shuts down and waits for any remaining conversion workers, up to timeoutSeconds.
+
+
shutdown(int) - Method in class proguard.io.ParallelDexClassReader
+
+
Shuts down and waits for up to timeoutSeconds for any outstanding workers to finish.
+
+
signature - Variable in class proguard.analysis.cpa.domain.taint.TaintSink
+
 
+
signature - Variable in class proguard.analysis.cpa.domain.taint.TaintSource
+
 
+
signature - Variable in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState.StackEntry
+
 
+
signature - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
 
+
signature - Variable in class proguard.analysis.datastructure.callgraph.Node
+
 
+
signature - Variable in class proguard.analysis.datastructure.CodeLocation
+
 
+
signature - Variable in class proguard.dexfile.ir.expr.Local
+
 
+
signature - Variable in class proguard.dexfile.ir.LocalVar
+
 
+
signature - Variable in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.StartLocalNode
+
 
+
Signature - Class in proguard.classfile
+
+
A signature currently can be a Method- or a FieldSignature.
+
+
Signature(String, int) - Constructor for class proguard.classfile.Signature
+
 
+
SIGNATURE - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
SignatureAdapter<T extends Signature> - Class in proguard.classfile.visitor
+
+
This MemberVisitor provides the consumer with a corresponding Signature.
+
+
SignatureAdapter(Consumer<T>) - Constructor for class proguard.classfile.visitor.SignatureAdapter
+
 
+
SignatureAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a signature attribute.
+
+
SignatureAttribute() - Constructor for class proguard.classfile.attribute.SignatureAttribute
+
+
Creates an uninitialized SignatureAttribute.
+
+
SignatureAttribute(int, int) - Constructor for class proguard.classfile.attribute.SignatureAttribute
+
+
Creates an initialized SignatureAttribute.
+
+
SignatureAttributeReferencedClassVisitor - Class in proguard.classfile.visitor
+
+
This AttributeVisitor lets a given ClassVisitor visit all the classes referenced + by the type descriptors of the signatures that it visits.
+
+
SignatureAttributeReferencedClassVisitor(ClassVisitor) - Constructor for class proguard.classfile.visitor.SignatureAttributeReferencedClassVisitor
+
 
+
SignedJarWriter - Class in proguard.io
+
+
This JarWriter sends data entries to a given jar file, automatically adding a manifest + file and signing it with JAR signature scheme v1.
+
+
SignedJarWriter(KeyStore.PrivateKeyEntry, String[], String, int[], DataEntryWriter) - Constructor for class proguard.io.SignedJarWriter
+
+
Creates a new SignedJarWriter with the given settings.
+
+
SignedJarWriter(KeyStore.PrivateKeyEntry, String[], String, DataEntryWriter) - Constructor for class proguard.io.SignedJarWriter
+
+
Creates a new SignedJarWriter with the given settings.
+
+
SignedJarWriter(KeyStore.PrivateKeyEntry, DataEntryWriter) - Constructor for class proguard.io.SignedJarWriter
+
+
Creates a new SignedJarWriter.
+
+
SimilarMemberVisitor - Class in proguard.classfile.visitor
+
+
This MemberVisitor lets a given MemberVisitor visit all members that have the + same name and type as the visited methods in the class hierarchy of the members' classes or of a + given target class.
+
+
SimilarMemberVisitor(boolean, boolean, boolean, boolean, MemberVisitor) - Constructor for class proguard.classfile.visitor.SimilarMemberVisitor
+
+
Creates a new SimilarMemberVisitor.
+
+
SimilarMemberVisitor(Clazz, boolean, boolean, boolean, boolean, MemberVisitor) - Constructor for class proguard.classfile.visitor.SimilarMemberVisitor
+
+
Creates a new SimilarMemberVisitor.
+
+
SimpleClassPrinter - Class in proguard.classfile.visitor
+
+
This ClassVisitor and MemberVisitor prints out the class names of the classes it + visits, and the full class member descriptions of the class members it visits.
+
+
SimpleClassPrinter(boolean) - Constructor for class proguard.classfile.visitor.SimpleClassPrinter
+
+
Creates a new SimpleClassPrinter that prints to the standard output, with or without the access + modifiers.
+
+
SimpleClassPrinter(boolean, PrintWriter) - Constructor for class proguard.classfile.visitor.SimpleClassPrinter
+
+
Creates a new SimpleClassPrinter that prints to the given writer, with or without the access + modifiers.
+
+
SimpleCpa - Class in proguard.analysis.cpa.defaults
+
+
The SimpleCpa is a ConfigurableProgramAnalysis wrapping its components.
+
+
SimpleCpa(AbstractDomain, TransferRelation, MergeOperator, StopOperator) - Constructor for class proguard.analysis.cpa.defaults.SimpleCpa
+
+
Create a simple CPA with a static precision adjustment.
+
+
SimpleCpa(AbstractDomain, TransferRelation, MergeOperator, StopOperator, PrecisionAdjustment) - Constructor for class proguard.analysis.cpa.defaults.SimpleCpa
+
+
Create a simple CPA from ConfigurableProgramAnalysis components.
+
+
SimpleFeatureNamedProcessable - Class in proguard.util
+
+
A SimpleProcessable that additionally implements FeatureNamed.
+
+
SimpleFeatureNamedProcessable() - Constructor for class proguard.util.SimpleFeatureNamedProcessable
+
+
Creates an uninitialized SimpleFeatureNamedProcessable.
+
+
SimpleFeatureNamedProcessable(String, int, Object) - Constructor for class proguard.util.SimpleFeatureNamedProcessable
+
+
Creates an initialized SimpleFeatureNamedProcessable.
+
+
SimpleInstruction - Class in proguard.classfile.instruction
+
+
This Instruction represents a simple instruction without variable arguments or constant + pool references.
+
+
SimpleInstruction() - Constructor for class proguard.classfile.instruction.SimpleInstruction
+
+
Creates an uninitialized SimpleInstruction.
+
+
SimpleInstruction(byte) - Constructor for class proguard.classfile.instruction.SimpleInstruction
+
+
Creates a new SimpleInstruction with the given opcode.
+
+
SimpleInstruction(byte, int) - Constructor for class proguard.classfile.instruction.SimpleInstruction
+
+
Creates a new SimpleInstruction with the given opcode and constant.
+
+
SimpleLiveAnalyze - Class in proguard.dexfile.ir.ts.an
+
 
+
SimpleLiveAnalyze(IrMethod, boolean) - Constructor for class proguard.dexfile.ir.ts.an.SimpleLiveAnalyze
+
 
+
SimpleLiveValue - Class in proguard.dexfile.ir.ts.an
+
 
+
SimpleLiveValue() - Constructor for class proguard.dexfile.ir.ts.an.SimpleLiveValue
+
 
+
SimpleProcessable - Class in proguard.util
+
+
This class provides a straightforward implementation of the Processable interface.
+
+
SimpleProcessable() - Constructor for class proguard.util.SimpleProcessable
+
+
Creates an uninitialized SimpleProcessable.
+
+
SimpleProcessable(int, Object) - Constructor for class proguard.util.SimpleProcessable
+
+
Creates an initialized SimpleProcessable.
+
+
SimplifiedInvocationUnit - Class in proguard.evaluation
+
+
This InvocationUnit sets up the variables for entering a method, and it updates the stack + for the invocation of a class member, using simple values.
+
+
SimplifiedInvocationUnit() - Constructor for class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
SingleFunctionParser - Class in proguard.util
+
+
This StringFunctionParser creates StringFunction instances for regular + expressions with optional "->" transformations.
+
+
SingleFunctionParser(StringParser, WildcardManager) - Constructor for class proguard.util.SingleFunctionParser
+
+
Creates a new SingleFunctionParser.
+
+
SingleTimeAttributeVisitor - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor delegates all visits to a given AttributeVisitor, although + only once to the same attribute in a row.
+
+
SingleTimeAttributeVisitor(AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
SingleTimeClassVisitor - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates all visits to a given ClassVisitor, although only + once to the same class in a row.
+
+
SingleTimeClassVisitor(ClassVisitor) - Constructor for class proguard.classfile.visitor.SingleTimeClassVisitor
+
 
+
SingleWrapperTransferRelation - Class in proguard.analysis.cpa.defaults
+
+
This WrapperTransferRelation applies its (only) inner TransferRelation to the + input.
+
+
SingleWrapperTransferRelation(TransferRelation) - Constructor for class proguard.analysis.cpa.defaults.SingleWrapperTransferRelation
+
+
Create a wrapper transfer relation around the given TransferRelation.
+
+
sipush(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
sipush(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
size - Variable in enum proguard.dexfile.reader.InstructionFormat
+
 
+
size - Variable in class proguard.evaluation.Variables
+
 
+
size() - Method in interface proguard.analysis.cpa.bam.BamCache
+
+
Returns the size of the cache.
+
+
size() - Method in class proguard.analysis.cpa.bam.BamCacheImpl
+
 
+
size() - Method in class proguard.analysis.cpa.defaults.AbstractWaitlist
+
 
+
size() - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
size() - Method in interface proguard.analysis.cpa.interfaces.Waitlist
+
+
Returns the size of the waitlist.
+
+
size() - Method in class proguard.classfile.ClassPool
+
+
Returns the number of classes in the class pool.
+
+
size() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Returns the number of instructions accumulated by this InstructionSequenceBuilder.
+
+
size() - Method in class proguard.evaluation.Stack
+
+
Returns the number of elements currently on the stack, accounting for the double space required + by Category 2 values.
+
+
size() - Method in class proguard.evaluation.Variables
+
+
Returns the number of variables.
+
+
size() - Method in class proguard.io.ClassPath
+
 
+
size() - Method in class proguard.io.ZipOutput
+
+
Returns the current size of the data written to the output stream.
+
+
size() - Method in class proguard.resources.file.ResourceFilePool
+
+
Returns the number of resource files in this pool.
+
+
size() - Method in class proguard.util.CircularIntBuffer
+
+
Get current size of the buffer.
+
+
size() - Method in class proguard.util.MultiValueMap
+
 
+
SKIP_ANNOTATION - Static variable in class proguard.dexfile.reader.DexFileReader
+
+
skip annotation info in dex file.
+
+
SKIP_BROKEN_DEBUG_INFO - Static variable in class proguard.dexfile.reader.DexFileReader
+
+
Do not throw an exception if debug info is not valid
+
+
SKIP_CODE - Static variable in class proguard.dexfile.reader.DexFileReader
+
+
skip code info in dex file, this indicate DexFileReader.SKIP_DEBUG
+
+
SKIP_DEBUG - Static variable in class proguard.dexfile.reader.DexFileReader
+
+
skip debug infos in dex file.
+
+
SKIP_EXCEPTION - Static variable in class proguard.dexfile.reader.DexFileReader
+
+
keep clinit method when DexFileReader.SKIP_DEBUG
+
+
SKIP_FIELD_CONSTANT - Static variable in class proguard.dexfile.reader.DexFileReader
+
+
skip field constant in dex file.
+
+
skipBytes(int) - Method in class proguard.io.RuntimeDataInput
+
 
+
skipInstructionBlock(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
skipInstructionBlock(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int) - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
skipInstructionBlock(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
The instruction within this instruction block has been seen with the those variables and this + stack, and thus it is not needed to evaluate this block any further.
+
+
source - Variable in class proguard.classfile.attribute.ExtendedLineNumberInfo
+
 
+
source - Variable in class proguard.dexfile.reader.node.DexClassNode
+
 
+
SOURCE_DEBUG_EXTENSION - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
SOURCE_DIR - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
SOURCE_FILE - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
SOURCE_I_D - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
SourceDebugExtensionAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a source debug extension attribute.
+
+
SourceDebugExtensionAttribute() - Constructor for class proguard.classfile.attribute.SourceDebugExtensionAttribute
+
+
Creates an uninitialized SourceDebugExtensionAttribute.
+
+
SourceDebugExtensionAttribute(int, int, byte[]) - Constructor for class proguard.classfile.attribute.SourceDebugExtensionAttribute
+
+
Creates an initialized SourceDebugExtensionAttribute.
+
+
SourceDirAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a source directory attribute.
+
+
SourceDirAttribute() - Constructor for class proguard.classfile.attribute.SourceDirAttribute
+
+
Creates an uninitialized SourceDirAttribute.
+
+
SourceDirAttribute(int, int) - Constructor for class proguard.classfile.attribute.SourceDirAttribute
+
+
Creates an initialized SourceDirAttribute.
+
+
SourceFileAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a source file attribute.
+
+
SourceFileAttribute() - Constructor for class proguard.classfile.attribute.SourceFileAttribute
+
+
Creates an uninitialized SourceFileAttribute.
+
+
SourceFileAttribute(int, int) - Constructor for class proguard.classfile.attribute.SourceFileAttribute
+
+
Creates an initialized SourceFileAttribute.
+
+
SPARSE_SWITCH - proguard.dexfile.reader.Op
+
 
+
SparseSwitchStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
SparseSwitchStmtNode(Op, int, int[], DexLabel[]) - Constructor for class proguard.dexfile.reader.node.insn.SparseSwitchStmtNode
+
 
+
SPECIAL_CLASS_CHARACTER - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
SPECIAL_CLASS_CHARACTER - Static variable in class proguard.classfile.TypeConstants
+
 
+
SPECIAL_MEMBER_SEPARATOR - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
SPECIAL_MEMBER_SEPARATOR - Static variable in class proguard.classfile.TypeConstants
+
 
+
SpecificDoubleValue - Class in proguard.evaluation.value
+
+
This DoubleValue represents a specific double value.
+
+
SpecificDoubleValue() - Constructor for class proguard.evaluation.value.SpecificDoubleValue
+
 
+
SpecificFloatValue - Class in proguard.evaluation.value
+
+
This FloatValue represents a specific float value.
+
+
SpecificFloatValue() - Constructor for class proguard.evaluation.value.SpecificFloatValue
+
 
+
SpecificIntegerValue - Class in proguard.evaluation.value
+
+
This IntegerValue represents a specific integer value.
+
+
SpecificIntegerValue() - Constructor for class proguard.evaluation.value.SpecificIntegerValue
+
 
+
SpecificLongValue - Class in proguard.evaluation.value
+
+
This LongValue represents a specific long value.
+
+
SpecificLongValue() - Constructor for class proguard.evaluation.value.SpecificLongValue
+
 
+
spliterator() - Method in class proguard.analysis.cpa.defaults.AbstractWaitlist
+
 
+
SPUT - proguard.dexfile.reader.Op
+
 
+
SPUT_BOOLEAN - proguard.dexfile.reader.Op
+
 
+
SPUT_BYTE - proguard.dexfile.reader.Op
+
 
+
SPUT_CHAR - proguard.dexfile.reader.Op
+
 
+
SPUT_OBJECT - proguard.dexfile.reader.Op
+
 
+
SPUT_SHORT - proguard.dexfile.reader.Op
+
 
+
SPUT_WIDE - proguard.dexfile.reader.Op
+
 
+
srcReg - Variable in class proguard.dexfile.reader.node.insn.Stmt2R1NNode
+
 
+
st - Variable in class proguard.dexfile.ir.stmt.Stmt
+
+
Statement Type
+
+
stack - Variable in class proguard.classfile.attribute.preverification.FullFrame
+
 
+
stack - Variable in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
Stack - Class in proguard.evaluation
+
+
This class represents an operand stack that contains Value instances.
+
+
Stack(int) - Constructor for class proguard.evaluation.Stack
+
+
Creates a new Stack with a given maximum size, accounting for the double space required by + Category 2 values.
+
+
Stack(Stack) - Constructor for class proguard.evaluation.Stack
+
+
Creates a Stack that is a copy of the given Stack.
+
+
STACK_CATEGORY_ONE - Static variable in class proguard.exception.ErrorId
+
 
+
STACK_GENERALIZATION - Static variable in class proguard.exception.ErrorId
+
 
+
STACK_MAP - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
STACK_MAP_TABLE - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
STACK_TYPE - Static variable in class proguard.exception.ErrorId
+
 
+
StackAbstractState<AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>> - Class in proguard.analysis.cpa.defaults
+
+
This StackAbstractState represents a stack of LatticeAbstractStates with the + semilattice operators lifted to the stack.
+
+
StackAbstractState() - Constructor for class proguard.analysis.cpa.defaults.StackAbstractState
+
 
+
stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.DoubleType
+
 
+
stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.FloatType
+
 
+
stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.IntegerType
+
 
+
stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.LongType
+
 
+
stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.NullType
+
 
+
stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.ObjectType
+
 
+
stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.TopType
+
 
+
stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.UninitializedThisType
+
 
+
stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.UninitializedType
+
 
+
stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.VerificationType
+
+
Accepts the given visitor in the context of a stack in a method's code .
+
+
stackAccept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.FullFrame
+
+
Applies the given verification type visitor to all stack.
+
+
StackCategoryOneException - Exception in proguard.evaluation.exception
+
+
Exception thrown when a type on the stack does not match the category one expected type.
+
+
StackCategoryOneException(Value, Throwable) - Constructor for exception proguard.evaluation.exception.StackCategoryOneException
+
 
+
stackCount - Variable in class proguard.classfile.attribute.preverification.FullFrame
+
 
+
StackEntry(MethodSignature, ProgramLocationDependentReachedSet, AbstractState) - Constructor for class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState.StackEntry
+
 
+
stackEntryIndexBefore(Clazz, int) - Method in class proguard.classfile.instruction.Instruction
+
+
Returns the stack entry index from which the specified stack entry is copied by a + dup/swap/checkcast instruction, or -1 otherwise.
+
+
stackEntryIndexBefore(Clazz, int) - Method in class proguard.classfile.instruction.SimpleInstruction
+
 
+
StackGeneralizationException - Exception in proguard.evaluation.exception
+
 
+
StackGeneralizationException(Throwable, TracedStack, TracedStack) - Constructor for exception proguard.evaluation.exception.StackGeneralizationException
+
+
Deprecated.
+
+
StackGeneralizationException(Clazz, Method, Throwable, TracedStack, TracedStack) - Constructor for exception proguard.evaluation.exception.StackGeneralizationException
+
 
+
stackItem - Variable in class proguard.classfile.attribute.preverification.SameOneFrame
+
 
+
stackItemAccept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.SameOneFrame
+
+
Applies the given verification type visitor to the stack item.
+
+
StackMapAttribute - Class in proguard.classfile.attribute.preverification
+
+
This Attribute represents a stack map attribute.
+
+
StackMapAttribute() - Constructor for class proguard.classfile.attribute.preverification.StackMapAttribute
+
+
Creates an uninitialized ExceptionsAttribute.
+
+
StackMapAttribute(int, FullFrame[]) - Constructor for class proguard.classfile.attribute.preverification.StackMapAttribute
+
+
Creates a StackMapTableAttribute with the given stack map frames.
+
+
StackMapAttribute(FullFrame[]) - Constructor for class proguard.classfile.attribute.preverification.StackMapAttribute
+
+
Creates a StackMapTableAttribute with the given stack map frames.
+
+
StackMapFrame - Class in proguard.classfile.attribute.preverification
+
+
This abstract class represents a stack map frame.
+
+
StackMapFrame() - Constructor for class proguard.classfile.attribute.preverification.StackMapFrame
+
 
+
stackMapFrames - Variable in class proguard.classfile.attribute.preverification.StackMapAttribute
+
 
+
stackMapFrames - Variable in class proguard.classfile.attribute.preverification.StackMapTableAttribute
+
 
+
stackMapFramesAccept(Clazz, Method, CodeAttribute, StackMapFrameVisitor) - Method in class proguard.classfile.attribute.preverification.StackMapAttribute
+
+
Applies the given stack map frame visitor to all stack map frames.
+
+
stackMapFramesAccept(Clazz, Method, CodeAttribute, StackMapFrameVisitor) - Method in class proguard.classfile.attribute.preverification.StackMapTableAttribute
+
+
Applies the given stack map frame visitor to all stack map frames.
+
+
StackMapFrameVisitor - Interface in proguard.classfile.attribute.preverification.visitor
+
+
This interface specifies the methods for a visitor of StackMapFrame instances.
+
+
StackMapTableAttribute - Class in proguard.classfile.attribute.preverification
+
+
This Attribute represents a stack map table attribute.
+
+
StackMapTableAttribute() - Constructor for class proguard.classfile.attribute.preverification.StackMapTableAttribute
+
+
Creates an uninitialized StackMapTableAttribute.
+
+
StackMapTableAttribute(int, StackMapFrame[]) - Constructor for class proguard.classfile.attribute.preverification.StackMapTableAttribute
+
+
Creates a StackMapTableAttribute with the given stack map frames.
+
+
StackMapTableAttribute(StackMapFrame[]) - Constructor for class proguard.classfile.attribute.preverification.StackMapTableAttribute
+
+
Creates a StackMapTableAttribute with the given stack map frames.
+
+
stackPopCount(Clazz) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
stackPopCount(Clazz) - Method in class proguard.classfile.instruction.Instruction
+
+
Returns the number of entries popped from the stack during the execution of the instruction.
+
+
stackPushCount(Clazz) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
stackPushCount(Clazz) - Method in class proguard.classfile.instruction.Instruction
+
+
Returns the number of entries pushed onto the stack during the execution of the instruction.
+
+
StackSizeComputer - Class in proguard.classfile.attribute.visitor
+
+
This AttributeVisitor computes the stack sizes at all instruction offsets of the code + attributes that it visits.
+
+
StackSizeComputer() - Constructor for class proguard.classfile.attribute.visitor.StackSizeComputer
+
+
Construct a StackSizeComputer that keeps track of sizes at each offset.
+
+
StackSizeUpdater - Class in proguard.classfile.editor
+
+
This AttributeVisitor computes and updates the maximum stack size of the code attributes + that it visits.
+
+
StackSizeUpdater() - Constructor for class proguard.classfile.editor.StackSizeUpdater
+
 
+
StackTypeException - Exception in proguard.evaluation.exception
+
+
Exception thrown when a type on the stack does not match the expected type.
+
+
StackTypeException(Value, String, Throwable) - Constructor for exception proguard.evaluation.exception.StackTypeException
+
 
+
STANDARD_NATIVE_LIBRARY_PATH - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
starProjection() - Static method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
start - Variable in class proguard.dexfile.ir.LocalVar
+
 
+
start - Variable in class proguard.dexfile.ir.Trap
+
 
+
start - Variable in class proguard.dexfile.reader.node.TryCatchNode
+
 
+
startBranchCodeBlockEvaluation(List<PartialEvaluator.InstructionBlock>) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
startBranchCodeBlockEvaluation(List<PartialEvaluator.InstructionBlock>) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
Evaluation of the first general block has been done.
+
+
startCodeAttribute(Clazz, Method, CodeAttribute, Variables) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
startCodeAttribute(Clazz, Method, CodeAttribute, Variables) - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
startCodeAttribute(Clazz, Method, CodeAttribute, Variables) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
The partial evaluator starts with the evaluation of a code block.
+
+
startExceptionHandlingForBlock(Clazz, Method, int, int) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
startExceptionHandlingForBlock(Clazz, Method, int, int) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
Partial evaluator starts evaluating the exceptions handlers that catch over a certain + instruction range.
+
+
startInstructionBlock(Clazz, Method, CodeAttribute, TracedVariables, TracedStack, int) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
startInstructionBlock(Clazz, Method, CodeAttribute, TracedVariables, TracedStack, int) - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
startInstructionBlock(Clazz, Method, CodeAttribute, TracedVariables, TracedStack, int) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
Partial evaluator starts evaluating an instruction block, specified by an instruction range + within the code attribute and the variables and stack it would start with.
+
+
startInstructionEvaluation(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
startInstructionEvaluation(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int) - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
startInstructionEvaluation(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
The partial evaluator will forward the evaluation of the instruction.
+
+
StartLocalNode(DexLabel, int, String, String, String) - Constructor for class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.StartLocalNode
+
 
+
startSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int) - Method in class proguard.evaluation.util.DebugPrinter
+
 
+
startSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int) - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
startSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int) - Method in interface proguard.evaluation.util.PartialEvaluatorStateTracker
+
+
The current instruction was JSR or JSR_W and the partial evaluator starts with the evaluation + of the subroutine.
+
+
StatedTransformer - Class in proguard.dexfile.ir.ts
+
 
+
StatedTransformer() - Constructor for class proguard.dexfile.ir.ts.StatedTransformer
+
 
+
StateNames - Interface in proguard.analysis.cpa.util
+
+
Names of abstract states used for state extraction with AbstractState.getStateByName(String).
+
+
STATIC - Static variable in class proguard.classfile.AccessConstants
+
 
+
STATIC - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
STATIC_FIELD - proguard.dexfile.ir.expr.Value.VT
+
 
+
STATIC_GET - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
STATIC_PHASE - Static variable in class proguard.classfile.AccessConstants
+
 
+
STATIC_PHASE - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
STATIC_PUT - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
StaticFieldExpr - Class in proguard.dexfile.ir.expr
+
+
Represent a StaticField expression
+
+
StaticFieldExpr(String, String, String) - Constructor for class proguard.dexfile.ir.expr.StaticFieldExpr
+
 
+
staticFieldMapAbstractStateFactory - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
staticFields - Variable in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
StaticPrecisionAdjustment - Class in proguard.analysis.cpa.defaults
+
+
This PrecisionAdjustment keeps the Precision the same.
+
+
StaticPrecisionAdjustment() - Constructor for class proguard.analysis.cpa.defaults.StaticPrecisionAdjustment
+
 
+
Stmt - Class in proguard.dexfile.ir.stmt
+
+
Represent a statement
+
+
Stmt(Stmt.ST, ET) - Constructor for class proguard.dexfile.ir.stmt.Stmt
+
 
+
Stmt.E0Stmt - Class in proguard.dexfile.ir.stmt
+
+
Represent a statement with no argument
+
+
Stmt.E1Stmt - Class in proguard.dexfile.ir.stmt
+
+
Represent a statement with 1 argument
+
+
Stmt.E2Stmt - Class in proguard.dexfile.ir.stmt
+
+
Represent a statement with 2 arguments
+
+
Stmt.ST - Enum in proguard.dexfile.ir.stmt
+
+
Statement Type
+
+
Stmt0RNode - Class in proguard.dexfile.reader.node.insn
+
 
+
Stmt0RNode(Op) - Constructor for class proguard.dexfile.reader.node.insn.Stmt0RNode
+
 
+
Stmt1RNode - Class in proguard.dexfile.reader.node.insn
+
 
+
Stmt1RNode(Op, int) - Constructor for class proguard.dexfile.reader.node.insn.Stmt1RNode
+
 
+
Stmt2R1NNode - Class in proguard.dexfile.reader.node.insn
+
 
+
Stmt2R1NNode(Op, int, int, int) - Constructor for class proguard.dexfile.reader.node.insn.Stmt2R1NNode
+
 
+
Stmt2RNode - Class in proguard.dexfile.reader.node.insn
+
 
+
Stmt2RNode(Op, int, int) - Constructor for class proguard.dexfile.reader.node.insn.Stmt2RNode
+
 
+
Stmt3RNode - Class in proguard.dexfile.reader.node.insn
+
 
+
Stmt3RNode(Op, int, int, int) - Constructor for class proguard.dexfile.reader.node.insn.Stmt3RNode
+
 
+
StmtList - Class in proguard.dexfile.ir.stmt
+
+
Represent a list of statement.
+
+
StmtList() - Constructor for class proguard.dexfile.ir.stmt.StmtList
+
 
+
stmts - Variable in class proguard.dexfile.ir.IrMethod
+
 
+
stmts - Variable in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
Stmts - Class in proguard.dexfile.ir.stmt
+
 
+
StmtSearcher - Class in proguard.dexfile.ir
+
 
+
StmtSearcher() - Constructor for class proguard.dexfile.ir.StmtSearcher
+
 
+
StmtTraveler - Class in proguard.dexfile.ir
+
 
+
StmtTraveler() - Constructor for class proguard.dexfile.ir.StmtTraveler
+
 
+
stop(AbstractState, Collection<? extends AbstractState>, Precision) - Method in class proguard.analysis.cpa.defaults.StopAlwaysOperator
+
 
+
stop(AbstractState, Collection<? extends AbstractState>, Precision) - Method in class proguard.analysis.cpa.defaults.StopContainedOperator
+
 
+
stop(AbstractState, Collection<? extends AbstractState>, Precision) - Method in class proguard.analysis.cpa.defaults.StopJoinOperator
+
 
+
stop(AbstractState, Collection<? extends AbstractState>, Precision) - Method in class proguard.analysis.cpa.defaults.StopNeverOperator
+
 
+
stop(AbstractState, Collection<? extends AbstractState>, Precision) - Method in class proguard.analysis.cpa.defaults.StopSepOperator
+
 
+
stop(AbstractState, Collection<? extends AbstractState>, Precision) - Method in interface proguard.analysis.cpa.interfaces.StopOperator
+
+
The operator may decide based on the (generalized under the given precision) + convergence.
+
+
StopAlwaysOperator - Class in proguard.analysis.cpa.defaults
+
+
This StopOperator always returns true, i.e., it can be used for a single pass of the + analysis.
+
+
StopAlwaysOperator() - Constructor for class proguard.analysis.cpa.defaults.StopAlwaysOperator
+
 
+
stopAnalysisAfterNEvaluations(int) - Method in class proguard.evaluation.PartialEvaluator.Builder
+
+
The analysis of one method will forcibly stop (throwing a ExcessiveComplexityException) after + this many evaluations of a single instruction.
+
+
stopAnalysisAfterNEvaluations(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
It the analysis visits an instruction this many times (this can happen e.g.
+
+
StopContainedOperator - Class in proguard.analysis.cpa.defaults
+
+
This StopOperator returns true if the reached set contains the input AbstractState.
+
+
StopContainedOperator() - Constructor for class proguard.analysis.cpa.defaults.StopContainedOperator
+
 
+
StopJoinOperator - Class in proguard.analysis.cpa.defaults
+
+
This StopOperator returns true if the input state is less or equal than join over the + reached set.
+
+
StopJoinOperator(AbstractDomain) - Constructor for class proguard.analysis.cpa.defaults.StopJoinOperator
+
+
Create a join operator from the abstract domain defining the join operator.
+
+
StopNeverOperator - Class in proguard.analysis.cpa.defaults
+
+
This StopOperator always returns false, i.e., it can be used for analyses running until + the Waitlist becomes empty.
+
+
StopNeverOperator() - Constructor for class proguard.analysis.cpa.defaults.StopNeverOperator
+
 
+
StopOperator - Interface in proguard.analysis.cpa.interfaces
+
+
The StopOperator decides if Algorithm should stop.
+
+
StopSepOperator - Class in proguard.analysis.cpa.defaults
+
+
This StopOperator returns true if there is a state in the reached set covering the input + AbstractState.
+
+
StopSepOperator(AbstractDomain) - Constructor for class proguard.analysis.cpa.defaults.StopSepOperator
+
+
Create a join operator from the abstract domain defining the join operator.
+
+
store(int, char) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Stores the primitve value on top of the stack in the variable with given index.
+
+
store(int, char) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Stores the primitve value on top of the stack in the variable with given index.
+
+
store(int, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Stores the value on top of the stack in the variable with given index.
+
+
store(int, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Stores the value on top of the stack in the variable with given index.
+
+
store(int, Value) - Method in class proguard.evaluation.TracedVariables
+
 
+
store(int, Value) - Method in class proguard.evaluation.Variables
+
+
Stores the given Value at the given variable index.
+
+
storeToArray(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Stores an element to an array.
+
+
storeToArray(String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Stores an element to an array.
+
+
StreamingDataEntry - Class in proguard.io
+
+
This DataEntry represents a stream of data.
+
+
StreamingDataEntry(String, InputStream) - Constructor for class proguard.io.StreamingDataEntry
+
 
+
STRICT - Static variable in class proguard.classfile.AccessConstants
+
 
+
STRICT - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
string - Variable in class proguard.io.DataEntryToken
+
 
+
STRING - Static variable in class proguard.classfile.constant.Constant
+
 
+
STRING_A_LENGTH - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
STRING_A_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
STRING_B_STRING - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
StringConstant - Class in proguard.classfile.constant
+
+
This Constant represents a string constant in the constant pool.
+
+
StringConstant() - Constructor for class proguard.classfile.constant.StringConstant
+
+
Creates an uninitialized StringConstant.
+
+
StringConstant(int, Clazz, Member) - Constructor for class proguard.classfile.constant.StringConstant
+
+
Creates a new StringConstant with the given string index.
+
+
StringConstant(int, Clazz, Member, int, ResourceFile) - Constructor for class proguard.classfile.constant.StringConstant
+
+
Creates a new StringConstant with the given string index.
+
+
StringConstant(int, ResourceFile) - Constructor for class proguard.classfile.constant.StringConstant
+
+
Creates a new StringConstant with the given string index.
+
+
StringFunction - Interface in proguard.util
+
+
This interface provides a method to transform a string into a new string.
+
+
StringFunctionParser - Interface in proguard.util
+
+
This interface provides a method to create a StringFunction for a given regular + expression.
+
+
StringListWriter - Class in proguard.classfile.util.renderer.core
+
 
+
StringListWriter(List<String>) - Constructor for class proguard.classfile.util.renderer.core.StringListWriter
+
 
+
StringMatcher - Class in proguard.util
+
+
This abstract class provides methods to determine whether strings match a given criterion, which + is specified by the implementation.
+
+
StringMatcher() - Constructor for class proguard.util.StringMatcher
+
 
+
StringParser - Interface in proguard.util
+
+
This interface provides a method to create a StringMatcher for a given regular + expression.
+
+
StringReferenceInitializer - Class in proguard.classfile.util
+
+
This ConstantVisitor initializes any class references of all string constants it visits.
+
+
StringReferenceInitializer(ClassPool, ClassPool) - Constructor for class proguard.classfile.util.StringReferenceInitializer
+
+
Creates a new StringReferenceInitializer.
+
+
StringReflectionExecutor - Class in proguard.evaluation.executor
+
+
This ReflectionExecutor supports methods of the classes String, StringBuilder and StringBuffer.
+
+
StringReflectionExecutor(ClassPool) - Constructor for class proguard.evaluation.executor.StringReflectionExecutor
+
 
+
StringReflectionExecutor.Builder - Class in proguard.evaluation.executor
+
+ +
+
StringSharer - Class in proguard.classfile.util
+
+
This ClassVisitor shares strings in the class files that it visits.
+
+
StringSharer() - Constructor for class proguard.classfile.util.StringSharer
+
 
+
StringSharer(int) - Constructor for class proguard.classfile.util.StringSharer
+
 
+
stringtypesToClasses(String) - Static method in class proguard.evaluation.value.ReflectiveMethodCallUtil
+
+
Deprecated.
+
Reflectively converts a method descriptor to a list of Classes representing this String.
+
+
StringUtil - Class in proguard.util
+
+
This class contains utility methods for strings.
+
+
StringUtil() - Constructor for class proguard.util.StringUtil
+
 
+
StringValue(String) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.StringValue
+
 
+
SUB - proguard.dexfile.ir.expr.Value.VT
+
 
+
SUB_DOUBLE - proguard.dexfile.reader.Op
+
 
+
SUB_DOUBLE_2ADDR - proguard.dexfile.reader.Op
+
 
+
SUB_FLOAT - proguard.dexfile.reader.Op
+
 
+
SUB_FLOAT_2ADDR - proguard.dexfile.reader.Op
+
 
+
SUB_INT - proguard.dexfile.reader.Op
+
 
+
SUB_INT_2ADDR - proguard.dexfile.reader.Op
+
 
+
SUB_LONG - proguard.dexfile.reader.Op
+
 
+
SUB_LONG_2ADDR - proguard.dexfile.reader.Op
+
 
+
SubclassAdder - Class in proguard.classfile.editor
+
+
This ClassVisitor adds the given class to the list of subclasses of the classes that it + visits.
+
+
SubclassAdder(Clazz) - Constructor for class proguard.classfile.editor.SubclassAdder
+
+
Creates a new SubclassAdder that will add the given subclass.
+
+
subClassCount - Variable in class proguard.classfile.LibraryClass
+
 
+
subClassCount - Variable in class proguard.classfile.ProgramClass
+
 
+
subClasses - Variable in class proguard.classfile.LibraryClass
+
+
An extra field pointing to the subclasses of this class.
+
+
subClasses - Variable in class proguard.classfile.ProgramClass
+
+
An extra field pointing to the subclasses of this class.
+
+
subclassesAccept(ClassVisitor) - Method in interface proguard.classfile.Clazz
+
+
Lets the given class visitor visit all known subclasses.
+
+
subclassesAccept(ClassVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
subclassesAccept(ClassVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
SubclassFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to another given ClassVisitor, except for + classes that have a given class as direct subclass.
+
+
SubclassFilter(Clazz, ClassVisitor) - Constructor for class proguard.classfile.visitor.SubclassFilter
+
+
Creates a new SubclassFilter.
+
+
SubclassRemover - Class in proguard.classfile.editor
+
+
This ClassVisitor removes the given class from the list of subclasses of the classes that + it visits.
+
+
SubclassRemover(Clazz) - Constructor for class proguard.classfile.editor.SubclassRemover
+
+
Creates a new SubclassRemover that will remove the given subclass.
+
+
SubclassToAdder - Class in proguard.classfile.editor
+
+
This ClassVisitor adds all classes that it visits to the list of subclasses of the given + target class.
+
+
SubclassToAdder(Clazz) - Constructor for class proguard.classfile.editor.SubclassToAdder
+
+
Creates a new SubclassAdder that will add subclasses to the given target class.
+
+
SubclassTraveler - Class in proguard.classfile.visitor
+
+
This ClassVisitor lets a given ClassVisitor travel to direct subclasses of the + visited class.
+
+
SubclassTraveler(ClassVisitor) - Constructor for class proguard.classfile.visitor.SubclassTraveler
+
+
Creates a new ClassHierarchyTraveler.
+
+
subroutineEnd(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns the offset after the subroutine at the given offset, in the CodeAttribute that was + visited most recently.
+
+
subroutineEnd(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns the offset after the subroutine that starts at the given offset.
+
+
subroutineStart(int) - Method in class proguard.classfile.util.BranchTargetFinder
+
+
Returns the start offset of the subroutine at the given offset, in the CodeAttribute that was + visited most recently.
+
+
subtract(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the difference of this DoubleValue and the given DoubleValue.
+
+
subtract(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
subtract(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
subtract(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
subtract(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the difference of this FloatValue and the given FloatValue.
+
+
subtract(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
subtract(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
subtract(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
subtract(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of this IntegerValue and the given IntegerValue.
+
+
subtract(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
subtract(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
subtract(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
subtract(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
subtract(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the difference of this LongValue and the given LongValue.
+
+
subtract(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
subtract(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
subtract(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
subtract(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the difference of this DoubleValue and the given ParticularDoubleValue.
+
+
subtract(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
subtract(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the difference of this FloatValue and the given ParticularFloatValue.
+
+
subtract(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
subtract(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of this IntegerValue and the given ParticularIntegerValue.
+
+
subtract(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
subtract(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
subtract(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the difference of this LongValue and the given ParticularLongValue.
+
+
subtract(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
subtract(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of this IntegerValue and the given RangeIntegerValue.
+
+
subtract(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
subtract(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
subtract(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
subtract(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the difference of this DoubleValue and the given SpecificDoubleValue.
+
+
subtract(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
subtract(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the difference of this FloatValue and the given SpecificFloatValue.
+
+
subtract(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
subtract(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of this IntegerValue and the given SpecificIntegerValue.
+
+
subtract(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
subtract(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the difference of this LongValue and the given SpecificLongValue.
+
+
subtract(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
subtract(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of this IntegerValue and the given UnknownIntegerValue.
+
+
SUBTRACT - Static variable in class proguard.evaluation.value.CompositeDoubleValue
+
 
+
SUBTRACT - Static variable in class proguard.evaluation.value.CompositeFloatValue
+
 
+
SUBTRACT - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
SUBTRACT - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
subtractFrom(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the difference of the given DoubleValue and this DoubleValue.
+
+
subtractFrom(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
subtractFrom(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
subtractFrom(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
subtractFrom(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the difference of the given FloatValue and this FloatValue.
+
+
subtractFrom(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
subtractFrom(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
subtractFrom(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
subtractFrom(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of the given IntegerValue and this IntegerValue.
+
+
subtractFrom(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
subtractFrom(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
subtractFrom(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
subtractFrom(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
subtractFrom(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the difference of the given LongValue and this LongValue.
+
+
subtractFrom(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
subtractFrom(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
subtractFrom(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
subtractFrom(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the difference of the given ParticularDoubleValue and this DoubleValue.
+
+
subtractFrom(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
subtractFrom(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the difference of the given ParticularFloatValue and this FloatValue.
+
+
subtractFrom(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
subtractFrom(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of the given ParticularIntegerValue and this IntegerValue.
+
+
subtractFrom(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
subtractFrom(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
subtractFrom(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the difference of the given ParticularLongValue and this LongValue.
+
+
subtractFrom(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
subtractFrom(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of the given RangeIntegerValue and this IntegerValue.
+
+
subtractFrom(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
subtractFrom(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
subtractFrom(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
subtractFrom(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the difference of the given SpecificDoubleValue and this DoubleValue.
+
+
subtractFrom(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
subtractFrom(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the difference of the given SpecificFloatValue and this FloatValue.
+
+
subtractFrom(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
subtractFrom(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of the given SpecificIntegerValue and this IntegerValue.
+
+
subtractFrom(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
subtractFrom(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the difference of the given SpecificLongValue and this LongValue.
+
+
subtractFrom(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
subtractFrom(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of the given UnknownIntegerValue and this IntegerValue.
+
+
successorPathsAccept(CallGraph, MethodSignature, Predicate<Node>) - Static method in class proguard.util.CallGraphWalker
+
+
Like CallGraphWalker.successorPathsAccept(CallGraph, MethodSignature, Predicate, int, int) but using + default values for max depth and max width.
+
+
successorPathsAccept(CallGraph, MethodSignature, Predicate<Node>, int, int) - Static method in class proguard.util.CallGraphWalker
+
+
Interactively explore the outgoing call graph (breadth-first) of a specific method.
+
+
successors - Variable in class proguard.analysis.datastructure.callgraph.Node
+
 
+
successorsContain(MethodSignature) - Method in class proguard.analysis.datastructure.callgraph.Node
+
+
Checks if this node or any successors corresponds to a specific MethodSignature.
+
+
SuffixAddingStringFunction - Class in proguard.util
+
+
This StringFunction adds a given suffix to each transformed String.
+
+
SuffixAddingStringFunction(String) - Constructor for class proguard.util.SuffixAddingStringFunction
+
+
Creates a new SuffixAddingStringFunction.
+
+
SuffixRemovingStringFunction - Class in proguard.util
+
+
This StringFunction removes a given suffix from each transformed String, if present.
+
+
SuffixRemovingStringFunction(String) - Constructor for class proguard.util.SuffixRemovingStringFunction
+
+
Creates a new SuffixRemovingStringFunction.
+
+
SUPER - Static variable in class proguard.classfile.AccessConstants
+
 
+
SUPER - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
superClass - Variable in class proguard.classfile.LibraryClass
+
+
An extra field pointing to the superclass of this class.
+
+
superClass - Variable in class proguard.dexfile.reader.node.DexClassNode
+
 
+
superClassAccept(ClassVisitor) - Method in class proguard.classfile.LibraryClass
+
+
Lets the given class visitor visit the superclass, if it is known.
+
+
superClassConstantAccept(ConstantVisitor) - Method in interface proguard.classfile.Clazz
+
+
Lets the given constant pool entry visitor visit the class constant pool entry of the super + class of this class, if there is one.
+
+
superClassConstantAccept(ConstantVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
superClassConstantAccept(ConstantVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
SuperClassConstantVisitor - Class in proguard.classfile.constant.visitor
+
+
This ClassVisitor lets a given ConstantVisitor visit all the constant pool + entries of the super class and interfaces of the program classes it visits.
+
+
SuperClassConstantVisitor(boolean, boolean, ConstantVisitor) - Constructor for class proguard.classfile.constant.visitor.SuperClassConstantVisitor
+
+
Creates a new SuperClassConstantVisitor.
+
+
superClassName - Variable in class proguard.classfile.LibraryClass
+
 
+
superInitializationOffset() - Method in class proguard.evaluation.InitializationFinder
+
+
Returns the instruction offset at which this initializer is calling the "super" or "this" + initializer method, or NONE if it is not an initializer.
+
+
superTypes - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
superTypesAccept(Clazz, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
SuperTypeTargetInfo - Class in proguard.classfile.attribute.annotation.target
+
+
Representation of a super type annotation target.
+
+
SuperTypeTargetInfo() - Constructor for class proguard.classfile.attribute.annotation.target.SuperTypeTargetInfo
+
+
Creates an uninitialized SuperTypeTargetInfo.
+
+
SuperTypeTargetInfo(byte) - Constructor for class proguard.classfile.attribute.annotation.target.SuperTypeTargetInfo
+
+
Creates a partially initialized SuperTypeTargetInfo.
+
+
SuperTypeTargetInfo(byte, int) - Constructor for class proguard.classfile.attribute.annotation.target.SuperTypeTargetInfo
+
+
Creates an initialized SuperTypeTargetInfo.
+
+
SupportedModelInfo(Class<T>, boolean) - Constructor for class proguard.evaluation.executor.ReflectiveModelExecutor.SupportedModelInfo
+
 
+
supportedModels - Variable in class proguard.evaluation.executor.ReflectiveModelExecutor
+
 
+
supportedSignatures - Variable in class proguard.evaluation.executor.ReflectiveModelExecutor
+
 
+
supportedSignatureToModel - Variable in class proguard.evaluation.executor.ReflectiveModelExecutor
+
 
+
supportsAnyMethodOf(String) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
+
Checks whether any method of the given class is supported by the executors.
+
+
supportsAnyMethodOf(Clazz) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
+
Checks whether any method of the given class is supported by the executors.
+
+
swap() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
swap() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
swap() - Method in class proguard.evaluation.Stack
+
+
Swaps the top two Category 1 values.
+
+
swap() - Method in class proguard.evaluation.TracedStack
+
 
+
SwitchInstruction - Class in proguard.classfile.instruction
+
+
This Instruction represents a switch instruction.
+
+
SwitchInstruction() - Constructor for class proguard.classfile.instruction.SwitchInstruction
+
+
Creates an uninitialized SwitchInstruction.
+
+
SwitchInstruction(byte, int, int[]) - Constructor for class proguard.classfile.instruction.SwitchInstruction
+
+
Creates a new SwitchInstruction with the given arguments.
+
+
SYMBOLIC_CALL - proguard.analysis.Metrics.MetricType
+
 
+
SymbolicCall - Class in proguard.analysis.datastructure.callgraph
+
+
A call whose target Method is not available in our ClassPool.
+
+
SymbolicCall(CodeLocation, MethodSignature, int, Instruction, boolean, boolean) - Constructor for class proguard.analysis.datastructure.callgraph.SymbolicCall
+
 
+
SYNCHRONIZED - Static variable in class proguard.classfile.AccessConstants
+
 
+
SYNCHRONIZED - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
SYNTHETIC - Static variable in class proguard.classfile.AccessConstants
+
 
+
SYNTHETIC - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
SYNTHETIC - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
SyntheticAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents a synthetic attribute.
+
+
SyntheticAttribute() - Constructor for class proguard.classfile.attribute.SyntheticAttribute
+
+
Creates an uninitialized SyntheticAttribute.
+
+
SyntheticAttribute(int) - Constructor for class proguard.classfile.attribute.SyntheticAttribute
+
+
Creates an initialized SyntheticAttribute.
+
+
SyntheticClassIntegrity - Class in proguard.util.kotlin.asserter.constraint
+
 
+
SyntheticClassIntegrity() - Constructor for class proguard.util.kotlin.asserter.constraint.SyntheticClassIntegrity
+
 
+
syntheticMethodForAnnotations - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
syntheticMethodForDelegate - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
SYSTEM - proguard.dexfile.reader.Visibility
+
 
+
+ + + +

T

+
+
table - Variable in class proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo
+
 
+
TABLE_SWITCH - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
tableswitch(int, int, int, int[]) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
tableswitch(CompactCodeAttributeComposer.Label, int, int, CompactCodeAttributeComposer.Label[]) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
TableSwitchInstruction - Class in proguard.classfile.instruction
+
+
This Instruction represents a table switch instruction.
+
+
TableSwitchInstruction() - Constructor for class proguard.classfile.instruction.TableSwitchInstruction
+
+
Creates an uninitialized TableSwitchInstruction.
+
+
TableSwitchInstruction(byte, int, int, int, int[]) - Constructor for class proguard.classfile.instruction.TableSwitchInstruction
+
+
Creates a new TableSwitchInstruction with the given arguments.
+
+
TableSwitchStmt - Class in proguard.dexfile.ir.stmt
+
+
Represent a TABLE_SWITCH statement
+
+
TableSwitchStmt() - Constructor for class proguard.dexfile.ir.stmt.TableSwitchStmt
+
 
+
TableSwitchStmt(Value, int, LabelStmt[], LabelStmt) - Constructor for class proguard.dexfile.ir.stmt.TableSwitchStmt
+
 
+
tag - Variable in class proguard.dexfile.ir.expr.Value
+
 
+
tag - Variable in class proguard.dexfile.ir.stmt.LabelStmt
+
 
+
TAG_ANNOTATION - Static variable in class proguard.classfile.attribute.annotation.ElementValue
+
 
+
TAG_ARRAY - Static variable in class proguard.classfile.attribute.annotation.ElementValue
+
 
+
TAG_CLASS - Static variable in class proguard.classfile.attribute.annotation.ElementValue
+
 
+
TAG_ENUM_CONSTANT - Static variable in class proguard.classfile.attribute.annotation.ElementValue
+
 
+
TAG_STRING_CONSTANT - Static variable in class proguard.classfile.attribute.annotation.ElementValue
+
 
+
taintsArgs - Variable in class proguard.analysis.cpa.domain.taint.TaintSource
+
 
+
taintsGlobals - Variable in class proguard.analysis.cpa.domain.taint.TaintSource
+
 
+
TaintSink - Class in proguard.analysis.cpa.domain.taint
+
+
A TaintSink specifies a sink for the taint analysis.
+
+
TaintSink(Signature) - Constructor for class proguard.analysis.cpa.domain.taint.TaintSink
+
+
Create a taint sink.
+
+
TaintSink(Signature, Predicate<TaintSource>) - Constructor for class proguard.analysis.cpa.domain.taint.TaintSink
+
+
Create a taint sink.
+
+
TaintSource - Class in proguard.analysis.cpa.domain.taint
+
+
A TaintSource specifies a method which can taint any (subset) of the following: the + instance, the return value, the argument objects, or static fields.
+
+
TaintSource(Signature, boolean, boolean, Set<Integer>, Set<String>) - Constructor for class proguard.analysis.cpa.domain.taint.TaintSource
+
+
Create a taint source.
+
+
taintSources - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
taintsReturn - Variable in class proguard.analysis.cpa.domain.taint.TaintSource
+
 
+
taintsThis - Variable in class proguard.analysis.cpa.domain.taint.TaintSource
+
 
+
taintTransformers - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
takesArgs - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
 
+
takesArgs - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink
+
 
+
takesGlobals - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
 
+
takesGlobals - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink
+
 
+
takesInstance - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
 
+
takesInstance - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink
+
 
+
target - Variable in class proguard.dexfile.ir.stmt.GotoStmt
+
 
+
target - Variable in class proguard.dexfile.ir.stmt.IfStmt
+
 
+
TARGET_TYPE_ARGUMENT_GENERIC_METHOD - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_ARGUMENT_GENERIC_METHODNew - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_ARGUMENT_GENERIC_METHODReference - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_ARGUMENT_GENERIC_METHODReferenceNew - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_BOUND_GENERIC_CLASS - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_BOUND_GENERIC_METHOD - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_CAST - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_CATCH - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_EXTENDS - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_FIELD - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_INSTANCE_OF - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_LOCAL_VARIABLE - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_METHOD_REFERENCE - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_METHOD_REFERENCE_NEW - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_NEW - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_PARAMETER - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_PARAMETER_GENERIC_CLASS - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_PARAMETER_GENERIC_METHOD - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_RECEIVER - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_RESOURCE_VARIABLE - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_RETURN - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
TARGET_TYPE_THROWS - Static variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
targetElementsAccept(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetElementVisitor) - Method in class proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo
+
+
Applies the given visitor to all target elements.
+
+
targetInfo - Variable in class proguard.classfile.attribute.annotation.TypeAnnotation
+
 
+
TargetInfo - Class in proguard.classfile.attribute.annotation.target
+
+
Representation of an annotation target.
+
+
TargetInfo() - Constructor for class proguard.classfile.attribute.annotation.target.TargetInfo
+
+
Creates an uninitialized TargetInfo.
+
+
TargetInfo(byte) - Constructor for class proguard.classfile.attribute.annotation.target.TargetInfo
+
+
Creates an initialized TargetInfo.
+
+
targetInfoAccept(Clazz, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.TypeAnnotation
+
+
Applies the given visitor to the target info.
+
+
targetInfoAccept(Clazz, Field, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.TypeAnnotation
+
+
Applies the given visitor to the target info.
+
+
targetInfoAccept(Clazz, Method, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.TypeAnnotation
+
+
Applies the given visitor to the target info.
+
+
targetInfoAccept(Clazz, Method, CodeAttribute, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.TypeAnnotation
+
+
Applies the given visitor to the target info.
+
+
TargetInfoCopier - Class in proguard.classfile.editor
+
+
This TargetInfoVisitor copies the target info instances that it visits to the given type + annotation (each time overwriting any previous target info).
+
+
TargetInfoCopier(ProgramClass, TypeAnnotation) - Constructor for class proguard.classfile.editor.TargetInfoCopier
+
+
Creates a new TargetInfoCopier that will copy target info instances to the given target type + annotation.
+
+
TargetInfoVisitor - Interface in proguard.classfile.attribute.annotation.target.visitor
+
+
This interface specifies the methods for a visitor of TargetInfo instances.
+
+
targetMethodAccept(MemberVisitor) - Method in class proguard.analysis.datastructure.callgraph.Call
+
 
+
targetMethodAccept(MemberVisitor) - Method in class proguard.analysis.datastructure.callgraph.ConcreteCall
+
 
+
targets - Variable in class proguard.dexfile.ir.stmt.BaseSwitchStmt
+
 
+
targetsAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.module.OpensInfo
+
+
Applies the given constant pool visitor to all targets.
+
+
targetSignature() - Method in class proguard.analysis.cpa.jvm.cfa.edges.JvmCallCfaEdge
+
 
+
targetSignature() - Method in class proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge
+
+
Returns the signature of the target method.
+
+
ternaryOperation(DexStmtNode, V, V, V) - Method in class proguard.dexfile.reader.node.analysis.DvmInterpreter
+
+
APUT
+
+
test(T, U, V) - Method in interface proguard.analysis.cpa.util.TriPredicate
+
+
Returns the result of the predicate on given arguments.
+
+
TEST_ID - Static variable in class proguard.exception.ErrorId
+
 
+
THIS_REF - proguard.dexfile.ir.expr.Value.VT
+
 
+
thisClassConstantAccept(ConstantVisitor) - Method in interface proguard.classfile.Clazz
+
+
Lets the given constant pool entry visitor visit the class constant pool entry of this class.
+
+
thisClassConstantAccept(ConstantVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
thisClassConstantAccept(ConstantVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
thisClassName - Variable in class proguard.classfile.LibraryClass
+
 
+
threshold - Variable in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationBamCpaRun
+
 
+
THROW - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
THROW - proguard.dexfile.reader.Op
+
 
+
throwException() - Method in class proguard.evaluation.BasicBranchUnit
+
 
+
throwException() - Method in interface proguard.evaluation.BranchUnit
+
+
Handles the throwing of an exception.
+
+
throwsNullptr - Variable in class proguard.analysis.datastructure.callgraph.Call
+
+
Describes whether this call will throw a NullPointerException at runtime.
+
+
ThrowsTargetInfo - Class in proguard.classfile.attribute.annotation.target
+
+
Representation of a 'throws' annotation target.
+
+
ThrowsTargetInfo() - Constructor for class proguard.classfile.attribute.annotation.target.ThrowsTargetInfo
+
+
Creates an uninitialized ThrowsTargetInfo.
+
+
ThrowsTargetInfo(byte) - Constructor for class proguard.classfile.attribute.annotation.target.ThrowsTargetInfo
+
+
Creates a partially initialized ThrowsTargetInfo.
+
+
ThrowsTargetInfo(byte, int) - Constructor for class proguard.classfile.attribute.annotation.target.ThrowsTargetInfo
+
+
Creates an initialized ThrowsTargetInfo.
+
+
tmp - Variable in class proguard.dexfile.reader.node.analysis.DvmFrame
+
 
+
to - Variable in class proguard.dexfile.ir.expr.CastExpr
+
 
+
toArray() - Method in class proguard.classfile.kotlin.KotlinMetadataVersion
+
 
+
toByteArray(InputStream) - Static method in class proguard.dexfile.reader.util.InputStreams
+
 
+
toDot(JvmCfa) - Static method in class proguard.analysis.cpa.jvm.util.CfaUtil
+
+
Produces a DOT graph representation of the given JVM control flow automaton.
+
+
toHexString(byte[]) - Static method in class proguard.util.StringUtil
+
+
Returns the hexadecimal representation of the given byte array.
+
+
toHexString(byte[], String, boolean) - Static method in class proguard.util.StringUtil
+
+
Returns the hexadecimal representation of the given byte array.
+
+
toIntArray(List<Integer>) - Static method in class proguard.util.ListUtil
+
+
Converts a List of Integers to an int array.
+
+
top - Static variable in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
 
+
TOP_TYPE - Static variable in class proguard.classfile.attribute.preverification.VerificationType
+
 
+
topLocation - Static variable in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
TopType - Class in proguard.classfile.attribute.preverification
+
+
This VerificationType represents a Top type.
+
+
TopType() - Constructor for class proguard.classfile.attribute.preverification.TopType
+
 
+
TopValue - Class in proguard.evaluation.value
+
+
Representation of a partially evaluated top value.
+
+
TopValue() - Constructor for class proguard.evaluation.value.TopValue
+
 
+
toRsp() - Method in interface proguard.dexfile.ir.ts.an.AnalyzeValue
+
 
+
toRsp() - Method in class proguard.dexfile.ir.ts.an.SimpleLiveValue
+
 
+
toShortClassName(String) - Static method in class proguard.dexfile.ir.Util
+
 
+
toSimpleString() - Method in class proguard.analysis.datastructure.callgraph.Call
+
+
Prints a shorter version of the regular `toString()` without the caller or null pointer + information.
+
+
toString() - Method in class proguard.analysis.cpa.domain.taint.TaintSink
+
 
+
toString() - Method in class proguard.analysis.cpa.domain.taint.TaintSource
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.cfa.nodes.JvmUnknownCfaNode
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.domain.reference.Reference
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmReturnTaintSink
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSource
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.domain.value.ValueAbstractState
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.witness.JvmHeapLocation
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.witness.JvmLocalVariableLocation
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.witness.JvmMemoryLocation
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.witness.JvmStackLocation
+
 
+
toString() - Method in class proguard.analysis.cpa.jvm.witness.JvmStaticFieldLocation
+
 
+
toString() - Method in class proguard.analysis.datastructure.callgraph.Call
+
 
+
toString() - Method in class proguard.analysis.datastructure.CodeLocation
+
 
+
toString() - Method in class proguard.analysis.datastructure.FileLocation
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.DoubleType
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.FloatType
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.FullFrame
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.IntegerType
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.LessZeroFrame
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.LongType
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.MoreZeroFrame
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.NullType
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.ObjectType
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.SameOneFrame
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.SameZeroFrame
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.StackMapFrame
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.TopType
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.UninitializedThisType
+
 
+
toString() - Method in class proguard.classfile.attribute.preverification.UninitializedType
+
 
+
toString() - Method in class proguard.classfile.BasicMethodInfo
+
 
+
toString() - Method in class proguard.classfile.constant.ClassConstant
+
 
+
toString() - Method in class proguard.classfile.constant.DoubleConstant
+
 
+
toString() - Method in class proguard.classfile.constant.DynamicConstant
+
 
+
toString() - Method in class proguard.classfile.constant.FieldrefConstant
+
 
+
toString() - Method in class proguard.classfile.constant.FloatConstant
+
 
+
toString() - Method in class proguard.classfile.constant.IntegerConstant
+
 
+
toString() - Method in class proguard.classfile.constant.InterfaceMethodrefConstant
+
 
+
toString() - Method in class proguard.classfile.constant.InvokeDynamicConstant
+
 
+
toString() - Method in class proguard.classfile.constant.LongConstant
+
 
+
toString() - Method in class proguard.classfile.constant.MethodHandleConstant
+
 
+
toString() - Method in class proguard.classfile.constant.MethodrefConstant
+
 
+
toString() - Method in class proguard.classfile.constant.MethodTypeConstant
+
 
+
toString() - Method in class proguard.classfile.constant.ModuleConstant
+
 
+
toString() - Method in class proguard.classfile.constant.NameAndTypeConstant
+
 
+
toString() - Method in class proguard.classfile.constant.PackageConstant
+
 
+
toString() - Method in class proguard.classfile.constant.PrimitiveArrayConstant
+
 
+
toString() - Method in class proguard.classfile.constant.RefConstant
+
 
+
toString() - Method in class proguard.classfile.constant.StringConstant
+
 
+
toString() - Method in class proguard.classfile.constant.Utf8Constant
+
 
+
toString() - Method in class proguard.classfile.editor.CodeAttributeEditor.Label
+
 
+
toString() - Method in class proguard.classfile.editor.InstructionSequenceReplacer.Label
+
 
+
toString() - Method in class proguard.classfile.instruction.BranchInstruction
+
 
+
toString() - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
toString() - Method in class proguard.classfile.instruction.SimpleInstruction
+
 
+
toString() - Method in class proguard.classfile.instruction.SwitchInstruction
+
 
+
toString() - Method in class proguard.classfile.instruction.VariableInstruction
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.AnnotationValue
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.ArrayValue
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.EnumValue
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.LiteralValue
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinContractMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinEffectExpressionMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinEffectMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinFileFacadeKindMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinMetadataVersion
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinMultiFileFacadeKindMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinMultiFilePartKindMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
toString() - Method in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
toString() - Method in class proguard.classfile.LibraryClass
+
 
+
toString() - Method in class proguard.classfile.MethodDescriptor
+
 
+
toString() - Method in class proguard.classfile.ProgramClass
+
 
+
toString() - Method in class proguard.classfile.Signature
+
 
+
toString() - Method in class proguard.dexfile.ir.expr.Value
+
 
+
toString() - Method in enum proguard.dexfile.ir.expr.Value.VT
+
 
+
toString() - Method in class proguard.dexfile.ir.IrMethod
+
 
+
toString() - Method in class proguard.dexfile.ir.LocalVar
+
 
+
toString() - Method in class proguard.dexfile.ir.stmt.AssignStmt
+
 
+
toString() - Method in class proguard.dexfile.ir.stmt.GotoStmt
+
 
+
toString() - Method in class proguard.dexfile.ir.stmt.IfStmt
+
 
+
toString() - Method in class proguard.dexfile.ir.stmt.LabelStmt
+
 
+
toString() - Method in class proguard.dexfile.ir.stmt.LookupSwitchStmt
+
 
+
toString() - Method in class proguard.dexfile.ir.stmt.NopStmt
+
 
+
toString() - Method in class proguard.dexfile.ir.stmt.ReturnVoidStmt
+
 
+
toString() - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
toString() - Method in class proguard.dexfile.ir.stmt.TableSwitchStmt
+
 
+
toString() - Method in class proguard.dexfile.ir.stmt.UnopStmt
+
 
+
toString() - Method in class proguard.dexfile.ir.stmt.VoidInvokeStmt
+
 
+
toString() - Method in class proguard.dexfile.ir.Trap
+
 
+
toString() - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
toString() - Method in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
toString() - Method in enum proguard.dexfile.ir.TypeClass
+
 
+
toString() - Method in class proguard.dexfile.reader.DexLabel
+
 
+
toString() - Method in class proguard.dexfile.reader.DexType
+
 
+
toString() - Method in class proguard.dexfile.reader.Field
+
 
+
toString() - Method in class proguard.dexfile.reader.Method
+
 
+
toString() - Method in enum proguard.dexfile.reader.Op
+
 
+
toString() - Method in class proguard.evaluation.Stack
+
 
+
toString() - Method in class proguard.evaluation.TracedStack
+
 
+
toString() - Method in class proguard.evaluation.TracedVariables
+
 
+
toString() - Method in class proguard.evaluation.value.ArrayReferenceValue
+
 
+
toString() - Method in class proguard.evaluation.value.ComparisonValue
+
 
+
toString() - Method in class proguard.evaluation.value.CompositeDoubleValue
+
 
+
toString() - Method in class proguard.evaluation.value.CompositeFloatValue
+
 
+
toString() - Method in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
toString() - Method in class proguard.evaluation.value.CompositeLongValue
+
 
+
toString() - Method in class proguard.evaluation.value.ConvertedByteValue
+
 
+
toString() - Method in class proguard.evaluation.value.ConvertedCharacterValue
+
 
+
toString() - Method in class proguard.evaluation.value.ConvertedDoubleValue
+
 
+
toString() - Method in class proguard.evaluation.value.ConvertedFloatValue
+
 
+
toString() - Method in class proguard.evaluation.value.ConvertedIntegerValue
+
 
+
toString() - Method in class proguard.evaluation.value.ConvertedLongValue
+
 
+
toString() - Method in class proguard.evaluation.value.ConvertedShortValue
+
 
+
toString() - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
toString() - Method in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
toString() - Method in class proguard.evaluation.value.IdentifiedDoubleValue
+
 
+
toString() - Method in class proguard.evaluation.value.IdentifiedFloatValue
+
 
+
toString() - Method in class proguard.evaluation.value.IdentifiedIntegerValue
+
 
+
toString() - Method in class proguard.evaluation.value.IdentifiedLongValue
+
 
+
toString() - Method in class proguard.evaluation.value.IdentifiedReferenceValue
+
 
+
toString() - Method in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
toString() - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
toString() - Method in class proguard.evaluation.value.NegatedDoubleValue
+
 
+
toString() - Method in class proguard.evaluation.value.NegatedFloatValue
+
 
+
toString() - Method in class proguard.evaluation.value.NegatedIntegerValue
+
 
+
toString() - Method in class proguard.evaluation.value.NegatedLongValue
+
 
+
toString() - Method in class proguard.evaluation.value.object.model.ArrayModel
+
 
+
toString() - Method in class proguard.evaluation.value.object.model.ClassModel
+
 
+
toString() - Method in class proguard.evaluation.value.object.model.reflective.ModelHelper.MethodExecutionContext
+
 
+
toString() - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
toString() - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
toString() - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
toString() - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
toString() - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
toString() - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
toString() - Method in class proguard.evaluation.value.ReferenceValue
+
 
+
toString() - Method in class proguard.evaluation.value.TopValue
+
 
+
toString() - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
toString() - Method in class proguard.evaluation.value.TracingValue
+
 
+
toString() - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
toString() - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
toString() - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
toString() - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
toString() - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
toString() - Method in class proguard.evaluation.value.UnknownReferenceValue
+
 
+
toString() - Method in class proguard.evaluation.value.UnknownValue
+
 
+
toString() - Method in class proguard.evaluation.Variables
+
 
+
toString() - Method in class proguard.io.ClassPathDataEntry
+
 
+
toString() - Method in class proguard.io.ClassPathEntry
+
 
+
toString() - Method in class proguard.io.DummyDataEntry
+
 
+
toString() - Method in class proguard.io.FileDataEntry
+
 
+
toString() - Method in class proguard.io.NamedDataEntry
+
 
+
toString() - Method in class proguard.io.RenamedDataEntry
+
 
+
toString() - Method in class proguard.io.StreamingDataEntry
+
 
+
toString() - Method in class proguard.io.WrappedDataEntry
+
 
+
toString() - Method in class proguard.io.ZipDataEntry
+
 
+
toString() - Method in class proguard.io.ZipFileDataEntry
+
 
+
toString() - Method in class proguard.resources.file.ResourceFile
+
 
+
toString() - Method in class proguard.resources.file.ResourceFilePool
+
 
+
toString(int) - Method in class proguard.classfile.instruction.BranchInstruction
+
 
+
toString(int) - Method in class proguard.classfile.instruction.Instruction
+
+
Returns a description of the instruction, at the given offset.
+
+
toString(int) - Method in class proguard.classfile.instruction.SwitchInstruction
+
 
+
toString(Clazz, int) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
toString(Clazz, int) - Method in class proguard.classfile.instruction.Instruction
+
+
Returns a description of the instruction, at the given offset.
+
+
toString0() - Method in class proguard.dexfile.ir.expr.ArrayExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.BinopExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.CastExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.Constant
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.FieldExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.FilledArrayExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.InvokeCustomExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.InvokePolymorphicExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.Local
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.NewExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.NewMutiArrayExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.PhiExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.RefExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.StaticFieldExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.TypeExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.UnopExpr
+
 
+
toString0() - Method in class proguard.dexfile.ir.expr.Value
+
 
+
totalRegister - Variable in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
trace(ReferenceValue) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
+
Attaches the current trace value to given reference value.
+
+
trace(Value) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
+
Attaches the current trace value to given value, if it is a reference value.
+
+
trace(Value, int) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
+
Sets or replaces the trace value on a given value, if it's a reference value, returning the + result.
+
+
trace(Value, InstructionOffsetValue) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
+
Sets or replaces the trace value on a given value, returning the result.
+
+
traceBranchTargets - Variable in class proguard.evaluation.BasicBranchUnit
+
 
+
tracedInstructionFilter(boolean, InstructionVisitor) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns a filtering version of the given instruction visitor that only visits traced or + untraced instructions.
+
+
tracedInstructionFilter(InstructionVisitor) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns a filtering version of the given instruction visitor that only visits traced + instructions.
+
+
TracedReferenceValue - Class in proguard.evaluation.value
+
+
This ReferenceValue represents a reference value that is tagged with a trace value.
+
+
TracedReferenceValue(ReferenceValue, Value) - Constructor for class proguard.evaluation.value.TracedReferenceValue
+
+
Creates a new reference value with the given ID.
+
+
TracedStack - Class in proguard.evaluation
+
+
This Stack saves additional information with stack elements, to keep track of their + origins.
+
+
TracedStack(int) - Constructor for class proguard.evaluation.TracedStack
+
+
Creates a new TracedStack with a given maximum size.
+
+
TracedStack(TracedStack) - Constructor for class proguard.evaluation.TracedStack
+
+
Creates a new TracedStack that is a copy of the given TracedStack.
+
+
TracedVariables - Class in proguard.evaluation
+
+
This Variables saves additional information with variables, to keep track of their + origins.
+
+
TracedVariables(int) - Constructor for class proguard.evaluation.TracedVariables
+
+
Creates a new TracedVariables with a given size.
+
+
TracedVariables(TracedVariables) - Constructor for class proguard.evaluation.TracedVariables
+
+
Creates a new TracedVariables that is a copy of the given TracedVariables.
+
+
traceExtractionIteration(Set<List<BamLocationDependentJvmMemoryLocation>>, List<BamLocationDependentJvmMemoryLocation>) - Method in interface proguard.analysis.cpa.jvm.domain.memory.TraceExtractor
+
 
+
TraceExtractor - Interface in proguard.analysis.cpa.jvm.domain.memory
+
+
This interfaces containts helper methods for CpaRuns producing witness traces.
+
+
TracingValue - Class in proguard.evaluation.value
+
+
Representation of a value that has been tagged with a sticky trace value.
+
+
TracingValue(Value, Value) - Constructor for class proguard.evaluation.value.TracingValue
+
+
Creates a new TracingValue with the given trace value and value.
+
+
TransferRelation - Interface in proguard.analysis.cpa.interfaces
+
+
The TransferRelation computes the successor AbstractStates for the Algorithm.
+
+
transform(String) - Method in class proguard.resources.file.util.FilePoolNameFunction
+
 
+
transform(String) - Method in class proguard.util.AndNotStringFunction
+
 
+
transform(String) - Method in class proguard.util.AndStringFunction
+
 
+
transform(String) - Method in class proguard.util.ClassPoolFeatureNameFunction
+
 
+
transform(String) - Method in class proguard.util.ConcatenatingStringFunction
+
 
+
transform(String) - Method in class proguard.util.ConstantStringFunction
+
 
+
transform(String) - Method in class proguard.util.FilteredStringFunction
+
 
+
transform(String) - Method in class proguard.util.IdentityStringFunction
+
 
+
transform(String) - Method in class proguard.util.MapStringFunction
+
 
+
transform(String) - Method in class proguard.util.MatchedStringFunction
+
 
+
transform(String) - Method in class proguard.util.MatchingStringFunction
+
 
+
transform(String) - Method in class proguard.util.NotStringFunction
+
 
+
transform(String) - Method in class proguard.util.OrStringFunction
+
 
+
transform(String) - Method in class proguard.util.PrefixAddingStringFunction
+
 
+
transform(String) - Method in class proguard.util.PrefixRemovingStringFunction
+
 
+
transform(String) - Method in interface proguard.util.StringFunction
+
+
Transforms the given string into a new string.
+
+
transform(String) - Method in class proguard.util.SuffixAddingStringFunction
+
 
+
transform(String) - Method in class proguard.util.SuffixRemovingStringFunction
+
 
+
transform(IrMethod) - Method in class proguard.dexfile.ir.ts.CleanLabel
+
 
+
transform(IrMethod) - Method in class proguard.dexfile.ir.ts.ExceptionHandlerTrim
+
 
+
transform(IrMethod) - Method in class proguard.dexfile.ir.ts.Ir2JRegAssignTransformer
+
 
+
transform(IrMethod) - Method in class proguard.dexfile.ir.ts.NewTransformer
+
 
+
transform(IrMethod) - Method in class proguard.dexfile.ir.ts.StatedTransformer
+
 
+
transform(IrMethod) - Method in interface proguard.dexfile.ir.ts.Transformer
+
 
+
transform(IrMethod) - Method in class proguard.dexfile.ir.ts.TypeTransformer
+
 
+
transform(IrMethod) - Method in class proguard.dexfile.ir.ts.UnSSATransformer
+
 
+
transform(IrMethod) - Method in class proguard.dexfile.ir.ts.VoidInvokeTransformer
+
 
+
TransformedStringMatcher - Class in proguard.util
+
+
This StringMatcher delegates its tests to another given StringMatcher, with strings that have + been transformed with a given function.
+
+
TransformedStringMatcher(StringFunction, StringMatcher) - Constructor for class proguard.util.TransformedStringMatcher
+
+
Creates a new TransformedStringMatcher.
+
+
Transformer - Interface in proguard.dexfile.ir.ts
+
+
TODO DOC
+
+
TransformExample - Class in proguard.examples
+
 
+
TransformExample() - Constructor for class proguard.examples.TransformExample
+
 
+
TransformExample.MyTransformer - Class in proguard.examples
+
 
+
transformReportChanged(IrMethod) - Method in class proguard.dexfile.ir.ts.AggTransformer
+
 
+
transformReportChanged(IrMethod) - Method in class proguard.dexfile.ir.ts.MultiArrayTransformer
+
 
+
transformReportChanged(IrMethod) - Method in class proguard.dexfile.ir.ts.RemoveConstantFromSSA
+
 
+
transformReportChanged(IrMethod) - Method in class proguard.dexfile.ir.ts.RemoveLocalFromSSA
+
 
+
transformReportChanged(IrMethod) - Method in class proguard.dexfile.ir.ts.StatedTransformer
+
 
+
transformReportChanged(IrMethod) - Method in class proguard.dexfile.ir.ts.VoidInvokeTransformer
+
 
+
transformReportChanged(IrMethod) - Method in class proguard.dexfile.ir.ts.ZeroTransformer
+
 
+
transformReturn(SetAbstractState<JvmTaintSource>) - Method in interface proguard.analysis.cpa.jvm.domain.taint.JvmTaintTransformer
+
+
The transformer implementation can override this method to specify how to modify the return + value of a method call.
+
+
TRANSIENT - Static variable in class proguard.classfile.AccessConstants
+
 
+
TRANSIENT - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
TRANSITIVE - Static variable in class proguard.classfile.AccessConstants
+
 
+
TRANSITIVE - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
Trap - Class in proguard.dexfile.ir
+
+
TODO DOC
+
+
Trap() - Constructor for class proguard.dexfile.ir.Trap
+
 
+
Trap(LabelStmt, LabelStmt, LabelStmt[], String[]) - Constructor for class proguard.dexfile.ir.Trap
+
 
+
traps - Variable in class proguard.dexfile.ir.IrMethod
+
 
+
travel(Value) - Method in class proguard.dexfile.ir.StmtSearcher
+
 
+
travel(Value) - Method in class proguard.dexfile.ir.StmtTraveler
+
 
+
travel(Value, Cfg.OnUseCallBack) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
travel(IrMethod) - Method in class proguard.dexfile.ir.StmtTraveler
+
 
+
travel(Stmt) - Method in class proguard.dexfile.ir.StmtSearcher
+
 
+
travel(Stmt) - Method in class proguard.dexfile.ir.StmtTraveler
+
 
+
travel(StmtList) - Method in class proguard.dexfile.ir.StmtSearcher
+
 
+
travel(StmtList) - Method in class proguard.dexfile.ir.StmtTraveler
+
 
+
travel(StmtList, Cfg.TravelCallBack, boolean) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
travel(Stmt, Cfg.TravelCallBack, boolean) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
travelMod(Value, Cfg.OnUseCallBack) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
travelMod(StmtList, Cfg.TravelCallBack, boolean) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
travelMod(Stmt, Cfg.TravelCallBack, boolean) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
TriFunction<T,​U,​V,​R> - Interface in proguard.analysis.cpa.util
+
+
A function taking three parameters.
+
+
trim() - Method in class proguard.dexfile.ir.expr.Value
+
 
+
TriPredicate<T,​U,​V> - Interface in proguard.analysis.cpa.util
+
+
A predicate taking three parameters.
+
+
TryCatchNode - Class in proguard.dexfile.reader.node
+
 
+
TryCatchNode(DexLabel, DexLabel, DexLabel[], String[]) - Constructor for class proguard.dexfile.reader.node.TryCatchNode
+
 
+
tryStmts - Variable in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
type - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
type - Variable in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
type - Variable in class proguard.dexfile.ir.expr.BinopExpr
+
 
+
type - Variable in class proguard.dexfile.ir.expr.FieldExpr
+
+
Field type descriptor
+
+
type - Variable in class proguard.dexfile.ir.expr.FilledArrayExpr
+
 
+
type - Variable in class proguard.dexfile.ir.expr.NewExpr
+
 
+
type - Variable in class proguard.dexfile.ir.expr.RefExpr
+
 
+
type - Variable in class proguard.dexfile.ir.expr.StaticFieldExpr
+
+
Field type
+
+
type - Variable in class proguard.dexfile.ir.expr.TypeExpr
+
 
+
type - Variable in class proguard.dexfile.ir.expr.UnopExpr
+
 
+
type - Variable in class proguard.dexfile.ir.LocalVar
+
 
+
type - Variable in class proguard.dexfile.ir.ts.Ir2JRegAssignTransformer.Reg
+
 
+
type - Variable in class proguard.dexfile.reader.node.DexAnnotationNode
+
 
+
type - Variable in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.StartLocalNode
+
 
+
type - Variable in class proguard.dexfile.reader.node.insn.FilledNewArrayStmtNode
+
 
+
type - Variable in class proguard.dexfile.reader.node.insn.TypeStmtNode
+
 
+
type - Variable in class proguard.dexfile.reader.node.TryCatchNode
+
 
+
type - Variable in class proguard.evaluation.value.TypedReferenceValue
+
 
+
type - Variable in class proguard.io.DataEntryToken
+
 
+
TYPE_DOUBLE - Static variable in class proguard.evaluation.value.Value
+
 
+
TYPE_FLOAT - Static variable in class proguard.evaluation.value.Value
+
 
+
TYPE_INSTRUCTION_OFFSET - Static variable in class proguard.evaluation.value.Value
+
 
+
TYPE_INTEGER - Static variable in class proguard.evaluation.value.Value
+
 
+
TYPE_JAVA_LANG_ANNOTATION_ANNOTATION - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_BOOLEAN - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_BOOLEAN - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_BYTE - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_BYTE - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_CHARACTER - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_CHARACTER - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_CLASS - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_CLASS - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_DOUBLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_DOUBLE - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_ENUM - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_FLOAT - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_FLOAT - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_INTEGER - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_INTEGER - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_INVOKE_METHOD_HANDLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_INVOKE_METHOD_TYPE - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_INVOKE_METHODHANDLE - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_INVOKE_METHODTYPE - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_LONG - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_LONG - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_OBJECT - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_OBJECT - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_REFLECT_ARRAY - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_SHORT - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_SHORT - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_STRING - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_STRING - Static variable in class proguard.classfile.JavaConstants
+
 
+
TYPE_JAVA_LANG_STRING_BUFFER - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_STRING_BUILDER - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_LANG_THROWABLE - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_UTIL_COLLECTION - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_UTIL_LIST - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_JAVA_UTIL_MAP - Static variable in class proguard.classfile.ClassConstants
+
 
+
TYPE_KOTLIN_DEFAULT_CONSTRUCTOR_MARKER - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
TYPE_KOTLIN_JVM_JVMNAME - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
TYPE_KOTLIN_METADATA - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
TYPE_KOTLIN_UNIT - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
TYPE_LONG - Static variable in class proguard.evaluation.value.Value
+
 
+
TYPE_PRINTSTREAM - Static variable in class proguard.examples.modify.EditClass
+
 
+
TYPE_REFERENCE - Static variable in class proguard.evaluation.value.Value
+
 
+
TYPE_TOP - Static variable in class proguard.evaluation.value.Value
+
 
+
TYPE_UNKNOWN - Static variable in class proguard.evaluation.value.Value
+
 
+
typeAccept(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
typeAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
typeAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
typeAccept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
typeAliases - Variable in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
typeAliasesAccept(Clazz, KotlinTypeAliasVisitor) - Method in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
TypeAnnotation - Class in proguard.classfile.attribute.annotation
+
+
Representation of a type annotation.
+
+
TypeAnnotation() - Constructor for class proguard.classfile.attribute.annotation.TypeAnnotation
+
+
Creates an uninitialized TypeAnnotation.
+
+
TypeAnnotation(int, int, ElementValue[], TargetInfo, TypePathInfo[]) - Constructor for class proguard.classfile.attribute.annotation.TypeAnnotation
+
+
Creates an initialized TypeAnnotation.
+
+
TypeAnnotationAdder - Class in proguard.classfile.editor
+
+
This TypeAnnotationVisitor adds all type annotations that it visits to the given target + annotation element value, target annotation attribute, or target parameter annotation attribute.
+
+
TypeAnnotationAdder(ProgramClass, AnnotationElementValue) - Constructor for class proguard.classfile.editor.TypeAnnotationAdder
+
+
Creates a new TypeAnnotationAdder that will copy annotations into the given target annotation + element value.
+
+
TypeAnnotationAdder(ProgramClass, AnnotationsAttribute) - Constructor for class proguard.classfile.editor.TypeAnnotationAdder
+
+
Creates a new TypeAnnotationAdder that will copy annotations into the given target annotations + attribute.
+
+
typeAnnotationsAccept(Clazz, TypeAnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.TypeAnnotationsAttribute
+
+
Applies the given visitor to all class annotations.
+
+
typeAnnotationsAccept(Clazz, Field, TypeAnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.TypeAnnotationsAttribute
+
+
Applies the given visitor to all field annotations.
+
+
typeAnnotationsAccept(Clazz, Method, TypeAnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.TypeAnnotationsAttribute
+
+
Applies the given visitor to all method annotations.
+
+
typeAnnotationsAccept(Clazz, Method, CodeAttribute, TypeAnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.TypeAnnotationsAttribute
+
+
Applies the given visitor to all code attribute annotations.
+
+
TypeAnnotationsAttribute - Class in proguard.classfile.attribute.annotation
+
+
This Attribute represents a type annotations attribute.
+
+
TypeAnnotationsAttribute() - Constructor for class proguard.classfile.attribute.annotation.TypeAnnotationsAttribute
+
+
Creates an uninitialized TypeAnnotationsAttribute.
+
+
TypeAnnotationsAttribute(int, int, TypeAnnotation[]) - Constructor for class proguard.classfile.attribute.annotation.TypeAnnotationsAttribute
+
+
Creates an initialized TypeAnnotationsAttribute.
+
+
TypeAnnotationVisitor - Interface in proguard.classfile.attribute.annotation.visitor
+
+
This interface specifies the methods for a visitor of TypeAnnotation instances.
+
+
typeArguments - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
typeArgumentsAccept(Clazz, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
TypeArgumentTargetInfo - Class in proguard.classfile.attribute.annotation.target
+
+
Representation of an offset annotation target.
+
+
TypeArgumentTargetInfo() - Constructor for class proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo
+
+
Creates an uninitialized TypeArgumentTargetInfo.
+
+
TypeArgumentTargetInfo(byte) - Constructor for class proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo
+
+
Creates a partially initialized TypeArgumentTargetInfo.
+
+
TypeArgumentTargetInfo(byte, int, int) - Constructor for class proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo
+
+
Creates an initialized TypeArgumentTargetInfo.
+
+
TypeClass - Enum in proguard.dexfile.ir
+
 
+
TypeConstants - Class in proguard.classfile
+
+
Constant characters that are part of primitive and non-primitive type descriptors.
+
+
TypeConstants() - Constructor for class proguard.classfile.TypeConstants
+
 
+
typeCount() - Method in class proguard.classfile.util.InternalTypeEnumeration
+
+
Returns the number of types contained in the descriptor.
+
+
TypedReferenceValue - Class in proguard.evaluation.value
+
+
This ReferenceValue represents a partially evaluated reference value.
+
+
TypedReferenceValue(String, Clazz, boolean, boolean) - Constructor for class proguard.evaluation.value.TypedReferenceValue
+
+
Creates a new TypedReferenceValue.
+
+
TypedReferenceValueFactory - Class in proguard.evaluation.value
+
+
This class provides methods to create and reuse Value instances.
+
+
TypedReferenceValueFactory() - Constructor for class proguard.evaluation.value.TypedReferenceValueFactory
+
 
+
TypeExpr - Class in proguard.dexfile.ir.expr
+
+
Represent a Type expression
+
+
TypeExpr(Value.VT, Value, String) - Constructor for class proguard.dexfile.ir.expr.TypeExpr
+
 
+
TypeIntegrity - Class in proguard.util.kotlin.asserter.constraint
+
+
This class checks the assumption: All properties need a JVM signature for their getter
+
+
TypeIntegrity() - Constructor for class proguard.util.kotlin.asserter.constraint.TypeIntegrity
+
 
+
typeOfIs - Variable in class proguard.classfile.kotlin.KotlinEffectExpressionMetadata
+
 
+
typeOfIsAccept(Clazz, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinEffectExpressionMetadata
+
 
+
TypeParameterBoundTargetInfo - Class in proguard.classfile.attribute.annotation.target
+
+
Representation of a type parameter bound annotation target.
+
+
TypeParameterBoundTargetInfo() - Constructor for class proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo
+
+
Creates an uninitialized TypeParameterBoundTargetInfo.
+
+
TypeParameterBoundTargetInfo(byte) - Constructor for class proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo
+
+
Creates a partially initialized TypeParameterBoundTargetInfo.
+
+
TypeParameterBoundTargetInfo(byte, int, int) - Constructor for class proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo
+
+
Creates an initialized TypeParameterBoundTargetInfo.
+
+
typeParameters - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
typeParameters - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
typeParameters - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
typeParameters - Variable in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
typeParametersAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
typeParametersAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
typeParametersAccept(Clazz, KotlinMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
typeParametersAccept(Clazz, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
TypeParameterTargetInfo - Class in proguard.classfile.attribute.annotation.target
+
+
Representation of a type parameter annotation target.
+
+
TypeParameterTargetInfo() - Constructor for class proguard.classfile.attribute.annotation.target.TypeParameterTargetInfo
+
+
Creates an uninitialized TypeParameterTargetInfo.
+
+
TypeParameterTargetInfo(byte) - Constructor for class proguard.classfile.attribute.annotation.target.TypeParameterTargetInfo
+
+
Creates a partially initialized TypeParameterTargetInfo.
+
+
TypeParameterTargetInfo(byte, int) - Constructor for class proguard.classfile.attribute.annotation.target.TypeParameterTargetInfo
+
+
Creates an initialized TypeParameterTargetInfo.
+
+
typeParamID - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
typePath - Variable in class proguard.classfile.attribute.annotation.TypeAnnotation
+
 
+
TypePathInfo - Class in proguard.classfile.attribute.annotation
+
+
Representation of a path element in a type annotation.
+
+
TypePathInfo() - Constructor for class proguard.classfile.attribute.annotation.TypePathInfo
+
+
Creates an uninitialized TypePathInfo.
+
+
TypePathInfo(int, int) - Constructor for class proguard.classfile.attribute.annotation.TypePathInfo
+
+
Creates an initialized TypePathInfo.
+
+
typePathInfosAccept(Clazz, TypePathInfoVisitor) - Method in class proguard.classfile.attribute.annotation.TypeAnnotation
+
+
Applies the given visitor to all type path elements.
+
+
typePathInfosAccept(Clazz, Field, TypePathInfoVisitor) - Method in class proguard.classfile.attribute.annotation.TypeAnnotation
+
+
Applies the given visitor to all type path elements.
+
+
typePathInfosAccept(Clazz, Method, TypePathInfoVisitor) - Method in class proguard.classfile.attribute.annotation.TypeAnnotation
+
+
Applies the given visitor to all type path elements.
+
+
typePathInfosAccept(Clazz, Method, CodeAttribute, TypeAnnotation, TypePathInfoVisitor) - Method in class proguard.classfile.attribute.annotation.TypeAnnotation
+
+
Applies the given visitor to all type path elements.
+
+
TypePathInfoVisitor - Interface in proguard.classfile.attribute.annotation.visitor
+
+
This interface specifies the methods for a visitor of TypePathInfo instances.
+
+
TypeRef(Value) - Constructor for class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
types - Variable in class proguard.dexfile.ir.Trap
+
 
+
typesSize() - Method in class proguard.classfile.util.InternalTypeEnumeration
+
+
Returns the total size of the types contained in the descriptor.
+
+
TypeStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
TypeStmtNode(Op, int, int, String) - Constructor for class proguard.dexfile.reader.node.insn.TypeStmtNode
+
 
+
TypeTransformer - Class in proguard.dexfile.ir.ts
+
+
Type and correct Exprs
+
+
TypeTransformer() - Constructor for class proguard.dexfile.ir.ts.TypeTransformer
+
 
+
TypeTransformer.TypeRef - Class in proguard.dexfile.ir.ts
+
 
+
TYPICAL_BOOTSTRAP_METHODS_ATTRIBUTE_SIZE - Static variable in class proguard.classfile.editor.ClassEstimates
+
 
+
TYPICAL_CODE_LENGTH - Static variable in class proguard.classfile.editor.ClassEstimates
+
 
+
TYPICAL_CONSTANT_POOL_SIZE - Static variable in class proguard.classfile.editor.ClassEstimates
+
 
+
TYPICAL_EXCEPTION_TABLE_LENGTH - Static variable in class proguard.classfile.editor.ClassEstimates
+
 
+
TYPICAL_FIELD_COUNT - Static variable in class proguard.classfile.editor.ClassEstimates
+
 
+
TYPICAL_LINE_NUMBER_TABLE_LENGTH - Static variable in class proguard.classfile.editor.ClassEstimates
+
 
+
TYPICAL_METHOD_COUNT - Static variable in class proguard.classfile.editor.ClassEstimates
+
 
+
TYPICAL_PARAMETER_COUNT - Static variable in class proguard.classfile.editor.ClassEstimates
+
 
+
TYPICAL_STACK_SIZE - Static variable in class proguard.classfile.editor.ClassEstimates
+
 
+
TYPICAL_VARIABLES_SIZE - Static variable in class proguard.classfile.editor.ClassEstimates
+
 
+
+ + + +

U

+
+
u1boundIndex - Variable in class proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo
+
 
+
u1formalParameterIndex - Variable in class proguard.classfile.attribute.annotation.target.FormalParameterTargetInfo
+
 
+
u1parametersCount - Variable in class proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute
+
 
+
u1parametersCount - Variable in class proguard.classfile.attribute.MethodParametersAttribute
+
 
+
u1referenceKind - Variable in class proguard.classfile.constant.MethodHandleConstant
+
 
+
u1tag - Variable in class proguard.classfile.attribute.annotation.ConstantElementValue
+
 
+
u1targetType - Variable in class proguard.classfile.attribute.annotation.target.TargetInfo
+
 
+
u1typeArgumentIndex - Variable in class proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo
+
 
+
u1typeArgumentIndex - Variable in class proguard.classfile.attribute.annotation.TypePathInfo
+
 
+
u1typeParameterIndex - Variable in class proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo
+
 
+
u1typeParameterIndex - Variable in class proguard.classfile.attribute.annotation.target.TypeParameterTargetInfo
+
 
+
u1typePathKind - Variable in class proguard.classfile.attribute.annotation.TypePathInfo
+
 
+
u2accessFlags - Variable in class proguard.classfile.attribute.ParameterInfo
+
 
+
u2accessFlags - Variable in class proguard.classfile.LibraryClass
+
 
+
u2accessFlags - Variable in class proguard.classfile.LibraryMember
+
 
+
u2accessFlags - Variable in class proguard.classfile.ProgramClass
+
 
+
u2accessFlags - Variable in class proguard.classfile.ProgramMember
+
 
+
u2annotationsCount - Variable in class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
 
+
u2attributeNameIndex - Variable in class proguard.classfile.attribute.Attribute
+
 
+
u2attributesCount - Variable in class proguard.classfile.attribute.CodeAttribute
+
 
+
u2attributesCount - Variable in class proguard.classfile.attribute.RecordComponentInfo
+
 
+
u2attributesCount - Variable in class proguard.classfile.ProgramClass
+
 
+
u2attributesCount - Variable in class proguard.classfile.ProgramMember
+
 
+
u2bootstrapMethodAttributeIndex - Variable in class proguard.classfile.constant.DynamicConstant
+
 
+
u2bootstrapMethodAttributeIndex - Variable in class proguard.classfile.constant.InvokeDynamicConstant
+
 
+
u2bootstrapMethodsCount - Variable in class proguard.classfile.attribute.BootstrapMethodsAttribute
+
 
+
u2catchType - Variable in class proguard.classfile.attribute.ExceptionInfo
+
 
+
u2classes - Variable in class proguard.classfile.attribute.NestMembersAttribute
+
 
+
u2classes - Variable in class proguard.classfile.attribute.PermittedSubclassesAttribute
+
 
+
u2classesCount - Variable in class proguard.classfile.attribute.InnerClassesAttribute
+
 
+
u2classesCount - Variable in class proguard.classfile.attribute.NestMembersAttribute
+
 
+
u2classesCount - Variable in class proguard.classfile.attribute.PermittedSubclassesAttribute
+
 
+
u2classIndex - Variable in class proguard.classfile.attribute.EnclosingMethodAttribute
+
 
+
u2classIndex - Variable in class proguard.classfile.attribute.preverification.ObjectType
+
 
+
u2classIndex - Variable in class proguard.classfile.constant.RefConstant
+
 
+
u2classInfoIndex - Variable in class proguard.classfile.attribute.annotation.ClassElementValue
+
 
+
u2componentsCount - Variable in class proguard.classfile.attribute.RecordAttribute
+
 
+
u2constantNameIndex - Variable in class proguard.classfile.attribute.annotation.EnumConstantElementValue
+
 
+
u2constantPoolCount - Variable in class proguard.classfile.ProgramClass
+
 
+
u2constantValueIndex - Variable in class proguard.classfile.attribute.annotation.ConstantElementValue
+
 
+
u2constantValueIndex - Variable in class proguard.classfile.attribute.ConstantValueAttribute
+
 
+
u2descriptorIndex - Variable in class proguard.classfile.attribute.LocalVariableInfo
+
 
+
u2descriptorIndex - Variable in class proguard.classfile.attribute.RecordComponentInfo
+
 
+
u2descriptorIndex - Variable in class proguard.classfile.constant.MethodTypeConstant
+
 
+
u2descriptorIndex - Variable in class proguard.classfile.constant.NameAndTypeConstant
+
 
+
u2descriptorIndex - Variable in class proguard.classfile.ProgramMember
+
 
+
u2elementNameIndex - Variable in class proguard.classfile.attribute.annotation.ElementValue
+
+
An extra field for the optional element name.
+
+
u2elementValuesCount - Variable in class proguard.classfile.attribute.annotation.Annotation
+
 
+
u2elementValuesCount - Variable in class proguard.classfile.attribute.annotation.ArrayElementValue
+
 
+
u2endPC - Variable in class proguard.classfile.attribute.ExceptionInfo
+
 
+
u2exceptionIndexTable - Variable in class proguard.classfile.attribute.ExceptionsAttribute
+
 
+
u2exceptionIndexTableLength - Variable in class proguard.classfile.attribute.ExceptionsAttribute
+
 
+
u2exceptionTableIndex - Variable in class proguard.classfile.attribute.annotation.target.CatchTargetInfo
+
 
+
u2exceptionTableLength - Variable in class proguard.classfile.attribute.CodeAttribute
+
 
+
u2exportsCount - Variable in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
u2exportsFlags - Variable in class proguard.classfile.attribute.module.ExportsInfo
+
 
+
u2exportsIndex - Variable in class proguard.classfile.attribute.module.ExportsInfo
+
 
+
u2exportsToCount - Variable in class proguard.classfile.attribute.module.ExportsInfo
+
 
+
u2exportsToIndex - Variable in class proguard.classfile.attribute.module.ExportsInfo
+
 
+
u2fieldsCount - Variable in class proguard.classfile.ProgramClass
+
 
+
u2handlerPC - Variable in class proguard.classfile.attribute.ExceptionInfo
+
 
+
u2hostClassIndex - Variable in class proguard.classfile.attribute.NestHostAttribute
+
 
+
u2index - Variable in class proguard.classfile.attribute.annotation.target.LocalVariableTargetElement
+
 
+
u2index - Variable in class proguard.classfile.attribute.LocalVariableInfo
+
 
+
u2index - Variable in class proguard.classfile.attribute.LocalVariableTypeInfo
+
 
+
u2innerClassAccessFlags - Variable in class proguard.classfile.attribute.InnerClassesInfo
+
 
+
u2innerClassIndex - Variable in class proguard.classfile.attribute.InnerClassesInfo
+
 
+
u2innerNameIndex - Variable in class proguard.classfile.attribute.InnerClassesInfo
+
 
+
u2interfaces - Variable in class proguard.classfile.ProgramClass
+
 
+
u2interfacesCount - Variable in class proguard.classfile.ProgramClass
+
 
+
u2length - Variable in class proguard.classfile.attribute.annotation.target.LocalVariableTargetElement
+
 
+
u2length - Variable in class proguard.classfile.attribute.LocalVariableInfo
+
 
+
u2length - Variable in class proguard.classfile.attribute.LocalVariableTypeInfo
+
 
+
u2lineNumber - Variable in class proguard.classfile.attribute.LineNumberInfo
+
 
+
u2lineNumberTableLength - Variable in class proguard.classfile.attribute.LineNumberTableAttribute
+
 
+
u2localVariableTableLength - Variable in class proguard.classfile.attribute.LocalVariableTableAttribute
+
 
+
u2localVariableTypeTableLength - Variable in class proguard.classfile.attribute.LocalVariableTypeTableAttribute
+
 
+
u2mainClass - Variable in class proguard.classfile.attribute.module.ModuleMainClassAttribute
+
 
+
u2maxLocals - Variable in class proguard.classfile.attribute.CodeAttribute
+
 
+
u2maxStack - Variable in class proguard.classfile.attribute.CodeAttribute
+
 
+
u2methodArgumentCount - Variable in class proguard.classfile.attribute.BootstrapMethodInfo
+
 
+
u2methodArguments - Variable in class proguard.classfile.attribute.BootstrapMethodInfo
+
 
+
u2methodHandleIndex - Variable in class proguard.classfile.attribute.BootstrapMethodInfo
+
 
+
u2methodsCount - Variable in class proguard.classfile.ProgramClass
+
 
+
u2moduleFlags - Variable in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
u2moduleNameIndex - Variable in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
u2moduleVersionIndex - Variable in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
u2nameAndTypeIndex - Variable in class proguard.classfile.attribute.EnclosingMethodAttribute
+
 
+
u2nameAndTypeIndex - Variable in class proguard.classfile.constant.DynamicConstant
+
 
+
u2nameAndTypeIndex - Variable in class proguard.classfile.constant.InvokeDynamicConstant
+
 
+
u2nameAndTypeIndex - Variable in class proguard.classfile.constant.RefConstant
+
 
+
u2nameIndex - Variable in class proguard.classfile.attribute.LocalVariableInfo
+
 
+
u2nameIndex - Variable in class proguard.classfile.attribute.LocalVariableTypeInfo
+
 
+
u2nameIndex - Variable in class proguard.classfile.attribute.ParameterInfo
+
 
+
u2nameIndex - Variable in class proguard.classfile.attribute.RecordComponentInfo
+
 
+
u2nameIndex - Variable in class proguard.classfile.constant.ClassConstant
+
 
+
u2nameIndex - Variable in class proguard.classfile.constant.ModuleConstant
+
 
+
u2nameIndex - Variable in class proguard.classfile.constant.NameAndTypeConstant
+
 
+
u2nameIndex - Variable in class proguard.classfile.constant.PackageConstant
+
 
+
u2nameIndex - Variable in class proguard.classfile.ProgramMember
+
 
+
u2newInstructionOffset - Variable in class proguard.classfile.attribute.preverification.UninitializedType
+
 
+
u2offset - Variable in class proguard.classfile.attribute.annotation.target.OffsetTargetInfo
+
 
+
u2offset - Variable in class proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo
+
 
+
u2offsetDelta - Variable in class proguard.classfile.attribute.preverification.StackMapFrame
+
 
+
u2opensCount - Variable in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
u2opensFlags - Variable in class proguard.classfile.attribute.module.OpensInfo
+
 
+
u2opensIndex - Variable in class proguard.classfile.attribute.module.OpensInfo
+
 
+
u2opensToCount - Variable in class proguard.classfile.attribute.module.OpensInfo
+
 
+
u2opensToIndex - Variable in class proguard.classfile.attribute.module.OpensInfo
+
 
+
u2outerClassIndex - Variable in class proguard.classfile.attribute.InnerClassesInfo
+
 
+
u2packages - Variable in class proguard.classfile.attribute.module.ModulePackagesAttribute
+
 
+
u2packagesCount - Variable in class proguard.classfile.attribute.module.ModulePackagesAttribute
+
 
+
u2parameterAnnotationsCount - Variable in class proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute
+
 
+
u2providesCount - Variable in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
u2providesIndex - Variable in class proguard.classfile.attribute.module.ProvidesInfo
+
 
+
u2providesWithCount - Variable in class proguard.classfile.attribute.module.ProvidesInfo
+
 
+
u2providesWithIndex - Variable in class proguard.classfile.attribute.module.ProvidesInfo
+
 
+
u2referenceIndex - Variable in class proguard.classfile.constant.MethodHandleConstant
+
 
+
u2requiresCount - Variable in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
u2requiresFlags - Variable in class proguard.classfile.attribute.module.RequiresInfo
+
 
+
u2requiresIndex - Variable in class proguard.classfile.attribute.module.RequiresInfo
+
 
+
u2requiresVersionIndex - Variable in class proguard.classfile.attribute.module.RequiresInfo
+
 
+
u2signatureIndex - Variable in class proguard.classfile.attribute.LocalVariableTypeInfo
+
 
+
u2signatureIndex - Variable in class proguard.classfile.attribute.SignatureAttribute
+
 
+
u2sourceDirIndex - Variable in class proguard.classfile.attribute.SourceDirAttribute
+
 
+
u2sourceFileIndex - Variable in class proguard.classfile.attribute.SourceFileAttribute
+
 
+
u2stackMapFramesCount - Variable in class proguard.classfile.attribute.preverification.StackMapAttribute
+
 
+
u2stackMapFramesCount - Variable in class proguard.classfile.attribute.preverification.StackMapTableAttribute
+
 
+
u2startPC - Variable in class proguard.classfile.attribute.annotation.target.LocalVariableTargetElement
+
 
+
u2startPC - Variable in class proguard.classfile.attribute.ExceptionInfo
+
 
+
u2startPC - Variable in class proguard.classfile.attribute.LineNumberInfo
+
 
+
u2startPC - Variable in class proguard.classfile.attribute.LocalVariableInfo
+
 
+
u2startPC - Variable in class proguard.classfile.attribute.LocalVariableTypeInfo
+
 
+
u2stringIndex - Variable in class proguard.classfile.constant.StringConstant
+
 
+
u2superClass - Variable in class proguard.classfile.ProgramClass
+
 
+
u2superTypeIndex - Variable in class proguard.classfile.attribute.annotation.target.SuperTypeTargetInfo
+
 
+
u2tableLength - Variable in class proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo
+
 
+
u2thisClass - Variable in class proguard.classfile.ProgramClass
+
 
+
u2throwsTypeIndex - Variable in class proguard.classfile.attribute.annotation.target.ThrowsTargetInfo
+
 
+
u2typeIndex - Variable in class proguard.classfile.attribute.annotation.Annotation
+
 
+
u2typeNameIndex - Variable in class proguard.classfile.attribute.annotation.EnumConstantElementValue
+
 
+
u2uses - Variable in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
u2usesCount - Variable in class proguard.classfile.attribute.module.ModuleAttribute
+
 
+
u4attributeLength - Variable in class proguard.classfile.attribute.SourceDebugExtensionAttribute
+
 
+
u4attributeLength - Variable in class proguard.classfile.attribute.UnknownAttribute
+
 
+
u4codeLength - Variable in class proguard.classfile.attribute.CodeAttribute
+
 
+
u4value - Variable in class proguard.classfile.constant.IntegerConstant
+
 
+
u4version - Variable in class proguard.classfile.ProgramClass
+
 
+
u8value - Variable in class proguard.classfile.constant.LongConstant
+
 
+
UByteValue(byte) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.UByteValue
+
 
+
UIntValue(int) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.UIntValue
+
 
+
ULongValue(long) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.ULongValue
+
 
+
unaryOperation(DexStmtNode, V) - Method in class proguard.dexfile.reader.node.analysis.DvmInterpreter
+
+
NEG* *_TO_* IF_*Z *SWITCH IGET* NEW_ARRAY MONITOR_* CHECK_CAST INSTANCEOF
+
+
unboxPrimitiveType(String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Unbox the object on the stack to a primitive value.
+
+
unboxPrimitiveType(String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Unbox the object on the stack to a primitive value.
+
+
undeleteInstruction(int) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Remembers not to delete the instruction at the given offset.
+
+
underlyingPropertyName - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
underlyingPropertyType - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
underlyingPropertyTypeAccept(Clazz, KotlinClassKindMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
underlyingType - Variable in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
underlyingTypeAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
UNINITIALIZED_THIS_TYPE - Static variable in class proguard.classfile.attribute.preverification.VerificationType
+
 
+
UNINITIALIZED_TYPE - Static variable in class proguard.classfile.attribute.preverification.VerificationType
+
 
+
UninitializedThisType - Class in proguard.classfile.attribute.preverification
+
+
This VerificationType represents an UninitializedThis type.
+
+
UninitializedThisType() - Constructor for class proguard.classfile.attribute.preverification.UninitializedThisType
+
 
+
UninitializedType - Class in proguard.classfile.attribute.preverification
+
+
This VerificationType represents a Uninitialized type.
+
+
UninitializedType() - Constructor for class proguard.classfile.attribute.preverification.UninitializedType
+
+
Creates an uninitialized UninitializedType.
+
+
UninitializedType(int) - Constructor for class proguard.classfile.attribute.preverification.UninitializedType
+
+
Creates an UninitializedType pointing to the given 'new' instruction.
+
+
UniqueClassFilter - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates its visits to another given ClassVisitor, + but at most a single time.
+
+
UniqueClassFilter(ClassVisitor) - Constructor for class proguard.classfile.visitor.UniqueClassFilter
+
+
Creates a new UniqueClassFilter.
+
+
UniqueQueue<T> - Class in proguard.dexfile.ir.ts
+
 
+
UniqueQueue() - Constructor for class proguard.dexfile.ir.ts.UniqueQueue
+
 
+
UNKNOWN - proguard.dexfile.ir.TypeClass
+
 
+
UNKNOWN - Static variable in class proguard.analysis.cpa.jvm.domain.value.ValueAbstractState
+
 
+
UNKNOWN - Static variable in class proguard.classfile.MethodSignature
+
 
+
UNKNOWN - Static variable in class proguard.classfile.util.BranchTargetFinder
+
 
+
UNKNOWN_LINE - Static variable in class proguard.analysis.datastructure.Location
+
 
+
UNKNOWN_VALUE - Static variable in class proguard.evaluation.value.BasicValueFactory
+
 
+
UNKNOWN_VERSION - Static variable in class proguard.classfile.kotlin.KotlinMetadataVersion
+
 
+
UnknownAttribute - Class in proguard.classfile.attribute
+
+
This Attribute represents an unknown attribute.
+
+
UnknownAttribute(int, int) - Constructor for class proguard.classfile.attribute.UnknownAttribute
+
+
Creates an uninitialized UnknownAttribute with the specified name and length.
+
+
UnknownAttribute(int, int, byte[]) - Constructor for class proguard.classfile.attribute.UnknownAttribute
+
+
Creates an initialized UnknownAttribute.
+
+
UnknownDoubleValue - Class in proguard.evaluation.value
+
+
DoubleValue that is unknown.
+
+
UnknownDoubleValue() - Constructor for class proguard.evaluation.value.UnknownDoubleValue
+
 
+
UnknownFloatValue - Class in proguard.evaluation.value
+
+
FloatValue that is unknown.
+
+
UnknownFloatValue() - Constructor for class proguard.evaluation.value.UnknownFloatValue
+
 
+
UnknownIntegerValue - Class in proguard.evaluation.value
+
+
IntegerValue that is unknown.
+
+
UnknownIntegerValue() - Constructor for class proguard.evaluation.value.UnknownIntegerValue
+
 
+
UnknownLongValue - Class in proguard.evaluation.value
+
+
LongValue that is unknown.
+
+
UnknownLongValue() - Constructor for class proguard.evaluation.value.UnknownLongValue
+
 
+
UnknownReferenceValue - Class in proguard.evaluation.value
+
+
ReferenceValue that is unknown.
+
+
UnknownReferenceValue() - Constructor for class proguard.evaluation.value.UnknownReferenceValue
+
 
+
UnknownValue - Class in proguard.evaluation.value
+
+
Represents a value that is completely unknown.
+
+
UNLOCK - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
UnopExpr - Class in proguard.dexfile.ir.expr
+
+
Represent a LENGTH,NEG expression
+
+
UnopExpr(Value.VT, Value, String) - Constructor for class proguard.dexfile.ir.expr.UnopExpr
+
 
+
UnopStmt - Class in proguard.dexfile.ir.stmt
+
 
+
UnopStmt(Stmt.ST, Value) - Constructor for class proguard.dexfile.ir.stmt.UnopStmt
+
 
+
UNSIGNED_SHIFT_RIGHT - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
UNSIGNED_SHIFT_RIGHT - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this unsigned IntegerValue, shifted left by the given IntegerValue.
+
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this unsigned LongValue, shifted left by the given IntegerValue.
+
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
unsignedShiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this unsigned IntegerValue, shifted right by the given ParticularIntegerValue.
+
+
unsignedShiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this unsigned LongValue, shifted right by the given ParticularIntegerValue.
+
+
unsignedShiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
unsignedShiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this unsigned IntegerValue, shifted right by the given RangeIntegerValue.
+
+
unsignedShiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRight(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this unsigned IntegerValue, shifted right by the given SpecificIntegerValue.
+
+
unsignedShiftRight(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRight(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this unsigned LongValue, shifted right by the given SpecificLongValue.
+
+
unsignedShiftRight(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
unsignedShiftRight(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this unsigned IntegerValue, shifted right by the given UnknownIntegerValue.
+
+
unsignedShiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned IntegerValue, shifted left by this IntegerValue.
+
+
unsignedShiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
unsignedShiftRightOf(LongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned LongValue, shifted right by this IntegerValue.
+
+
unsignedShiftRightOf(LongValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRightOf(LongValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRightOf(LongValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRightOf(LongValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
unsignedShiftRightOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned ParticularIntegerValue, shifted right by this IntegerValue.
+
+
unsignedShiftRightOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRightOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRightOf(ParticularLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned ParticularLongValue, shifted right by this IntegerValue.
+
+
unsignedShiftRightOf(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRightOf(ParticularLongValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned RangeIntegerValue, shifted right by this IntegerValue.
+
+
unsignedShiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRightOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned SpecificIntegerValue, shifted right by this IntegerValue.
+
+
unsignedShiftRightOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRightOf(SpecificLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned SpecificLongValue, shifted right by this IntegerValue.
+
+
unsignedShiftRightOf(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRightOf(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned UnknownIntegerValue, shifted right by this IntegerValue.
+
+
unsignedShiftRightOf(UnknownLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned UnknownLongValue, shifted right by this IntegerValue.
+
+
UnSSATransformer - Class in proguard.dexfile.ir.ts
+
+
Remove PhiExprs, add a=x to each CFG from.
+
+
UnSSATransformer() - Constructor for class proguard.dexfile.ir.ts.UnSSATransformer
+
 
+
UnSSATransformer.LiveA - Class in proguard.dexfile.ir.ts
+
 
+
UnSSATransformer.RegAssign - Class in proguard.dexfile.ir.ts
+
+
designed for assign index to Local, each Object is related to a Local
+
+
UNSUPPORTED_OPCODE - proguard.analysis.Metrics.MetricType
+
 
+
UnsupportedKotlinMetadata - Class in proguard.classfile.kotlin
+
+
A Kotlin metadata type that corresponds to metadata that could not be parsed correctly.
+
+
UnsupportedKotlinMetadata(int, int[], int, String, String) - Constructor for class proguard.classfile.kotlin.UnsupportedKotlinMetadata
+
 
+
updateTypeClass(TypeClass) - Method in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
upperBounds - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
upperBounds - Variable in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
upperBoundsAccept(Clazz, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
upperBoundsAccept(Clazz, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
used - Variable in class proguard.dexfile.ir.ts.an.SimpleLiveValue
+
 
+
useDefaultStringReflectionExecutor - Variable in class proguard.evaluation.ExecutingInvocationUnit.Builder
+
 
+
useDefaultStringReflectionExecutor(boolean) - Method in class proguard.evaluation.ExecutingInvocationUnit.Builder
+
+
Set this flag to false if the ExecutingInvocationUnit should not use StringReflectionExecutor by default.
+
+
usePrimitiveArrayConstants(boolean) - Method in class proguard.dexfile.converter.Dex2Pro
+
 
+
usePrimitiveArrayConstants(boolean) - Method in class proguard.dexfile.converter.IR2ProConverter
+
+
Specifies whether PrimitiveArrayConstants can be generated, when applicable.
+
+
uses - Variable in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
usesAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.module.ModuleAttribute
+
+
Applies the given constant pool visitor to all uses.
+
+
useSelectiveParameterReconstruction(Set<MethodSignature>, Set<Predicate<Call>>) - Method in class proguard.analysis.CallResolver.Builder
+
+
When used allows parameter reconstruction based on the PartialEvaluator to only be + executed for the calls that match (1) the interestingMethods signatures OR (2) + the interestingCallPredicates.
+
+
UShortValue(short) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.UShortValue
+
 
+
USHR - proguard.dexfile.ir.expr.Value.VT
+
 
+
USHR_INT - proguard.dexfile.reader.Op
+
 
+
USHR_INT_2ADDR - proguard.dexfile.reader.Op
+
 
+
USHR_INT_LIT8 - proguard.dexfile.reader.Op
+
 
+
USHR_LONG - proguard.dexfile.reader.Op
+
 
+
USHR_LONG_2ADDR - proguard.dexfile.reader.Op
+
 
+
UTF8 - Static variable in class proguard.classfile.constant.Constant
+
 
+
Utf8Constant - Class in proguard.classfile.constant
+
+
This Constant represents a UTF-8 constant in the constant pool.
+
+
Utf8Constant() - Constructor for class proguard.classfile.constant.Utf8Constant
+
+
Creates an uninitialized Utf8Constant.
+
+
Utf8Constant(String) - Constructor for class proguard.classfile.constant.Utf8Constant
+
+
Creates a Utf8Constant containing the given string.
+
+
Utf8Shrinker - Class in proguard.classfile.editor
+
+
This ClassVisitor removes UTF-8 constant pool entries that are not used.
+
+
Utf8Shrinker() - Constructor for class proguard.classfile.editor.Utf8Shrinker
+
 
+
Util - Class in proguard.dexfile.ir
+
 
+
Util() - Constructor for class proguard.dexfile.ir.Util
+
 
+
+ + + +

V

+
+
VALID_FLAGS_CLASS - Static variable in class proguard.classfile.AccessConstants
+
 
+
VALID_FLAGS_EXPORTS - Static variable in class proguard.classfile.AccessConstants
+
 
+
VALID_FLAGS_FIELD - Static variable in class proguard.classfile.AccessConstants
+
 
+
VALID_FLAGS_METHOD - Static variable in class proguard.classfile.AccessConstants
+
 
+
VALID_FLAGS_MODULE - Static variable in class proguard.classfile.AccessConstants
+
 
+
VALID_FLAGS_OPENS - Static variable in class proguard.classfile.AccessConstants
+
 
+
VALID_FLAGS_PARAMETER - Static variable in class proguard.classfile.AccessConstants
+
 
+
VALID_FLAGS_REQUIRES - Static variable in class proguard.classfile.AccessConstants
+
 
+
value - Variable in class proguard.classfile.kotlin.KotlinAnnotationArgument.LiteralValue
+
 
+
value - Variable in class proguard.classfile.util.renderer.MemberViewModel.Pair
+
 
+
value - Variable in class proguard.dexfile.ir.expr.Constant
+
 
+
value - Variable in class proguard.dexfile.ir.ts.TypeTransformer.TypeRef
+
 
+
value - Variable in class proguard.dexfile.reader.node.DexAnnotationNode.Item
+
 
+
value - Variable in class proguard.dexfile.reader.node.insn.ConstStmtNode
+
 
+
value - Variable in enum proguard.dexfile.reader.Visibility
+
 
+
value - Variable in class proguard.evaluation.ConstantValueFactory
+
 
+
value() - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
+
Deprecated.
+
+
value() - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the specific double value, if applicable.
+
+
value() - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the specific float value, if applicable.
+
+
value() - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the specific integer value, if applicable.
+
+
value() - Method in class proguard.evaluation.value.LongValue
+
+
Returns the specific long value, if applicable.
+
+
value() - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
value() - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
value() - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
value() - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
value() - Method in class proguard.evaluation.value.ParticularReferenceValue
+
+
Deprecated.
+
+
value() - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
value() - Method in class proguard.evaluation.value.ReferenceValue
+
+
Deprecated.
+
+
Value - Class in proguard.dexfile.ir.expr
+
+
Represent a local/constant/expression
+
+
Value - Class in proguard.evaluation.value
+
+
This abstract class represents a partially evaluated value.
+
+
Value() - Constructor for class proguard.evaluation.value.Value
+
 
+
Value(Value.VT, ET) - Constructor for class proguard.dexfile.ir.expr.Value
+
 
+
Value.E0Expr - Class in proguard.dexfile.ir.expr
+
+
Represent an expression with no argument
+
+
Value.E1Expr - Class in proguard.dexfile.ir.expr
+
+
Represent an expression with 1 argument
+
+
Value.E2Expr - Class in proguard.dexfile.ir.expr
+
+
Represent an expression with 2 arguments
+
+
Value.EnExpr - Class in proguard.dexfile.ir.expr
+
+
Represent an expression with 3+ arguments
+
+
Value.VT - Enum in proguard.dexfile.ir.expr
+
+
Value Type
+
+
ValueAbstractState - Class in proguard.analysis.cpa.jvm.domain.value
+
+
An AbstractState for tracking JVM values.
+
+
ValueAbstractState(Value) - Constructor for class proguard.analysis.cpa.jvm.domain.value.ValueAbstractState
+
 
+
ValueCalculator - Interface in proguard.evaluation
+
+
This functional interface can be used to specify a way of creating Values given a series + of parameters.
+
+
valuefactory - Variable in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
valueFactory - Variable in class proguard.evaluation.BasicInvocationUnit
+
 
+
valueFactory - Variable in class proguard.evaluation.ConstantValueFactory
+
 
+
ValueFactory - Interface in proguard.evaluation.value
+
+
This interface provides methods to create Value instances.
+
+
valueOf(String) - Static method in enum proguard.analysis.cpa.jvm.state.heap.HeapModel
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum proguard.analysis.Metrics.MetricType
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata.Flavor
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum proguard.classfile.kotlin.KotlinTypeVariance
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum proguard.classfile.util.kotlin.KotlinMetadataType
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum proguard.dexfile.ir.ET
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum proguard.dexfile.ir.expr.Value.VT
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum proguard.dexfile.ir.stmt.Stmt.ST
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum proguard.dexfile.ir.TypeClass
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum proguard.dexfile.reader.InstructionFormat
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum proguard.dexfile.reader.InstructionIndexType
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum proguard.dexfile.reader.Op
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum proguard.dexfile.reader.Visibility
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum proguard.io.DataEntryTokenType
+
+
Returns the enum constant of this type with the specified name.
+
+
ValueParameterIntegrity - Class in proguard.util.kotlin.asserter.constraint
+
 
+
ValueParameterIntegrity() - Constructor for class proguard.util.kotlin.asserter.constraint.ValueParameterIntegrity
+
 
+
valueParameters - Variable in class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
valueParameters - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
valueParametersAccept(Clazz, KotlinClassKindMetadata, KotlinValueParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
valueParametersAccept(Clazz, KotlinMetadata, KotlinValueParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
values - Variable in class proguard.classfile.constant.PrimitiveArrayConstant
+
 
+
values - Variable in class proguard.dexfile.reader.node.analysis.DvmFrame
+
 
+
values - Variable in class proguard.evaluation.Stack
+
 
+
values - Variable in class proguard.evaluation.Variables
+
 
+
values() - Method in interface proguard.analysis.cpa.bam.BamCache
+
+
Returns block abstractions stored in the cache.
+
+
values() - Method in class proguard.analysis.cpa.bam.BamCacheImpl
+
 
+
values() - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
values() - Static method in enum proguard.analysis.cpa.jvm.state.heap.HeapModel
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum proguard.analysis.Metrics.MetricType
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata.Flavor
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum proguard.classfile.kotlin.KotlinTypeVariance
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum proguard.classfile.util.kotlin.KotlinMetadataType
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum proguard.dexfile.ir.ET
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum proguard.dexfile.ir.expr.Value.VT
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum proguard.dexfile.ir.stmt.Stmt.ST
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum proguard.dexfile.ir.TypeClass
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum proguard.dexfile.reader.InstructionFormat
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum proguard.dexfile.reader.InstructionIndexType
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum proguard.dexfile.reader.Op
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum proguard.dexfile.reader.Visibility
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum proguard.io.DataEntryTokenType
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Method in class proguard.util.MultiValueMap
+
 
+
valueType - Variable in class proguard.dexfile.ir.expr.Value
+
 
+
ValueTypeException - Exception in proguard.evaluation.exception
+
 
+
ValueTypeException(String, Value) - Constructor for exception proguard.evaluation.exception.ValueTypeException
+
 
+
varArgElementType - Variable in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
VARARGS - Static variable in class proguard.classfile.AccessConstants
+
 
+
VARARGS - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
VARIABLE_EMPTY_SLOT - Static variable in class proguard.exception.ErrorId
+
 
+
VARIABLE_GENERALIZATION - Static variable in class proguard.exception.ErrorId
+
 
+
VARIABLE_INDEX_OUT_OF_BOUND - Static variable in class proguard.exception.ErrorId
+
 
+
VARIABLE_TYPE - Static variable in class proguard.exception.ErrorId
+
 
+
VariableClassVisitor - Class in proguard.classfile.visitor
+
+
This ClassVisitor delegates all method calls to a ClassVisitor that can be + changed at any time.
+
+
VariableClassVisitor() - Constructor for class proguard.classfile.visitor.VariableClassVisitor
+
 
+
VariableClassVisitor(ClassVisitor) - Constructor for class proguard.classfile.visitor.VariableClassVisitor
+
 
+
VariableCleaner - Class in proguard.classfile.editor
+
+
This AttributeVisitor cleans up variable tables in all code attributes that it visits.
+
+
VariableCleaner() - Constructor for class proguard.classfile.editor.VariableCleaner
+
 
+
VariableEditor - Class in proguard.classfile.editor
+
+
This AttributeVisitor accumulates specified changes to local variables, and then applies + these accumulated changes to the code attributes that it visits.
+
+
VariableEditor() - Constructor for class proguard.classfile.editor.VariableEditor
+
 
+
VariableEmptySlotException - Exception in proguard.evaluation.exception
+
+
Exception thrown when a variable slot contains an empty value, but should not.
+
+
VariableEmptySlotException(int) - Constructor for exception proguard.evaluation.exception.VariableEmptySlotException
+
 
+
VariableEvaluationException - Exception in proguard.evaluation.exception
+
+
Partial evaluator exception regarding Variables.
+
+
VariableEvaluationException(String, int, Object[], int, Throwable) - Constructor for exception proguard.evaluation.exception.VariableEvaluationException
+
 
+
variableIndex - Variable in class proguard.classfile.instruction.VariableInstruction
+
 
+
VariableIndexOutOfBoundException - Exception in proguard.evaluation.exception
+
+
Exception thrown when the variable index is out of bound of the current Variable count.
+
+
VariableIndexOutOfBoundException(int, int) - Constructor for exception proguard.evaluation.exception.VariableIndexOutOfBoundException
+
 
+
VariableInstruction - Class in proguard.classfile.instruction
+
+
This Instruction represents an instruction that refers to a variable on the local + variable stack.
+
+
VariableInstruction() - Constructor for class proguard.classfile.instruction.VariableInstruction
+
+
Creates an uninitialized VariableInstruction.
+
+
VariableInstruction(boolean) - Constructor for class proguard.classfile.instruction.VariableInstruction
+
 
+
VariableInstruction(byte) - Constructor for class proguard.classfile.instruction.VariableInstruction
+
 
+
VariableInstruction(byte, int) - Constructor for class proguard.classfile.instruction.VariableInstruction
+
 
+
VariableInstruction(byte, int, int) - Constructor for class proguard.classfile.instruction.VariableInstruction
+
 
+
VariableMemberVisitor - Class in proguard.classfile.visitor
+
+
This MemberVisitor delegates all method calls to a MemberVisitor that can be + changed at any time.
+
+
VariableMemberVisitor() - Constructor for class proguard.classfile.visitor.VariableMemberVisitor
+
 
+
VariableMemberVisitor(MemberVisitor) - Constructor for class proguard.classfile.visitor.VariableMemberVisitor
+
 
+
VariableRemapper - Class in proguard.classfile.editor
+
+
This AttributeVisitor remaps variable indexes in all attributes that it visits, based on + a given index map.
+
+
VariableRemapper() - Constructor for class proguard.classfile.editor.VariableRemapper
+
 
+
variables - Variable in class proguard.classfile.attribute.preverification.FullFrame
+
 
+
variables - Variable in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
Variables - Class in proguard.evaluation
+
+
This class represents a local variable frame that contains Value instances.
+
+
Variables(int) - Constructor for class proguard.evaluation.Variables
+
+
Creates a new Variables object with a given maximum number of variables.
+
+
Variables(Variables) - Constructor for class proguard.evaluation.Variables
+
+
Creates a Variables object that is a copy of the given Variables object.
+
+
variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.DoubleType
+
 
+
variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.FloatType
+
 
+
variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.IntegerType
+
 
+
variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.LongType
+
 
+
variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.NullType
+
 
+
variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.ObjectType
+
 
+
variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.TopType
+
 
+
variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.UninitializedThisType
+
 
+
variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.UninitializedType
+
 
+
variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.VerificationType
+
+
Accepts the given visitor in the context of a variable in a method's code.
+
+
variablesAccept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.FullFrame
+
+
Applies the given verification type visitor to all variables.
+
+
variablesCount - Variable in class proguard.classfile.attribute.preverification.FullFrame
+
 
+
VariablesGeneralizationException - Exception in proguard.evaluation.exception
+
 
+
VariablesGeneralizationException(Throwable, TracedVariables, TracedVariables) - Constructor for exception proguard.evaluation.exception.VariablesGeneralizationException
+
 
+
VariableSizeUpdater - Class in proguard.classfile.editor
+
+
This AttributeVisitor computes and updates the maximum local variable frame size of the + code attributes that it visits.
+
+
VariableSizeUpdater() - Constructor for class proguard.classfile.editor.VariableSizeUpdater
+
 
+
VariableStringMatcher - Class in proguard.util
+
+
This StringMatcher tests whether strings start with a specified variable string and then + match another optional given StringMatcher.
+
+
VariableStringMatcher(char[], char[], int, int, StringMatcher) - Constructor for class proguard.util.VariableStringMatcher
+
+
Creates a new VariableStringMatcher.
+
+
VariableTypeException - Exception in proguard.evaluation.exception
+
+
Exception thrown when the type in a variable does not match the expected type.
+
+
VariableTypeException(int, Value, String, Throwable) - Constructor for exception proguard.evaluation.exception.VariableTypeException
+
 
+
variance - Variable in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
variance - Variable in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
vars - Variable in class proguard.dexfile.ir.IrMethod
+
 
+
VerificationType - Class in proguard.classfile.attribute.preverification
+
+
This abstract class represents a verification type of a local variable or a stack element.
+
+
VerificationType() - Constructor for class proguard.classfile.attribute.preverification.VerificationType
+
 
+
VerificationTypeFactory - Class in proguard.classfile.attribute.preverification
+
+
This class provides methods to create and reuse IntegerType instances.
+
+
VerificationTypeFactory() - Constructor for class proguard.classfile.attribute.preverification.VerificationTypeFactory
+
 
+
VerificationTypeVisitor - Interface in proguard.classfile.attribute.preverification.visitor
+
+
This interface specifies the methods for a visitor of VerificationType instances.
+
+
version - Variable in class proguard.resources.kotlinmodule.KotlinModule
+
 
+
versionAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.module.ModuleAttribute
+
+
Applies the given constant pool visitor to the Utf8 constant of the version, if any.
+
+
versionAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.module.RequiresInfo
+
+
Applies the given constant pool visitor to the Utf8 constant of the version, if any.
+
+
VersionConstants - Class in proguard.classfile
+
+
Known internal version numbers of class files.
+
+
VersionConstants() - Constructor for class proguard.classfile.VersionConstants
+
 
+
versionRequirement - Variable in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
versionRequirement - Variable in class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
versionRequirement - Variable in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
versionRequirement - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
versionRequirement - Variable in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
versionRequirementAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
versionRequirementAccept(Clazz, KotlinMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
versionRequirementAccept(Clazz, KotlinMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
versionRequirementAccept(Clazz, KotlinMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
versionRequirementAccept(Clazz, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
visibility - Variable in class proguard.classfile.kotlin.flags.KotlinClassFlags
+
 
+
visibility - Variable in class proguard.classfile.kotlin.flags.KotlinConstructorFlags
+
 
+
visibility - Variable in class proguard.classfile.kotlin.flags.KotlinFunctionFlags
+
 
+
visibility - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyAccessorFlags
+
 
+
visibility - Variable in class proguard.classfile.kotlin.flags.KotlinPropertyFlags
+
 
+
visibility - Variable in class proguard.classfile.kotlin.flags.KotlinTypeAliasFlags
+
 
+
visibility - Variable in class proguard.dexfile.reader.node.DexAnnotationNode
+
 
+
Visibility - Enum in proguard.dexfile.reader
+
 
+
visit(int, String, String, String[]) - Method in class proguard.dexfile.reader.node.DexFileNode
+
 
+
visit(int, String, String, String[]) - Method in class proguard.dexfile.reader.visitors.DexFileVisitor
+
 
+
visit(String, Object) - Method in class proguard.dexfile.reader.node.DexAnnotationNode
+
 
+
visit(String, Object) - Method in class proguard.dexfile.reader.visitors.DexAnnotationVisitor
+
+
Visits a primitive value of the annotation.
+
+
visitAbbreviation(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitAbbreviation(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitAbbreviation(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAbbreviation(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitAliasExpandedType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitAliasExpandedType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitAliasExpandedType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAliasExpandedType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitAliasTypeParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeParameterFilter
+
 
+
visitAliasTypeParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeParameterMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor
+
 
+
visitAliasTypeParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.MultiKotlinTypeParameterVisitor
+
 
+
visitAliasUnderlyingType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitAliasUnderlyingType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitAliasUnderlyingType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAliasUnderlyingType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitAndRHSExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata, KotlinEffectExpressionMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinEffectExprVisitor
+
 
+
visitAndRHSExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata, KotlinEffectExpressionMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAnnotation(String, String) - Method in class proguard.dexfile.reader.node.DexAnnotationNode
+
 
+
visitAnnotation(String, String) - Method in class proguard.dexfile.reader.visitors.DexAnnotationVisitor
+
+
Visits a nested annotation value of the annotation.
+
+
visitAnnotation(String, Visibility) - Method in class proguard.dexfile.reader.node.DexClassNode
+
 
+
visitAnnotation(String, Visibility) - Method in class proguard.dexfile.reader.node.DexFieldNode
+
 
+
visitAnnotation(String, Visibility) - Method in class proguard.dexfile.reader.node.DexMethodNode
+
 
+
visitAnnotation(String, Visibility) - Method in interface proguard.dexfile.reader.visitors.DexAnnotationAble
+
+
访问注解
+
+
visitAnnotation(String, Visibility) - Method in class proguard.dexfile.reader.visitors.DexClassVisitor
+
 
+
visitAnnotation(String, Visibility) - Method in class proguard.dexfile.reader.visitors.DexFieldVisitor
+
 
+
visitAnnotation(String, Visibility) - Method in class proguard.dexfile.reader.visitors.DexMethodVisitor
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AnnotationToAnnotatedClassVisitor
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AnnotationTypeFilter
+
 
+
visitAnnotation(Clazz, Annotation) - Method in interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
+
+
Visits any Annotation instance.
+
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.editor.AnnotationAdder
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataVersionFilter
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitAnnotation(Clazz, Field, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnnotation(Clazz, Field, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AnnotationTypeFilter
+
 
+
visitAnnotation(Clazz, Field, Annotation) - Method in interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
+
 
+
visitAnnotation(Clazz, Field, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
+
 
+
visitAnnotation(Clazz, Member, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AnnotationToAnnotatedMemberVisitor
+
 
+
visitAnnotation(Clazz, Member, Annotation) - Method in interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
+
 
+
visitAnnotation(Clazz, Method, int, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnnotation(Clazz, Method, int, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AnnotationTypeFilter
+
 
+
visitAnnotation(Clazz, Method, int, Annotation) - Method in interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
+
 
+
visitAnnotation(Clazz, Method, int, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
+
 
+
visitAnnotation(Clazz, Method, int, Annotation) - Method in class proguard.classfile.editor.AnnotationAdder
+
 
+
visitAnnotation(Clazz, Method, int, Annotation) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitAnnotation(Clazz, Method, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnnotation(Clazz, Method, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AnnotationTypeFilter
+
 
+
visitAnnotation(Clazz, Method, Annotation) - Method in interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
+
 
+
visitAnnotation(Clazz, Method, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
+
 
+
visitAnnotation(Clazz, Method, CodeAttribute, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnnotation(Clazz, Method, CodeAttribute, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AnnotationTypeFilter
+
 
+
visitAnnotation(Clazz, Method, CodeAttribute, Annotation) - Method in interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
+
 
+
visitAnnotation(Clazz, Method, CodeAttribute, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
+
 
+
visitAnnotationArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.AnnotationValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue) - Method in interface proguard.classfile.attribute.annotation.visitor.ElementValueVisitor
+
 
+
visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue) - Method in class proguard.classfile.editor.ElementValueAdder
+
 
+
visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitAnyAnnotation(Clazz, KotlinAnnotatable, KotlinAnnotation) - Method in class proguard.classfile.kotlin.visitor.AllKotlinAnnotationArgumentVisitor
+
 
+
visitAnyAnnotation(Clazz, KotlinAnnotatable, KotlinAnnotation) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinAnnotationFilter
+
 
+
visitAnyAnnotation(Clazz, KotlinAnnotatable, KotlinAnnotation) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor
+
 
+
visitAnyAnnotation(Clazz, KotlinAnnotatable, KotlinAnnotation) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAnyAnnotation(Clazz, KotlinAnnotatable, KotlinAnnotation) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitAnyAnnotation(Clazz, KotlinAnnotatable, KotlinAnnotation) - Method in class proguard.util.kotlin.asserter.constraint.KmAnnotationIntegrity
+
 
+
visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
+
Visits any AnnotationsAttribute instance.
+
+
visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitAnyArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.Value) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinAnnotationArgumentFilter
+
 
+
visitAnyArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.Value) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitAnyArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.Value) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitAnyArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.Value) - Method in class proguard.util.kotlin.asserter.constraint.KmAnnotationIntegrity
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.analysis.CallResolver
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.analysis.cpa.jvm.cfa.visitors.JvmIntraproceduralCfaFillerAllInstructionVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.analysis.DominatorCalculator
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.backport.LambdaExpressionCollector
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.module.visitor.AllExportsInfoVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.module.visitor.AllOpensInfoVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.module.visitor.AllProvidesInfoVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.module.visitor.AllRequiresInfoVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.visitor.AllAttributeVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.visitor.AllBootstrapMethodInfoVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.visitor.AllExceptionInfoVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.visitor.AllInnerClassesInfoVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.visitor.AllLineNumberInfoVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.visitor.AllRecordComponentInfoVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.visitor.AttributeConstantVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.visitor.AttributeCounter
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.visitor.AttributeProcessingFlagFilter
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.visitor.AttributeToClassVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
+
Visits any Attribute instance.
+
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.visitor.CodeAttributeToMethodVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.attribute.visitor.StackSizeComputer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.constant.visitor.BootstrapMethodHandleTraveler
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.AttributeSorter
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.BootstrapMethodsAttributeShrinker
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.BridgeMethodFixer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.CodeAttributeEditorResetter
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.InitializerEditor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.InterfaceDeleter
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.InterfaceSorter
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.LineNumberInfoAdder
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.LineNumberTableAttributeTrimmer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.MethodCopier
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.MethodInvocationFixer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.NameAndTypeShrinker
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.NamedAttributeDeleter
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.PeepholeEditor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.StackSizeUpdater
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.VariableCleaner
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.VariableEditor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.editor.VariableSizeUpdater
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.instruction.visitor.AllInstructionVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.io.ProgramClassWriter
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.util.ArrayInitializationReplacer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.util.BranchTargetFinder
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.util.DynamicClassReferenceInitializer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.util.DynamicMemberReferenceInitializer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.util.NestHostFinder
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.visitor.ConstructorMethodFilter
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.visitor.LineNumberFinder
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.classfile.visitor.SignatureAttributeReferencedClassVisitor
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.evaluation.InitializationFinder
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.evaluation.LivenessAnalyzer
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.evaluation.PartialEvaluator
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.preverify.CodePreverifier
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in class proguard.preverify.CodeSubroutineInliner
+
 
+
visitAnyAttribute(Clazz, Attribute) - Method in interface proguard.util.ProcessableVisitor
+
 
+
visitAnyCallableReferenceInfo(CallableReferenceInfo) - Method in class proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoToOwnerVisitor
+
 
+
visitAnyCallableReferenceInfo(CallableReferenceInfo) - Method in interface proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.analysis.CallResolver
+
 
+
visitAnyClass(Clazz) - Method in class proguard.backport.LambdaExpressionCollector
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.attribute.visitor.AllAttributeVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.constant.visitor.AllConstantVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.constant.visitor.SuperClassConstantVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.AccessFixer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.AttributeSorter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.BootstrapMethodsAttributeShrinker
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.ClassElementSorter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.ClassMemberSorter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.ConstantPoolSorter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.InnerClassesAccessFixer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.InterfaceDeleter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.InterfaceSorter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.MemberRemover
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.MethodCopier
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.NameAndTypeShrinker
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.NamedAttributeDeleter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.NestMemberAdder
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.PermittedSubclassAdder
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.SubclassAdder
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.SubclassRemover
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.SubclassToAdder
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.io.kotlin.KotlinMetadataWriter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.io.ProgramClassWriter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.kotlin.reflect.util.KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinClassFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataRemover
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataVersionFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.kotlin.visitor.ReferencedKotlinMetadataVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.util.ArrayInitializationReplacer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.util.ClassInitializer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.util.ClassRenamer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.util.ClassSubHierarchyInitializer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.util.ClassSuperHierarchyInitializer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.util.DynamicClassReferenceInitializer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.util.DynamicMemberReferenceInitializer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.util.MethodLinker
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.util.NestHostFinder
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.util.StringSharer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.AllFieldVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.AllMemberVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.AllMethodVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.BottomClassFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassAccessFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassCollector
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassConstantClassFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassCounter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassFeatureNameCollector
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassHierarchyTraveler
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassNameCollector
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassNameFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassPoolClassVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassPoolFiller
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassPoolRemover
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassPresenceFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassProcessingFlagFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassProcessingInfoFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassVersionFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ClassVersionSetter
+
 
+
visitAnyClass(Clazz) - Method in interface proguard.classfile.visitor.ClassVisitor
+
+
Visits any Clazz instance.
+
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ConcreteClassDownTraveler
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.CounterConditionalClassVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ExceptClassesFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ExceptClassFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.FunctionalInterfaceFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ImplementedClassFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.LibraryClassFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.MemberAccessFlagCleaner
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.MultiClassVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.NamedFieldVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.NamedMethodVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ProgramClassFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.SimpleClassPrinter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.SingleTimeClassVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.SubclassFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.SubclassTraveler
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.UniqueClassFilter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.classfile.visitor.VariableClassVisitor
+
 
+
visitAnyClass(Clazz) - Method in class proguard.examples.TransformExample.MyTransformer
+
 
+
visitAnyClass(Clazz) - Method in class proguard.io.D8ClassConverter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.io.DataEntryClassWriter
+
 
+
visitAnyClass(Clazz) - Method in class proguard.normalize.LargeStringSplitter
+
 
+
visitAnyClass(Clazz) - Method in interface proguard.util.ProcessableVisitor
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.backport.LambdaExpressionCollector
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.constant.visitor.BootstrapMethodHandleTraveler
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.constant.visitor.ConstantCounter
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.constant.visitor.ConstantTagFilter
+
 
+
visitAnyConstant(Clazz, Constant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
+
Visits any Constant instance.
+
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.constant.visitor.MethodrefTraveler
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.editor.BootstrapMethodRemapper
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.editor.InnerClassesAccessFixer
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.editor.MethodInvocationFixer
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.editor.NameAndTypeShrinker
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.editor.NestMemberAdder
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.editor.PermittedSubclassAdder
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.io.ProgramClassWriter
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.util.BranchTargetFinder
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.util.EnumFieldReferenceInitializer
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.util.StringReferenceInitializer
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.util.StringSharer
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.visitor.ClassConstantClassFilter
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.visitor.ConstantProcessingFlagFilter
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.visitor.DotClassClassVisitor
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.visitor.DynamicReturnedClassVisitor
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.visitor.MultiConstantVisitor
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.classfile.visitor.ReferencedMemberVisitor
+
 
+
visitAnyConstant(Clazz, Constant) - Method in class proguard.normalize.LargeStringSplitter
+
 
+
visitAnyConstant(Clazz, Constant) - Method in interface proguard.util.ProcessableVisitor
+
 
+
visitAnyContextReceiverType(Clazz, KotlinMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAnyContextReceiverType(Clazz, KotlinMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitAnyEffectExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitAnyEffectExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinEffectExprVisitor
+
 
+
visitAnyEffectExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAnyElementValue(Clazz, Annotation, ElementValue) - Method in interface proguard.classfile.attribute.annotation.visitor.ElementValueVisitor
+
+
Visits any ElementValue instance.
+
+
visitAnyElementValue(Clazz, Annotation, ElementValue) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataVersionFilter
+
 
+
visitAnyElementValue(Clazz, Annotation, ElementValue) - Method in class proguard.classfile.util.EnumFieldReferenceInitializer
+
 
+
visitAnyElementValue(Clazz, Annotation, ElementValue) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitAnyElementValue(Clazz, Annotation, ElementValue) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitAnyElementValue(Clazz, Annotation, ElementValue) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitAnyElementValue(Clazz, Annotation, ElementValue) - Method in class proguard.classfile.visitor.ReferencedMemberVisitor
+
 
+
visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeParameterVisitor
+
 
+
visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata) - Method in class proguard.classfile.kotlin.visitor.AllValueParameterVisitor
+
 
+
visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinFunctionFilter
+
 
+
visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinFunctionToDefaultMethodVisitor
+
 
+
visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinFunctionToMethodVisitor
+
 
+
visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinFunctionVisitor
+
 
+
visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata) - Method in class proguard.util.kotlin.asserter.constraint.FunctionIntegrity
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.analysis.CallResolver
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.attribute.visitor.InstructionToAttributeVisitor
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.editor.BootstrapMethodsAttributeShrinker
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.editor.BridgeMethodFixer
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.editor.InstructionAdder
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.editor.MethodInvocationFixer
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.editor.VariableSizeUpdater
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.instruction.visitor.InstructionConstantVisitor
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.instruction.visitor.InstructionCounter
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.instruction.visitor.InstructionOpCodeFilter
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in interface proguard.classfile.instruction.visitor.InstructionVisitor
+
+
Visits any Instruction instance.
+
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.util.ArrayInitializationReplacer
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.util.DynamicClassReferenceInitializer
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.util.DynamicMemberReferenceInitializer
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.util.EnumFieldReferenceInitializer
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.visitor.ConstructorMethodFilter
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.classfile.visitor.DotClassClassVisitor
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.evaluation.LivenessAnalyzer
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.normalize.LargeStringSplitter
+
 
+
visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction) - Method in class proguard.preverify.CodeSubroutineInliner
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.io.kotlin.KotlinMetadataWriter
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.reflect.util.KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.reflect.util.KotlinCallableReferenceInitializer
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.AllConstructorVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.AllFunctionVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.AllKotlinAnnotationVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.AllPropertyVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeAliasVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeParameterVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.AllValueParameterVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinClassKindFilter
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinDeclarationContainerFilter
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinMetadataFilter
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinMultiFilePartKindFilter
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinSyntheticClassKindFilter
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinClassToAnonymousObjectOriginClassVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinClassToDefaultImplsClassVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinClassToInlineOriginFunctionVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinClassVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinFileFacadeVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataToClazzVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinMetadataVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinMultiFileFacadeVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinMultiFilePartVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinSyntheticClassVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.kotlin.visitor.MultiKotlinMetadataVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.util.ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.util.StringSharer
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.resources.kotlinmodule.visitor.KotlinMetadataToModuleVisitor
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.util.kotlin.asserter.constraint.AbstractKotlinMetadataConstraint
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.util.kotlin.asserter.constraint.ConstructorIntegrity
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.util.kotlin.asserter.constraint.FunctionIntegrity
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.util.kotlin.asserter.constraint.KmAnnotationIntegrity
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.util.kotlin.asserter.constraint.PropertyIntegrity
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.util.kotlin.asserter.constraint.TypeIntegrity
+
 
+
visitAnyKotlinMetadata(Clazz, KotlinMetadata) - Method in class proguard.util.kotlin.asserter.constraint.ValueParameterIntegrity
+
 
+
visitAnyLiteralArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.LiteralValue<?>) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitAnyMember(Clazz, Member) - Method in class proguard.classfile.editor.MemberRemover
+
 
+
visitAnyMember(Clazz, Member) - Method in class proguard.classfile.editor.MethodCopier
+
 
+
visitAnyMember(Clazz, Member) - Method in class proguard.classfile.util.MemberFinder
+
 
+
visitAnyMember(Clazz, Member) - Method in class proguard.classfile.util.MethodLinker
+
 
+
visitAnyMember(Clazz, Member) - Method in class proguard.classfile.visitor.MemberAccessFilter
+
 
+
visitAnyMember(Clazz, Member) - Method in class proguard.classfile.visitor.MemberCollectionFilter
+
 
+
visitAnyMember(Clazz, Member) - Method in class proguard.classfile.visitor.MemberCollector
+
 
+
visitAnyMember(Clazz, Member) - Method in class proguard.classfile.visitor.MemberProcessingFlagFilter
+
 
+
visitAnyMember(Clazz, Member) - Method in interface proguard.classfile.visitor.MemberVisitor
+
+
Visits any Member instance.
+
+
visitAnyMember(Clazz, Member) - Method in class proguard.classfile.visitor.MethodCounter
+
 
+
visitAnyMember(Clazz, Member) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitAnyMember(Clazz, Member) - Method in class proguard.classfile.visitor.ReferencedClassesExtractor
+
 
+
visitAnyMember(Clazz, Member) - Method in class proguard.classfile.visitor.SignatureAdapter
+
 
+
visitAnyMember(Clazz, Member) - Method in class proguard.io.ClassMapDataEntryWriter
+
 
+
visitAnyMember(Clazz, Member) - Method in interface proguard.util.ProcessableVisitor
+
 
+
visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant) - Method in class proguard.backport.LambdaExpressionCollector
+
 
+
visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
+
Visits any RefConstant instance.
+
+
visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant) - Method in class proguard.classfile.editor.BridgeMethodFixer
+
 
+
visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant) - Method in class proguard.classfile.editor.MethodInvocationFixer
+
 
+
visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
 
+
visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
visitAnyMissingField(Clazz, Clazz, String, String) - Method in interface proguard.classfile.util.InvalidMemberReferenceVisitor
+
+
Visit a missing field reference.
+
+
visitAnyMissingMember(Clazz, Clazz, String, String) - Method in interface proguard.classfile.util.InvalidMemberReferenceVisitor
+
+
Visit a missing field or method reference.
+
+
visitAnyMissingMethod(Clazz, Clazz, String, String) - Method in interface proguard.classfile.util.InvalidMemberReferenceVisitor
+
+
Visit a missing method.
+
+
visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
+
Visits any ParameterAnnotationsAttribute instance.
+
+
visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitAnyPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant, Object) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantVisitor
+
+
Visits any Object instance.
+
+
visitAnyPrimitiveArrayConstantElement(Clazz, PrimitiveArrayConstant, int) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantElementVisitor
+
+
Visits any PrimitiveArrayConstant instance.
+
+
visitAnyProcessable(Processable) - Method in interface proguard.util.ProcessableVisitor
+
+
Visits any Processable instance.
+
+
visitAnyProcessable(Processable) - Method in class proguard.util.ProcessingFlagCleaner
+
 
+
visitAnyProcessable(Processable) - Method in class proguard.util.ProcessingFlagSetter
+
 
+
visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeParameterVisitor
+
 
+
visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata) - Method in class proguard.classfile.kotlin.visitor.AllValueParameterVisitor
+
 
+
visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinPropertyFilter
+
 
+
visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinPropertyVisitor
+
 
+
visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata) - Method in class proguard.util.kotlin.asserter.constraint.PropertyIntegrity
+
 
+
visitAnyRefConstant(Clazz, RefConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
+
Visits any RefConstant instance.
+
+
visitAnyRefConstant(Clazz, RefConstant) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitAnyRefConstant(Clazz, RefConstant) - Method in class proguard.classfile.editor.NameAndTypeShrinker
+
 
+
visitAnyRefConstant(Clazz, RefConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitAnyRefConstant(Clazz, RefConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitAnyRefConstant(Clazz, RefConstant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitAnyRefConstant(Clazz, RefConstant) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitAnyRefConstant(Clazz, RefConstant) - Method in class proguard.classfile.visitor.ReferencedMemberVisitor
+
 
+
visitAnyResourceFile(ResourceFile) - Method in class proguard.resources.file.visitor.MultiResourceFileVisitor
+
 
+
visitAnyResourceFile(ResourceFile) - Method in class proguard.resources.file.visitor.ResourceFileNameFilter
+
 
+
visitAnyResourceFile(ResourceFile) - Method in class proguard.resources.file.visitor.ResourceFilePoolFiller
+
 
+
visitAnyResourceFile(ResourceFile) - Method in class proguard.resources.file.visitor.ResourceFileProcessingFlagFilter
+
 
+
visitAnyResourceFile(ResourceFile) - Method in interface proguard.resources.file.visitor.ResourceFileVisitor
+
+
Visits any ResourceFile instance.
+
+
visitAnyResourceFile(ResourceFile) - Method in interface proguard.util.ProcessableVisitor
+
 
+
visitAnyStackMapFrame(Clazz, Method, CodeAttribute, int, StackMapFrame) - Method in interface proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor
+
+
Visits any StackMapFrame instance.
+
+
visitAnyStackMapFrame(Clazz, Method, CodeAttribute, int, StackMapFrame) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitAnyStackMapFrame(Clazz, Method, CodeAttribute, int, StackMapFrame) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitAnyStackMapFrame(Clazz, Method, CodeAttribute, int, StackMapFrame) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitAnyStackMapFrame(Clazz, Method, CodeAttribute, int, StackMapFrame) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitAnyStackMapFrame(Clazz, Method, CodeAttribute, int, StackMapFrame) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitAnySwitchInstruction(Clazz, Method, CodeAttribute, int, SwitchInstruction) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation.InstructionAbstractInterpreter
+
 
+
visitAnySwitchInstruction(Clazz, Method, CodeAttribute, int, SwitchInstruction) - Method in class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
 
+
visitAnySwitchInstruction(Clazz, Method, CodeAttribute, int, SwitchInstruction) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitAnySwitchInstruction(Clazz, Method, CodeAttribute, int, SwitchInstruction) - Method in class proguard.classfile.editor.InstructionWriter
+
 
+
visitAnySwitchInstruction(Clazz, Method, CodeAttribute, int, SwitchInstruction) - Method in interface proguard.classfile.instruction.visitor.InstructionVisitor
+
+
Visits any SwitchInstruction instance.
+
+
visitAnySwitchInstruction(Clazz, Method, CodeAttribute, int, SwitchInstruction) - Method in class proguard.classfile.util.BranchTargetFinder
+
 
+
visitAnyTargetInfo(Clazz, TypeAnnotation, TargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
+
Visits any TargetInfo instance.
+
+
visitAnyTargetInfo(Clazz, TypeAnnotation, TargetInfo) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitAnyTargetInfo(Clazz, TypeAnnotation, TargetInfo) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitAnyTargetInfo(Clazz, TypeAnnotation, TargetInfo) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitAnyType(Clazz, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllKotlinAnnotationVisitor
+
 
+
visitAnyType(Clazz, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitAnyType(Clazz, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitAnyType(Clazz, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAnyType(Clazz, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitAnyType(Clazz, KotlinTypeMetadata) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitAnyType(Clazz, KotlinTypeMetadata) - Method in class proguard.util.kotlin.asserter.constraint.KmAnnotationIntegrity
+
 
+
visitAnyType(Clazz, KotlinTypeMetadata) - Method in class proguard.util.kotlin.asserter.constraint.TypeIntegrity
+
 
+
visitAnyTypeAnnotationsAttribute(Clazz, TypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
+
Visits any TypeAnnotationsAttribute instance.
+
+
visitAnyTypeAnnotationsAttribute(Clazz, TypeAnnotationsAttribute) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitAnyTypeAnnotationsAttribute(Clazz, TypeAnnotationsAttribute) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitAnyTypeAnnotationsAttribute(Clazz, TypeAnnotationsAttribute) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitAnyTypeAnnotationsAttribute(Clazz, TypeAnnotationsAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitAnyTypeAnnotationsAttribute(Clazz, TypeAnnotationsAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.AllKotlinAnnotationVisitor
+
 
+
visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeParameterFilter
+
 
+
visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor
+
 
+
visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.MultiKotlinTypeParameterVisitor
+
 
+
visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata) - Method in class proguard.util.kotlin.asserter.constraint.KmAnnotationIntegrity
+
 
+
visitAnyValueParameter(Clazz, KotlinValueParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitAnyValueParameter(Clazz, KotlinValueParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinValueParameterFilter
+
 
+
visitAnyValueParameter(Clazz, KotlinValueParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAnyValueParameter(Clazz, KotlinValueParameterMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor
+
 
+
visitAnyValueParameter(Clazz, KotlinValueParameterMetadata) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitAnyValueParameter(Clazz, KotlinValueParameterMetadata) - Method in class proguard.util.kotlin.asserter.constraint.ValueParameterIntegrity
+
 
+
visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
+
Visits any VerificationType instance.
+
+
visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitAnyVersionRequirement(Clazz, KotlinVersionRequirementMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitAnyVersionRequirement(Clazz, KotlinVersionRequirementMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor
+
 
+
visitArray(String) - Method in class proguard.dexfile.reader.node.DexAnnotationNode
+
 
+
visitArray(String) - Method in class proguard.dexfile.reader.visitors.DexAnnotationVisitor
+
 
+
visitArrayArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ArrayValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitArrayArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ArrayValue) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in interface proguard.classfile.attribute.annotation.visitor.ElementValueVisitor
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.editor.ElementValueAdder
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.io.kotlin.KotlinMetadataWriter
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataVersionFilter
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitArrayElementValue(Clazz, Annotation, ArrayElementValue) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitBooleanArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.BooleanValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitBooleanArrayConstant(Clazz, PrimitiveArrayConstant, boolean[]) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantVisitor
+
 
+
visitBooleanArrayConstantElement(Clazz, PrimitiveArrayConstant, int, boolean) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantElementVisitor
+
 
+
visitBooleanArrayConstantElement(Clazz, PrimitiveArrayConstant, int, boolean) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo) - Method in class proguard.backport.LambdaExpressionCollector
+
 
+
visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo) - Method in interface proguard.classfile.attribute.visitor.BootstrapMethodInfoVisitor
+
 
+
visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo) - Method in class proguard.classfile.constant.visitor.AllBootstrapMethodArgumentVisitor
+
 
+
visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo) - Method in class proguard.classfile.constant.visitor.BootstrapMethodHandleTraveler
+
 
+
visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo) - Method in class proguard.classfile.editor.BootstrapMethodInfoAdder
+
 
+
visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo) - Method in class proguard.classfile.editor.BootstrapMethodsAttributeAdder
+
 
+
visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo) - Method in class proguard.classfile.editor.BootstrapMethodsAttributeShrinker
+
 
+
visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.backport.LambdaExpressionCollector
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.attribute.visitor.AllBootstrapMethodInfoVisitor
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.constant.visitor.BootstrapMethodHandleTraveler
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.editor.BootstrapMethodsAttributeShrinker
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation.InstructionAbstractInterpreter
+
 
+
visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction) - Method in class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
 
+
visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction) - Method in class proguard.classfile.editor.InstructionWriter
+
 
+
visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction) - Method in interface proguard.classfile.instruction.visitor.InstructionVisitor
+
 
+
visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction) - Method in class proguard.classfile.instruction.visitor.MultiInstructionVisitor
+
 
+
visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction) - Method in class proguard.classfile.util.BranchTargetFinder
+
 
+
visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction) - Method in class proguard.evaluation.Processor
+
 
+
visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction) - Method in class proguard.preverify.CodeSubroutineInliner
+
 
+
visitByteArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ByteValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitByteArrayConstant(Clazz, PrimitiveArrayConstant, byte[]) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantVisitor
+
 
+
visitByteArrayConstantElement(Clazz, PrimitiveArrayConstant, int, byte) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantElementVisitor
+
 
+
visitByteArrayConstantElement(Clazz, PrimitiveArrayConstant, int, byte) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitCatchTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, CatchTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitCatchTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, CatchTargetInfo) - Method in class proguard.classfile.editor.TargetInfoCopier
+
 
+
visitCatchTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, CatchTargetInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitCatchTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, CatchTargetInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitCharArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.CharValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitCharArrayConstant(Clazz, PrimitiveArrayConstant, char[]) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantVisitor
+
 
+
visitCharArrayConstantElement(Clazz, PrimitiveArrayConstant, int, char) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantElementVisitor
+
 
+
visitCharArrayConstantElement(Clazz, PrimitiveArrayConstant, int, char) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitClassArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ClassValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitClassArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ClassValue) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitClassArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ClassValue) - Method in class proguard.util.kotlin.asserter.constraint.KmAnnotationIntegrity
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.analysis.cpa.jvm.util.ConstantLookupVisitor
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.constant.visitor.ExceptClassConstantFilter
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.editor.ExceptionAdder
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.editor.InnerClassesAccessFixer
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.editor.InterfaceAdder
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.editor.MethodInvocationFixer
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.editor.NestMemberAdder
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.editor.PermittedSubclassAdder
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.util.ClassRenamer
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.util.ClassSuperHierarchyInitializer
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.util.DynamicClassReferenceInitializer
+
+
Prints out a note about the class cast to this class, if applicable.
+
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.util.DynamicMemberReferenceInitializer
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.visitor.ClassConstantClassFilter
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.visitor.DotClassClassVisitor
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.visitor.ImplementedClassConstantFilter
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.visitor.ImplementingClassConstantFilter
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.evaluation.ClassConstantValueFactory
+
 
+
visitClassConstant(Clazz, ClassConstant) - Method in class proguard.evaluation.ConstantValueFactory
+
 
+
visitClassContextReceiverType(Clazz, KotlinMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitClassContextReceiverType(Clazz, KotlinMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitClassContextReceiverType(Clazz, KotlinMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitClassElementValue(Clazz, Annotation, ClassElementValue) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitClassElementValue(Clazz, Annotation, ClassElementValue) - Method in interface proguard.classfile.attribute.annotation.visitor.ElementValueVisitor
+
 
+
visitClassElementValue(Clazz, Annotation, ClassElementValue) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitClassElementValue(Clazz, Annotation, ClassElementValue) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitClassElementValue(Clazz, Annotation, ClassElementValue) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitClassElementValue(Clazz, Annotation, ClassElementValue) - Method in class proguard.classfile.editor.ElementValueAdder
+
 
+
visitClassElementValue(Clazz, Annotation, ClassElementValue) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitClassElementValue(Clazz, Annotation, ClassElementValue) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitClassElementValue(Clazz, Annotation, ClassElementValue) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitClassElementValue(Clazz, Annotation, ClassElementValue) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitClassElementValue(Clazz, Annotation, ClassElementValue) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitClassElementValue(Clazz, Annotation, ClassElementValue) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitClassPool(ClassPool) - Method in class proguard.classfile.util.ClassSubHierarchyInitializer
+
 
+
visitClassPool(ClassPool) - Method in class proguard.classfile.visitor.AllClassVisitor
+
 
+
visitClassPool(ClassPool) - Method in class proguard.classfile.visitor.ClassPoolClassVisitor
+
 
+
visitClassPool(ClassPool) - Method in interface proguard.classfile.visitor.ClassPoolVisitor
+
 
+
visitClassPool(ClassPool) - Method in class proguard.classfile.visitor.FilteredClassVisitor
+
 
+
visitClassPool(ClassPool) - Method in class proguard.classfile.visitor.MultiClassPoolVisitor
+
 
+
visitClassPool(ClassPool) - Method in class proguard.classfile.visitor.NamedClassVisitor
+
 
+
visitClassPool(ClassPool) - Method in class proguard.classfile.visitor.ParallelAllClassVisitor
+
 
+
visitClassTypeParameter(Clazz, KotlinClassKindMetadata, KotlinTypeParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeParameterFilter
+
 
+
visitClassTypeParameter(Clazz, KotlinClassKindMetadata, KotlinTypeParameterMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor
+
 
+
visitClassTypeParameter(Clazz, KotlinClassKindMetadata, KotlinTypeParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.MultiKotlinTypeParameterVisitor
+
 
+
visitClassVersionRequirement(Clazz, KotlinMetadata, KotlinVersionRequirementMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor
+
 
+
visitCode() - Method in class proguard.dexfile.reader.node.DexMethodNode
+
 
+
visitCode() - Method in class proguard.dexfile.reader.visitors.DexMethodVisitor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.analysis.CallResolver
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.analysis.cpa.jvm.cfa.visitors.JvmIntraproceduralCfaFillerAllInstructionVisitor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.analysis.DominatorCalculator
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.attribute.visitor.AllAttributeVisitor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.attribute.visitor.AllExceptionInfoVisitor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeProcessingFlagFilter
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.attribute.visitor.CodeAttributeToMethodVisitor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.attribute.visitor.StackSizeComputer
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.AttributeSorter
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.BootstrapMethodsAttributeShrinker
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.BridgeMethodFixer
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Sets the code that has been built in the given code attribute.
+
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.CodeAttributeEditorResetter
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Sets the code that has been built in the given code attribute.
+
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.InitializerEditor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.InstructionWriter
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.MethodCopier
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.MethodInvocationFixer
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.NamedAttributeDeleter
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.PeepholeEditor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.StackSizeUpdater
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.VariableCleaner
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.VariableEditor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.VariableSizeUpdater
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.instruction.visitor.AllInstructionVisitor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.util.ArrayInitializationReplacer
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.util.BranchTargetFinder
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.util.DynamicClassReferenceInitializer
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.util.DynamicMemberReferenceInitializer
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.visitor.ConstructorMethodFilter
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.visitor.LineNumberFinder
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.evaluation.InitializationFinder
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.evaluation.LivenessAnalyzer
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.evaluation.PartialEvaluator
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.preverify.CodePreverifier
+
 
+
visitCodeAttribute(Clazz, Method, CodeAttribute) - Method in class proguard.preverify.CodeSubroutineInliner
+
 
+
visitCodeAttribute0(Clazz, Method, CodeAttribute) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitCodeAttribute0(Clazz, Method, CodeAttribute) - Method in class proguard.evaluation.PartialEvaluator
+
 
+
visitCodeAttribute0(Clazz, Method, CodeAttribute) - Method in class proguard.preverify.CodePreverifier
+
 
+
visitCodeAttribute0(Clazz, Method, CodeAttribute) - Method in class proguard.preverify.CodeSubroutineInliner
+
 
+
visitConclusionExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinEffectExprVisitor
+
 
+
visitConstantElementValue(Clazz, Annotation, ConstantElementValue) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitConstantElementValue(Clazz, Annotation, ConstantElementValue) - Method in interface proguard.classfile.attribute.annotation.visitor.ElementValueVisitor
+
 
+
visitConstantElementValue(Clazz, Annotation, ConstantElementValue) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitConstantElementValue(Clazz, Annotation, ConstantElementValue) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitConstantElementValue(Clazz, Annotation, ConstantElementValue) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitConstantElementValue(Clazz, Annotation, ConstantElementValue) - Method in class proguard.classfile.editor.ElementValueAdder
+
 
+
visitConstantElementValue(Clazz, Annotation, ConstantElementValue) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitConstantElementValue(Clazz, Annotation, ConstantElementValue) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitConstantElementValue(Clazz, Annotation, ConstantElementValue) - Method in class proguard.classfile.io.kotlin.KotlinMetadataWriter
+
 
+
visitConstantElementValue(Clazz, Annotation, ConstantElementValue) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitConstantElementValue(Clazz, Annotation, ConstantElementValue) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitConstantElementValue(Clazz, Annotation, ConstantElementValue) - Method in class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
visitConstantElementValue(Clazz, Annotation, ConstantElementValue) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.analysis.CallResolver
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTransferRelation.InstructionAbstractInterpreter
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation.InstructionAbstractInterpreter
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.editor.BootstrapMethodsAttributeShrinker
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.editor.BridgeMethodFixer
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.editor.InstructionAdder
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.editor.InstructionWriter
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.editor.MethodInvocationFixer
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.instruction.visitor.InstructionConstantVisitor
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in interface proguard.classfile.instruction.visitor.InstructionVisitor
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.instruction.visitor.MultiInstructionVisitor
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.util.BranchTargetFinder
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.util.EnumFieldReferenceInitializer
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.classfile.visitor.DotClassClassVisitor
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.evaluation.LivenessAnalyzer
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.evaluation.Processor
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction) - Method in class proguard.normalize.LargeStringSplitter
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeConstantVisitor
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitConstructor(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitConstructor(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata) - Method in class proguard.classfile.kotlin.visitor.AllValueParameterVisitor
+
 
+
visitConstructor(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinConstructorFilter
+
 
+
visitConstructor(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinConstructorVisitor
+
 
+
visitConstructor(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitConstructor(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata) - Method in class proguard.util.kotlin.asserter.constraint.ConstructorIntegrity
+
 
+
visitConstructorArgExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinEffectExprVisitor
+
 
+
visitConstructorValParameter(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitConstructorValParameter(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinValueParameterFilter
+
 
+
visitConstructorValParameter(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitConstructorValParameter(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor
+
 
+
visitConstructorValParameter(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitConstructorValParameter(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata) - Method in class proguard.util.kotlin.asserter.constraint.ValueParameterIntegrity
+
 
+
visitConstructorValParamType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitConstructorValParamType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitConstructorValParamType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitConstructorValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitConstructorValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitConstructorValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitConstructorValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitConstructorVersionRequirement(Clazz, KotlinMetadata, KotlinConstructorMetadata, KotlinVersionRequirementMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor
+
 
+
visitConstStmt(Op, int, Object) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitConstStmt(Op, int, Object) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+
+ CONST * CONST_WIDE * CONST_STRING * CONST_CLASS *
+
+
visitContract(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitContract(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinContractVisitor
+
 
+
visitContract(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitDebug() - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitDebug() - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
 
+
visitDelegatedProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitDelegatedProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinPropertyVisitor
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Member, DeprecatedAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitDexFileVersion(int) - Method in class proguard.dexfile.reader.node.DexFileNode
+
 
+
visitDexFileVersion(int) - Method in class proguard.dexfile.reader.visitors.DexFileVisitor
+
 
+
visitDoubleArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.DoubleValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitDoubleArrayConstant(Clazz, PrimitiveArrayConstant, double[]) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantVisitor
+
 
+
visitDoubleArrayConstantElement(Clazz, PrimitiveArrayConstant, int, double) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantElementVisitor
+
 
+
visitDoubleArrayConstantElement(Clazz, PrimitiveArrayConstant, int, double) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitDoubleConstant(Clazz, DoubleConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitDoubleConstant(Clazz, DoubleConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitDoubleConstant(Clazz, DoubleConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitDoubleConstant(Clazz, DoubleConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitDoubleConstant(Clazz, DoubleConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitDoubleConstant(Clazz, DoubleConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitDoubleConstant(Clazz, DoubleConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitDoubleConstant(Clazz, DoubleConstant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitDoubleConstant(Clazz, DoubleConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitDoubleConstant(Clazz, DoubleConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitDoubleConstant(Clazz, DoubleConstant) - Method in class proguard.evaluation.ConstantValueFactory
+
 
+
visitDoubleType(Clazz, Method, CodeAttribute, int, DoubleType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitDoubleType(Clazz, Method, CodeAttribute, int, DoubleType) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.constant.visitor.BootstrapMethodHandleTraveler
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.editor.BootstrapMethodRemapper
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.classfile.visitor.DynamicReturnedClassVisitor
+
 
+
visitDynamicConstant(Clazz, DynamicConstant) - Method in class proguard.evaluation.ConstantValueFactory
+
 
+
visited - Variable in class proguard.dexfile.ir.stmt.Stmt
+
+
Used in visit the method CFG
+
+
visitEffect(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata, KotlinEffectMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitEffect(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata, KotlinEffectMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinEffectVisitor
+
 
+
visitEffect(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata, KotlinEffectMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitEmptyTargetInfo(Clazz, Field, TypeAnnotation, EmptyTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitEmptyTargetInfo(Clazz, Member, TypeAnnotation, EmptyTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitEmptyTargetInfo(Clazz, Member, TypeAnnotation, EmptyTargetInfo) - Method in class proguard.classfile.editor.TargetInfoCopier
+
 
+
visitEmptyTargetInfo(Clazz, Member, TypeAnnotation, EmptyTargetInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitEmptyTargetInfo(Clazz, Member, TypeAnnotation, EmptyTargetInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitEmptyTargetInfo(Clazz, Method, TypeAnnotation, EmptyTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.editor.NameAndTypeShrinker
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitEnd() - Method in class proguard.dexfile.reader.visitors.DexAnnotationVisitor
+
+
Visits the end of the annotation.
+
+
visitEnd() - Method in class proguard.dexfile.reader.visitors.DexClassVisitor
+
 
+
visitEnd() - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
 
+
visitEnd() - Method in class proguard.dexfile.reader.visitors.DexDebugVisitor
+
 
+
visitEnd() - Method in class proguard.dexfile.reader.visitors.DexFieldVisitor
+
 
+
visitEnd() - Method in class proguard.dexfile.reader.visitors.DexFileVisitor
+
 
+
visitEnd() - Method in class proguard.dexfile.reader.visitors.DexMethodVisitor
+
 
+
visitEndLocal(int, DexLabel) - Method in class proguard.dexfile.reader.node.DexDebugNode
+
 
+
visitEndLocal(int, DexLabel) - Method in class proguard.dexfile.reader.visitors.DexDebugVisitor
+
 
+
visitEnum(String, String, String) - Method in class proguard.dexfile.reader.node.DexAnnotationNode
+
 
+
visitEnum(String, String, String) - Method in class proguard.dexfile.reader.visitors.DexAnnotationVisitor
+
+
Visits an enumeration value of the annotation.
+
+
visitEnumArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.EnumValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitEnumArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.EnumValue) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitEnumArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.EnumValue) - Method in class proguard.util.kotlin.asserter.constraint.KmAnnotationIntegrity
+
 
+
visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue) - Method in interface proguard.classfile.attribute.annotation.visitor.ElementValueVisitor
+
 
+
visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue) - Method in class proguard.classfile.editor.ElementValueAdder
+
 
+
visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue) - Method in class proguard.classfile.util.EnumFieldReferenceInitializer
+
 
+
visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitEpiogue(DexLabel) - Method in class proguard.dexfile.reader.node.DexDebugNode
+
 
+
visitEpiogue(DexLabel) - Method in class proguard.dexfile.reader.visitors.DexDebugVisitor
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in interface proguard.classfile.attribute.visitor.ExceptionInfoVisitor
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.editor.ExceptionInfoAdder
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.util.BranchTargetFinder
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.visitor.ExceptionCounter
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.visitor.ExceptionExcludedOffsetFilter
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.visitor.ExceptionHandlerConstantVisitor
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.visitor.ExceptionHandlerFilter
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.visitor.ExceptionOffsetFilter
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.visitor.ExceptionRangeFilter
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.evaluation.LivenessAnalyzer
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.evaluation.PartialEvaluator
+
 
+
visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo) - Method in class proguard.preverify.CodeSubroutineInliner
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitExportsInfo(Clazz, ExportsInfo) - Method in interface proguard.classfile.attribute.module.visitor.ExportsInfoVisitor
+
 
+
visitExportsInfo(Clazz, ExportsInfo) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitExportsInfo(Clazz, ExportsInfo) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitExportsInfo(Clazz, ExportsInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitExportsInfo(Clazz, ExportsInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitField(int, Field, Object) - Method in class proguard.dexfile.reader.node.DexClassNode
+
 
+
visitField(int, Field, Object) - Method in class proguard.dexfile.reader.visitors.DexClassVisitor
+
 
+
visitFieldrefConstant(Clazz, FieldrefConstant) - Method in class proguard.analysis.cpa.jvm.util.ConstantLookupVisitor
+
 
+
visitFieldrefConstant(Clazz, FieldrefConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitFieldrefConstant(Clazz, FieldrefConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitFieldrefConstant(Clazz, FieldrefConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitFieldrefConstant(Clazz, FieldrefConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitFieldrefConstant(Clazz, FieldrefConstant) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitFieldrefConstant(Clazz, FieldrefConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitFieldrefConstant(Clazz, FieldrefConstant) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitFieldrefConstant(Clazz, FieldrefConstant) - Method in class proguard.classfile.util.EnumFieldReferenceInitializer
+
 
+
visitFieldrefConstant(Clazz, FieldrefConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitFieldrefConstant(Clazz, FieldrefConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitFieldrefConstant(Clazz, FieldrefConstant) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
visitFieldStmt(Op, int, int, Field) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitFieldStmt(Op, int, int, Field) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+
+ OP_IGETX a,b field + OP_IPUTX a,b field + OP_SGETX a field + OP_SPUTX a field
+
+
visitFillArrayDataStmt(Op, int, Object) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitFillArrayDataStmt(Op, int, Object) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
 
+
visitFilledNewArrayStmt(Op, int[], String) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitFilledNewArrayStmt(Op, int[], String) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+
+ OP_FILLED_NEW_ARRAY
+
+
visitFloatArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.FloatValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitFloatArrayConstant(Clazz, PrimitiveArrayConstant, float[]) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantVisitor
+
 
+
visitFloatArrayConstantElement(Clazz, PrimitiveArrayConstant, int, float) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantElementVisitor
+
 
+
visitFloatArrayConstantElement(Clazz, PrimitiveArrayConstant, int, float) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitFloatConstant(Clazz, FloatConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitFloatConstant(Clazz, FloatConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitFloatConstant(Clazz, FloatConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitFloatConstant(Clazz, FloatConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitFloatConstant(Clazz, FloatConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitFloatConstant(Clazz, FloatConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitFloatConstant(Clazz, FloatConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitFloatConstant(Clazz, FloatConstant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitFloatConstant(Clazz, FloatConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitFloatConstant(Clazz, FloatConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitFloatConstant(Clazz, FloatConstant) - Method in class proguard.evaluation.ConstantValueFactory
+
 
+
visitFloatType(Clazz, Method, CodeAttribute, int, FloatType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitFloatType(Clazz, Method, CodeAttribute, int, FloatType) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitFormalParameterTargetInfo(Clazz, Method, TypeAnnotation, FormalParameterTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitFormalParameterTargetInfo(Clazz, Method, TypeAnnotation, FormalParameterTargetInfo) - Method in class proguard.classfile.editor.TargetInfoCopier
+
 
+
visitFormalParameterTargetInfo(Clazz, Method, TypeAnnotation, FormalParameterTargetInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitFormalParameterTargetInfo(Clazz, Method, TypeAnnotation, FormalParameterTargetInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame) - Method in interface proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor
+
 
+
visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitFunction(Clazz, KotlinDeclarationContainerMetadata, KotlinFunctionMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinFunctionFilter
+
 
+
visitFunction(Clazz, KotlinDeclarationContainerMetadata, KotlinFunctionMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinFunctionVisitor
+
 
+
visitFunction(Clazz, KotlinDeclarationContainerMetadata, KotlinFunctionMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitFunctionContextReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitFunctionContextReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitFunctionContextReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitFunctionReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitFunctionReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitFunctionReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitFunctionReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitFunctionReferenceInfo(FunctionReferenceInfo) - Method in interface proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoVisitor
+
 
+
visitFunctionReturnType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitFunctionReturnType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitFunctionReturnType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitFunctionReturnType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitFunctionTypeParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeParameterFilter
+
 
+
visitFunctionTypeParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeParameterMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor
+
 
+
visitFunctionTypeParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.MultiKotlinTypeParameterVisitor
+
 
+
visitFunctionValParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitFunctionValParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinValueParameterFilter
+
 
+
visitFunctionValParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitFunctionValParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor
+
 
+
visitFunctionValParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitFunctionValParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata) - Method in class proguard.util.kotlin.asserter.constraint.ValueParameterIntegrity
+
 
+
visitFunctionValParamType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitFunctionValParamType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitFunctionValParamType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitFunctionValParamVarArgType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitFunctionValParamVarArgType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitFunctionValParamVarArgType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitFunctionValParamVarArgType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitFunctionVersionRequirement(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinVersionRequirementMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor
+
 
+
visitInlineClassUnderlyingPropertyType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitInlineClassUnderlyingPropertyType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitInlineClassUnderlyingPropertyType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.attribute.visitor.AllInnerClassesInfoVisitor
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitInnerClassesAttribute(Clazz, InnerClassesAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitInnerClassesInfo(Clazz, InnerClassesInfo) - Method in interface proguard.classfile.attribute.visitor.InnerClassesInfoVisitor
+
 
+
visitInnerClassesInfo(Clazz, InnerClassesInfo) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitInnerClassesInfo(Clazz, InnerClassesInfo) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitInnerClassesInfo(Clazz, InnerClassesInfo) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitInnerClassesInfo(Clazz, InnerClassesInfo) - Method in class proguard.classfile.editor.InnerClassesAccessFixer
+
 
+
visitInnerClassesInfo(Clazz, InnerClassesInfo) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitInnerClassesInfo(Clazz, InnerClassesInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitInnerClassesInfo(Clazz, InnerClassesInfo) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitInnerClassesInfo(Clazz, InnerClassesInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitInnerClassesInfo(Clazz, InnerClassesInfo) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitIntArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.IntValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitIntArrayConstant(Clazz, PrimitiveArrayConstant, int[]) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantVisitor
+
 
+
visitIntArrayConstantElement(Clazz, PrimitiveArrayConstant, int, int) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantElementVisitor
+
 
+
visitIntArrayConstantElement(Clazz, PrimitiveArrayConstant, int, int) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitIntegerConstant(Clazz, IntegerConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitIntegerConstant(Clazz, IntegerConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitIntegerConstant(Clazz, IntegerConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitIntegerConstant(Clazz, IntegerConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitIntegerConstant(Clazz, IntegerConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitIntegerConstant(Clazz, IntegerConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitIntegerConstant(Clazz, IntegerConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitIntegerConstant(Clazz, IntegerConstant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitIntegerConstant(Clazz, IntegerConstant) - Method in class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
visitIntegerConstant(Clazz, IntegerConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitIntegerConstant(Clazz, IntegerConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitIntegerConstant(Clazz, IntegerConstant) - Method in class proguard.evaluation.ConstantValueFactory
+
 
+
visitIntegerType(Clazz, Method, CodeAttribute, int, IntegerType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitIntegerType(Clazz, Method, CodeAttribute, int, IntegerType) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.backport.LambdaExpressionCollector
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.constant.visitor.BootstrapMethodHandleTraveler
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.editor.BootstrapMethodRemapper
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.editor.NameAndTypeShrinker
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.visitor.DynamicReturnedClassVisitor
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
visitJavaReferenceInfo(JavaReferenceInfo) - Method in interface proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoVisitor
+
 
+
visitJumpStmt(Op, int, int, DexLabel) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitJumpStmt(Op, int, int, DexLabel) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+
+ OP_IF_EQ + OP_IF_NE + OP_IF_LT + OP_IF_GE + OP_IF_GT + OP_IF_LE + OP_GOTO + OP_IF_EQZ + OP_IF_NEZ + OP_IF_LTZ + OP_IF_GEZ + OP_IF_GTZ + OP_IF_LEZ
+
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.AllConstructorVisitor
+
 
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeParameterVisitor
+
 
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.AllValueParameterVisitor
+
 
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinClassKindFilter
+
 
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinClassToAnonymousObjectOriginClassVisitor
+
 
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinClassToDefaultImplsClassVisitor
+
 
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinClassVisitor
+
 
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinMetadataVisitor
+
 
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in class proguard.classfile.util.ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer
+
 
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in class proguard.classfile.util.StringSharer
+
 
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata) - Method in class proguard.util.kotlin.asserter.constraint.ClassIntegrity
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.kotlin.reflect.util.KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.kotlin.visitor.AllFunctionVisitor
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.kotlin.visitor.AllKotlinAnnotationVisitor
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.kotlin.visitor.AllPropertyVisitor
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeAliasVisitor
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeParameterVisitor
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.kotlin.visitor.AllValueParameterVisitor
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinDeclarationContainerFilter
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinClassToInlineOriginFunctionVisitor
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataToClazzVisitor
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinMetadataVisitor
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.util.ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.resources.kotlinmodule.visitor.KotlinMetadataToModuleVisitor
+
 
+
visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata) - Method in class proguard.util.kotlin.asserter.constraint.DeclarationContainerIntegrity
+
 
+
visitKotlinFileFacadeMetadata(Clazz, KotlinFileFacadeKindMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinFileFacadeVisitor
+
 
+
visitKotlinFileFacadeMetadata(Clazz, KotlinFileFacadeKindMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitKotlinFileFacadeMetadata(Clazz, KotlinFileFacadeKindMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinMetadataVisitor
+
 
+
visitKotlinFileFacadeMetadata(Clazz, KotlinFileFacadeKindMetadata) - Method in class proguard.util.kotlin.asserter.constraint.FileFacadeIntegrity
+
 
+
visitKotlinModule(KotlinModule) - Method in class proguard.resources.file.visitor.ResourceFilePresenceFilter
+
 
+
visitKotlinModule(KotlinModule) - Method in interface proguard.resources.file.visitor.ResourceFileVisitor
+
 
+
visitKotlinModule(KotlinModule) - Method in class proguard.resources.file.visitor.ResourceJavaReferenceClassInitializer
+
 
+
visitKotlinModule(KotlinModule) - Method in class proguard.resources.kotlinmodule.io.KotlinModuleReader
+
 
+
visitKotlinModule(KotlinModule) - Method in class proguard.resources.kotlinmodule.io.KotlinModuleWriter
+
 
+
visitKotlinModule(KotlinModule) - Method in class proguard.resources.kotlinmodule.util.KotlinModuleReferenceInitializer
+
 
+
visitKotlinModule(KotlinModule) - Method in class proguard.resources.kotlinmodule.visitor.KotlinModulePrinter
+
 
+
visitKotlinModule(KotlinModule) - Method in interface proguard.resources.kotlinmodule.visitor.KotlinModuleVisitor
+
 
+
visitKotlinModule(KotlinModule) - Method in class proguard.util.kotlin.asserter.constraint.KotlinModuleIntegrity
+
 
+
visitKotlinModulePackage(KotlinModule, KotlinModulePackage) - Method in class proguard.resources.kotlinmodule.util.KotlinModuleReferenceInitializer
+
 
+
visitKotlinModulePackage(KotlinModule, KotlinModulePackage) - Method in interface proguard.resources.kotlinmodule.visitor.KotlinModulePackageVisitor
+
 
+
visitKotlinModulePackage(KotlinModule, KotlinModulePackage) - Method in class proguard.resources.kotlinmodule.visitor.KotlinModulePrinter
+
 
+
visitKotlinMultiFileFacadeMetadata(Clazz, KotlinMultiFileFacadeKindMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitKotlinMultiFileFacadeMetadata(Clazz, KotlinMultiFileFacadeKindMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinMetadataVisitor
+
 
+
visitKotlinMultiFileFacadeMetadata(Clazz, KotlinMultiFileFacadeKindMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinMultiFileFacadeVisitor
+
 
+
visitKotlinMultiFileFacadeMetadata(Clazz, KotlinMultiFileFacadeKindMetadata) - Method in class proguard.util.kotlin.asserter.constraint.MultiFileFacadeIntegrity
+
 
+
visitKotlinMultiFilePartMetadata(Clazz, KotlinMultiFilePartKindMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinMultiFilePartKindFilter
+
 
+
visitKotlinMultiFilePartMetadata(Clazz, KotlinMultiFilePartKindMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitKotlinMultiFilePartMetadata(Clazz, KotlinMultiFilePartKindMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinMetadataVisitor
+
 
+
visitKotlinMultiFilePartMetadata(Clazz, KotlinMultiFilePartKindMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinMultiFilePartVisitor
+
 
+
visitKotlinMultiFilePartMetadata(Clazz, KotlinMultiFilePartKindMetadata) - Method in class proguard.util.kotlin.asserter.constraint.MultiFilePartIntegrity
+
 
+
visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata) - Method in class proguard.classfile.kotlin.reflect.util.KotlinCallableReferenceInitializer
+
 
+
visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.AllFunctionVisitor
+
 
+
visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeParameterVisitor
+
 
+
visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.AllValueParameterVisitor
+
 
+
visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinSyntheticClassKindFilter
+
 
+
visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataToClazzVisitor
+
 
+
visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinMetadataVisitor
+
 
+
visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinSyntheticClassVisitor
+
 
+
visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata) - Method in class proguard.util.kotlin.asserter.constraint.SyntheticClassIntegrity
+
 
+
visitLabel(DexLabel) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitLabel(DexLabel) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
 
+
visitLessZeroFrame(Clazz, Method, CodeAttribute, int, LessZeroFrame) - Method in interface proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor
+
 
+
visitLessZeroFrame(Clazz, Method, CodeAttribute, int, LessZeroFrame) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitLessZeroFrame(Clazz, Method, CodeAttribute, int, LessZeroFrame) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitLessZeroFrame(Clazz, Method, CodeAttribute, int, LessZeroFrame) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataRemover
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.kotlin.visitor.ReferencedKotlinMetadataVisitor
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.util.ClassRenamer
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.util.ClassSubHierarchyInitializer
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.util.ClassSuperHierarchyInitializer
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.util.StringSharer
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.visitor.BottomClassFilter
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLibraryClass(LibraryClass) - Method in interface proguard.classfile.visitor.ClassVisitor
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.visitor.ConcreteClassDownTraveler
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.visitor.LibraryClassFilter
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.visitor.MemberAccessFlagCleaner
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitLibraryClass(LibraryClass) - Method in class proguard.classfile.visitor.SubclassFilter
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.kotlin.visitor.MemberToKotlinPropertyVisitor
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.kotlin.visitor.MethodToKotlinConstructorVisitor
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.kotlin.visitor.MethodToKotlinFunctionVisitor
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.util.AllParameterVisitor
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.util.DynamicMemberReferenceInitializer
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.InitializerMethodFilter
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.LibraryMemberFilter
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.MemberAccessFlagCleaner
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.MemberAccessFlagSetter
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.MemberAccessSetter
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.MemberClassAccessFilter
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.MemberCounter
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.MemberDescriptorFilter
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.MemberNameFilter
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.MemberToClassVisitor
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in interface proguard.classfile.visitor.MemberVisitor
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.MethodFilter
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.MultiMemberVisitor
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.ProgramMemberFilter
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.SimilarMemberVisitor
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.SimpleClassPrinter
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.classfile.visitor.VariableMemberVisitor
+
 
+
visitLibraryField(LibraryClass, LibraryField) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
visitLibraryMember(LibraryClass, LibraryMember) - Method in class proguard.classfile.attribute.visitor.AllAttributeVisitor
+
 
+
visitLibraryMember(LibraryClass, LibraryMember) - Method in class proguard.classfile.editor.NamedAttributeDeleter
+
 
+
visitLibraryMember(LibraryClass, LibraryMember) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitLibraryMember(LibraryClass, LibraryMember) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitLibraryMember(LibraryClass, LibraryMember) - Method in class proguard.classfile.io.ProgramClassWriter
+
 
+
visitLibraryMember(LibraryClass, LibraryMember) - Method in class proguard.classfile.util.ClassRenamer
+
 
+
visitLibraryMember(LibraryClass, LibraryMember) - Method in class proguard.classfile.util.MemberRenamer
+
 
+
visitLibraryMember(LibraryClass, LibraryMember) - Method in class proguard.classfile.util.StringSharer
+
 
+
visitLibraryMember(LibraryClass, LibraryMember) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitLibraryMember(LibraryClass, LibraryMember) - Method in class proguard.classfile.visitor.MemberDescriptorReferencedClassVisitor
+
 
+
visitLibraryMember(LibraryClass, LibraryMember) - Method in interface proguard.classfile.visitor.MemberVisitor
+
 
+
visitLibraryMember(LibraryClass, LibraryMember) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.kotlin.visitor.MemberToKotlinPropertyVisitor
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.kotlin.visitor.MethodToKotlinConstructorVisitor
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.kotlin.visitor.MethodToKotlinFunctionVisitor
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.util.AllParameterVisitor
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.util.DynamicMemberReferenceInitializer
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.InitializerMethodFilter
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.LibraryMemberFilter
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.MemberAccessFlagCleaner
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.MemberAccessFlagSetter
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.MemberAccessSetter
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.MemberClassAccessFilter
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.MemberCounter
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.MemberDescriptorFilter
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.MemberNameFilter
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.MemberToClassVisitor
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in interface proguard.classfile.visitor.MemberVisitor
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.MethodCollector
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.MethodFilter
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.MethodImplementationFilter
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.MethodImplementationTraveler
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.MultiMemberVisitor
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.ProgramMemberFilter
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.ReferencedClassesExtractor
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.SimilarMemberVisitor
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.SimpleClassPrinter
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.classfile.visitor.VariableMemberVisitor
+
 
+
visitLibraryMethod(LibraryClass, LibraryMethod) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
visitLineNumber(int, DexLabel) - Method in class proguard.dexfile.reader.node.DexDebugNode
+
 
+
visitLineNumber(int, DexLabel) - Method in class proguard.dexfile.reader.visitors.DexDebugVisitor
+
 
+
visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo) - Method in interface proguard.classfile.attribute.visitor.LineNumberInfoVisitor
+
 
+
visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo) - Method in class proguard.classfile.attribute.visitor.LineNumberRangeFinder
+
 
+
visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo) - Method in class proguard.classfile.editor.LineNumberInfoAdder
+
 
+
visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.attribute.visitor.AllLineNumberInfoVisitor
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.editor.LineNumberInfoAdder
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.editor.LineNumberTableAttributeTrimmer
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute) - Method in class proguard.classfile.visitor.LineNumberFinder
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in interface proguard.classfile.attribute.visitor.LocalVariableInfoVisitor
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.editor.LocalVariableInfoAdder
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitLocalVariableReferenceInfo(LocalVariableReferenceInfo) - Method in interface proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoVisitor
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.editor.VariableCleaner
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitLocalVariableTargetElement(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo, LocalVariableTargetElement) - Method in interface proguard.classfile.attribute.annotation.target.visitor.LocalVariableTargetElementVisitor
+
 
+
visitLocalVariableTargetElement(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo, LocalVariableTargetElement) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitLocalVariableTargetElement(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo, LocalVariableTargetElement) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitLocalVariableTargetElement(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo, LocalVariableTargetElement) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitLocalVariableTargetElement(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo, LocalVariableTargetElement) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitLocalVariableTargetElement(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo, LocalVariableTargetElement) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo) - Method in class proguard.classfile.editor.TargetInfoCopier
+
 
+
visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in interface proguard.classfile.attribute.visitor.LocalVariableTypeInfoVisitor
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.editor.LocalVariableTypeInfoAdder
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.editor.VariableCleaner
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitLongArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.LongValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitLongArrayConstant(Clazz, PrimitiveArrayConstant, long[]) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantVisitor
+
 
+
visitLongArrayConstantElement(Clazz, PrimitiveArrayConstant, int, long) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantElementVisitor
+
 
+
visitLongArrayConstantElement(Clazz, PrimitiveArrayConstant, int, long) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitLongConstant(Clazz, LongConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitLongConstant(Clazz, LongConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitLongConstant(Clazz, LongConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitLongConstant(Clazz, LongConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitLongConstant(Clazz, LongConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitLongConstant(Clazz, LongConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitLongConstant(Clazz, LongConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitLongConstant(Clazz, LongConstant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitLongConstant(Clazz, LongConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitLongConstant(Clazz, LongConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLongConstant(Clazz, LongConstant) - Method in class proguard.evaluation.ConstantValueFactory
+
 
+
visitLongType(Clazz, Method, CodeAttribute, int, LongType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitLongType(Clazz, Method, CodeAttribute, int, LongType) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLookUpSwitchInstruction(Clazz, Method, CodeAttribute, int, LookUpSwitchInstruction) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitLookUpSwitchInstruction(Clazz, Method, CodeAttribute, int, LookUpSwitchInstruction) - Method in interface proguard.classfile.instruction.visitor.InstructionVisitor
+
 
+
visitLookUpSwitchInstruction(Clazz, Method, CodeAttribute, int, LookUpSwitchInstruction) - Method in class proguard.classfile.instruction.visitor.MultiInstructionVisitor
+
 
+
visitLookUpSwitchInstruction(Clazz, Method, CodeAttribute, int, LookUpSwitchInstruction) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitLookUpSwitchInstruction(Clazz, Method, CodeAttribute, int, LookUpSwitchInstruction) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitLookUpSwitchInstruction(Clazz, Method, CodeAttribute, int, LookUpSwitchInstruction) - Method in class proguard.evaluation.Processor
+
 
+
visitMethod(int, Method) - Method in class proguard.dexfile.reader.node.DexClassNode
+
 
+
visitMethod(int, Method) - Method in class proguard.dexfile.reader.visitors.DexClassVisitor
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in class proguard.classfile.constant.visitor.MethodrefTraveler
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitMethodHandleConstant(Clazz, MethodHandleConstant) - Method in class proguard.evaluation.ConstantValueFactory
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitMethodrefConstant(Clazz, MethodrefConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitMethodrefConstant(Clazz, MethodrefConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitMethodrefConstant(Clazz, MethodrefConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitMethodrefConstant(Clazz, MethodrefConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitMethodrefConstant(Clazz, MethodrefConstant) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitMethodrefConstant(Clazz, MethodrefConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitMethodrefConstant(Clazz, MethodrefConstant) - Method in class proguard.classfile.util.BranchTargetFinder
+
 
+
visitMethodrefConstant(Clazz, MethodrefConstant) - Method in class proguard.classfile.util.DynamicClassReferenceInitializer
+
+
Checks whether the referenced method is a .class method.
+
+
visitMethodrefConstant(Clazz, MethodrefConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitMethodrefConstant(Clazz, MethodrefConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitMethodStmt(Op, int[], String, Proto, MethodHandle, Object...) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitMethodStmt(Op, int[], String, Proto, MethodHandle, Object...) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+
+ OP_INVOKE_CUSTOM
+
+
visitMethodStmt(Op, int[], Method) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitMethodStmt(Op, int[], Method) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+
+ OP_INVOKE_VIRTUAL + OP_INVOKE_SUPER + OP_INVOKE_DIRECT + OP_INVOKE_STATIC + OP_INVOKE_INTERFACE
+
+
visitMethodStmt(Op, int[], Method, Proto) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitMethodStmt(Op, int[], Method, Proto) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+
+ OP_INVOKE_POLYMORPHIC
+
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitMethodTypeConstant(Clazz, MethodTypeConstant) - Method in class proguard.evaluation.ConstantValueFactory
+
 
+
visitMissingClass(Clazz, String) - Method in interface proguard.classfile.util.InvalidClassReferenceVisitor
+
+
Visit a missing class.
+
+
visitMissingEnclosingMethod(Clazz, Clazz, String, String) - Method in interface proguard.classfile.util.InvalidMemberReferenceVisitor
+
+
Visit a missing enclosing method.
+
+
visitMissingLibraryField(Clazz, LibraryClass, String, String) - Method in interface proguard.classfile.util.InvalidMemberReferenceVisitor
+
 
+
visitMissingLibraryMethod(Clazz, LibraryClass, String, String) - Method in interface proguard.classfile.util.InvalidMemberReferenceVisitor
+
 
+
visitMissingProgramField(Clazz, ProgramClass, String, String) - Method in interface proguard.classfile.util.InvalidMemberReferenceVisitor
+
 
+
visitMissingProgramMethod(Clazz, ProgramClass, String, String) - Method in interface proguard.classfile.util.InvalidMemberReferenceVisitor
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.attribute.module.visitor.AllExportsInfoVisitor
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.attribute.module.visitor.AllOpensInfoVisitor
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.attribute.module.visitor.AllProvidesInfoVisitor
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.attribute.module.visitor.AllRequiresInfoVisitor
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitModuleAttribute(Clazz, ModuleAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitModuleConstant(Clazz, ModuleConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitModuleConstant(Clazz, ModuleConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitModuleConstant(Clazz, ModuleConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitModuleConstant(Clazz, ModuleConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitModuleConstant(Clazz, ModuleConstant) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitModuleConstant(Clazz, ModuleConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitModuleConstant(Clazz, ModuleConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitModuleConstant(Clazz, ModuleConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitModuleConstant(Clazz, ModuleConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitModuleConstant(Clazz, ModuleConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitModulePackagesAttribute(Clazz, ModulePackagesAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitModulePackagesAttribute(Clazz, ModulePackagesAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitModulePackagesAttribute(Clazz, ModulePackagesAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitModulePackagesAttribute(Clazz, ModulePackagesAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitModulePackagesAttribute(Clazz, ModulePackagesAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitModulePackagesAttribute(Clazz, ModulePackagesAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitModulePackagesAttribute(Clazz, ModulePackagesAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitModulePackagesAttribute(Clazz, ModulePackagesAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitModulePackagesAttribute(Clazz, ModulePackagesAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitModulePackagesAttribute(Clazz, ModulePackagesAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitModulePackagesAttribute(Clazz, ModulePackagesAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitModulePackagesAttribute(Clazz, ModulePackagesAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame) - Method in interface proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor
+
 
+
visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitNameAndTypeConstant(Clazz, NameAndTypeConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitNameAndTypeConstant(Clazz, NameAndTypeConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitNameAndTypeConstant(Clazz, NameAndTypeConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitNameAndTypeConstant(Clazz, NameAndTypeConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitNameAndTypeConstant(Clazz, NameAndTypeConstant) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitNameAndTypeConstant(Clazz, NameAndTypeConstant) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitNameAndTypeConstant(Clazz, NameAndTypeConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitNameAndTypeConstant(Clazz, NameAndTypeConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitNameAndTypeConstant(Clazz, NameAndTypeConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitNameAndTypeConstant(Clazz, NameAndTypeConstant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitNameAndTypeConstant(Clazz, NameAndTypeConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitNameAndTypeConstant(Clazz, NameAndTypeConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in class proguard.classfile.util.NestHostFinder
+
 
+
visitNestHostAttribute(Clazz, NestHostAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitNestMembersAttribute(Clazz, NestMembersAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitNestMembersAttribute(Clazz, NestMembersAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitNestMembersAttribute(Clazz, NestMembersAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitNestMembersAttribute(Clazz, NestMembersAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitNestMembersAttribute(Clazz, NestMembersAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitNestMembersAttribute(Clazz, NestMembersAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitNestMembersAttribute(Clazz, NestMembersAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitNestMembersAttribute(Clazz, NestMembersAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitNestMembersAttribute(Clazz, NestMembersAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitNestMembersAttribute(Clazz, NestMembersAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitNestMembersAttribute(Clazz, NestMembersAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitNestMembersAttribute(Clazz, NestMembersAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitNestMembersAttribute(Clazz, NestMembersAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitNullType(Clazz, Method, CodeAttribute, int, NullType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitNullType(Clazz, Method, CodeAttribute, int, NullType) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitObjectType(Clazz, Method, CodeAttribute, int, ObjectType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitObjectType(Clazz, Method, CodeAttribute, int, ObjectType) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitObjectType(Clazz, Method, CodeAttribute, int, ObjectType) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitObjectType(Clazz, Method, CodeAttribute, int, ObjectType) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitObjectType(Clazz, Method, CodeAttribute, int, ObjectType) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitOffsetTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, OffsetTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitOffsetTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, OffsetTargetInfo) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitOffsetTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, OffsetTargetInfo) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitOffsetTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, OffsetTargetInfo) - Method in class proguard.classfile.editor.TargetInfoCopier
+
 
+
visitOffsetTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, OffsetTargetInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitOffsetTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, OffsetTargetInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitOpensInfo(Clazz, OpensInfo) - Method in interface proguard.classfile.attribute.module.visitor.OpensInfoVisitor
+
 
+
visitOpensInfo(Clazz, OpensInfo) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitOpensInfo(Clazz, OpensInfo) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitOpensInfo(Clazz, OpensInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitOpensInfo(Clazz, OpensInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitor - Variable in class proguard.dexfile.reader.visitors.DexAnnotationVisitor
+
 
+
visitor - Variable in class proguard.dexfile.reader.visitors.DexClassVisitor
+
 
+
visitor - Variable in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
 
+
visitor - Variable in class proguard.dexfile.reader.visitors.DexDebugVisitor
+
 
+
visitor - Variable in class proguard.dexfile.reader.visitors.DexFieldVisitor
+
 
+
visitor - Variable in class proguard.dexfile.reader.visitors.DexFileVisitor
+
 
+
visitor - Variable in class proguard.dexfile.reader.visitors.DexMethodVisitor
+
 
+
visitOrRHSExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata, KotlinEffectExpressionMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinEffectExprVisitor
+
 
+
visitOrRHSExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata, KotlinEffectExpressionMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitOuterClass(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitOuterClass(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitOuterClass(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitOuterClass(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitPackageConstant(Clazz, PackageConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitPackageConstant(Clazz, PackageConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitPackageConstant(Clazz, PackageConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitPackageConstant(Clazz, PackageConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitPackageConstant(Clazz, PackageConstant) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitPackageConstant(Clazz, PackageConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitPackageConstant(Clazz, PackageConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitPackageConstant(Clazz, PackageConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitPackageConstant(Clazz, PackageConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitPackageConstant(Clazz, PackageConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitPackedSwitchStmt(Op, int, int, DexLabel[]) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitPackedSwitchStmt(Op, int, int, DexLabel[]) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
 
+
visitParameter(Clazz, Member, int, int, int, int, String, Clazz) - Method in interface proguard.classfile.visitor.ParameterVisitor
+
+
Visits the given parameter.
+
+
visitParameter(Clazz, Member, int, int, int, int, String, Clazz) - Method in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
visitParameterAnnotation(int) - Method in class proguard.dexfile.reader.node.DexMethodNode
+
 
+
visitParameterAnnotation(int) - Method in class proguard.dexfile.reader.visitors.DexMethodVisitor
+
 
+
visitParameterInfo(Clazz, Method, int, ParameterInfo) - Method in interface proguard.classfile.attribute.visitor.ParameterInfoVisitor
+
 
+
visitParameterInfo(Clazz, Method, int, ParameterInfo) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitParameterInfo(Clazz, Method, int, ParameterInfo) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitParameterInfo(Clazz, Method, int, ParameterInfo) - Method in class proguard.classfile.editor.ParameterInfoAdder
+
 
+
visitParameterInfo(Clazz, Method, int, ParameterInfo) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitParameterInfo(Clazz, Method, int, ParameterInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitParameterInfo(Clazz, Method, int, ParameterInfo) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitParameterInfo(Clazz, Method, int, ParameterInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitParameterName(int, String) - Method in class proguard.dexfile.reader.node.DexDebugNode
+
 
+
visitParameterName(int, String) - Method in class proguard.dexfile.reader.visitors.DexDebugVisitor
+
 
+
visitParameterUpperBound(Clazz, KotlinTypeParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitParameterUpperBound(Clazz, KotlinTypeParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitParameterUpperBound(Clazz, KotlinTypeParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitParameterUpperBound(Clazz, KotlinTypeParameterMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant) - Method in class proguard.evaluation.ConstantValueFactory
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.analysis.CallResolver
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.backport.LambdaExpressionCollector
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.attribute.visitor.AllAttributeVisitor
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.constant.visitor.AllConstantVisitor
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.constant.visitor.SuperClassConstantVisitor
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.AccessFixer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.AttributeSorter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.BootstrapMethodsAttributeShrinker
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.ClassElementSorter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.ClassMemberSorter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.ConstantPoolSorter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.InnerClassesAccessFixer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.InterfaceDeleter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.InterfaceSorter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.MemberRemover
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.MethodCopier
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.NameAndTypeShrinker
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.NamedAttributeDeleter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.io.ProgramClassWriter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataRemover
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.kotlin.visitor.ReferencedKotlinMetadataVisitor
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.util.ArrayInitializationReplacer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.util.ClassRenamer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.util.ClassSubHierarchyInitializer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.util.ClassSuperHierarchyInitializer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.util.DynamicClassReferenceInitializer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.util.DynamicMemberReferenceInitializer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.util.NestHostFinder
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.util.StringSharer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.visitor.BottomClassFilter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.visitor.ClassConstantClassFilter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.visitor.ClassVersionFilter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.visitor.ClassVersionSetter
+
 
+
visitProgramClass(ProgramClass) - Method in interface proguard.classfile.visitor.ClassVisitor
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.visitor.ConcreteClassDownTraveler
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.visitor.MemberAccessFlagCleaner
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.visitor.ProgramClassFilter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.classfile.visitor.SubclassFilter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.examples.TransformExample.MyTransformer
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.io.D8ClassConverter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.io.DataEntryClassWriter
+
 
+
visitProgramClass(ProgramClass) - Method in class proguard.normalize.LargeStringSplitter
+
 
+
visitProgramDependency(Clazz, Clazz) - Method in interface proguard.classfile.util.InvalidClassReferenceVisitor
+
+
Visit a library class depending on a program class.
+
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.editor.MemberAdder
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.editor.MemberRemover
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.io.ProgramClassWriter
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.kotlin.visitor.MemberToKotlinPropertyVisitor
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.kotlin.visitor.MethodToKotlinConstructorVisitor
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.kotlin.visitor.MethodToKotlinFunctionVisitor
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.util.AllParameterVisitor
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.util.DynamicMemberReferenceInitializer
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.InitializerMethodFilter
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.LibraryMemberFilter
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.MemberAccessFlagCleaner
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.MemberAccessFlagSetter
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.MemberAccessSetter
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.MemberClassAccessFilter
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.MemberCounter
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.MemberDescriptorFilter
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.MemberNameFilter
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.MemberToClassVisitor
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in interface proguard.classfile.visitor.MemberVisitor
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.MethodFilter
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.MultiMemberVisitor
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.ProgramMemberFilter
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.SimilarMemberVisitor
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.SimpleClassPrinter
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.classfile.visitor.VariableMemberVisitor
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
visitProgramField(ProgramClass, ProgramField) - Method in class proguard.io.ClassMapDataEntryWriter
+
 
+
visitProgramMember(ProgramClass, ProgramMember) - Method in class proguard.classfile.attribute.visitor.AllAttributeVisitor
+
 
+
visitProgramMember(ProgramClass, ProgramMember) - Method in class proguard.classfile.editor.AttributeSorter
+
 
+
visitProgramMember(ProgramClass, ProgramMember) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitProgramMember(ProgramClass, ProgramMember) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitProgramMember(ProgramClass, ProgramMember) - Method in class proguard.classfile.editor.NamedAttributeDeleter
+
 
+
visitProgramMember(ProgramClass, ProgramMember) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitProgramMember(ProgramClass, ProgramMember) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitProgramMember(ProgramClass, ProgramMember) - Method in class proguard.classfile.util.ClassRenamer
+
 
+
visitProgramMember(ProgramClass, ProgramMember) - Method in class proguard.classfile.util.MemberRenamer
+
 
+
visitProgramMember(ProgramClass, ProgramMember) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitProgramMember(ProgramClass, ProgramMember) - Method in class proguard.classfile.visitor.MemberDescriptorReferencedClassVisitor
+
 
+
visitProgramMember(ProgramClass, ProgramMember) - Method in interface proguard.classfile.visitor.MemberVisitor
+
 
+
visitProgramMember(ProgramClass, ProgramMember) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.editor.BootstrapMethodsAttributeShrinker
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.editor.BridgeMethodFixer
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.editor.MemberAdder
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.editor.MemberRemover
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.editor.MethodCopier
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.io.ProgramClassWriter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.kotlin.visitor.MemberToKotlinPropertyVisitor
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.kotlin.visitor.MethodToKotlinConstructorVisitor
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.kotlin.visitor.MethodToKotlinFunctionVisitor
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.util.AllParameterVisitor
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.util.DynamicMemberReferenceInitializer
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.ConstructorMethodFilter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.InitializerMethodFilter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.LibraryMemberFilter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MemberAccessFlagCleaner
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MemberAccessFlagSetter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MemberAccessSetter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MemberClassAccessFilter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MemberCounter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MemberDescriptorFilter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MemberNameFilter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MemberToClassVisitor
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in interface proguard.classfile.visitor.MemberVisitor
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MethodCollector
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MethodCounter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MethodFilter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MethodImplementationFilter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MethodImplementationTraveler
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.MultiMemberVisitor
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.ProgramMemberFilter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.ReferencedClassesExtractor
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.SimilarMemberVisitor
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.SimpleClassPrinter
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.classfile.visitor.VariableMemberVisitor
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
visitProgramMethod(ProgramClass, ProgramMethod) - Method in class proguard.io.ClassMapDataEntryWriter
+
 
+
visitPrologue(DexLabel) - Method in class proguard.dexfile.reader.node.DexDebugNode
+
 
+
visitPrologue(DexLabel) - Method in class proguard.dexfile.reader.visitors.DexDebugVisitor
+
 
+
visitProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinPropertyVisitor
+
 
+
visitPropertyContextReceiverType(Clazz, KotlinMetadata, KotlinPropertyMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitPropertyContextReceiverType(Clazz, KotlinMetadata, KotlinPropertyMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitPropertyContextReceiverType(Clazz, KotlinMetadata, KotlinPropertyMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitPropertyReceiverType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitPropertyReceiverType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitPropertyReceiverType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitPropertyReceiverType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitPropertyReferenceInfo(PropertyReferenceInfo) - Method in interface proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoVisitor
+
 
+
visitPropertyType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitPropertyType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitPropertyType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitPropertyTypeParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeParameterFilter
+
 
+
visitPropertyTypeParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeParameterMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor
+
 
+
visitPropertyTypeParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.MultiKotlinTypeParameterVisitor
+
 
+
visitPropertyValParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitPropertyValParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinValueParameterFilter
+
 
+
visitPropertyValParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitPropertyValParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor
+
+
Visit a value parameter of the property setter, if it has one.
+
+
visitPropertyValParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitPropertyValParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata) - Method in class proguard.util.kotlin.asserter.constraint.ValueParameterIntegrity
+
 
+
visitPropertyValParamType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitPropertyValParamType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitPropertyValParamType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitPropertyValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitPropertyValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitPropertyValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitPropertyValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitPropertyVersionRequirement(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinVersionRequirementMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor
+
 
+
visitProvidesInfo(Clazz, ProvidesInfo) - Method in interface proguard.classfile.attribute.module.visitor.ProvidesInfoVisitor
+
 
+
visitProvidesInfo(Clazz, ProvidesInfo) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitProvidesInfo(Clazz, ProvidesInfo) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitProvidesInfo(Clazz, ProvidesInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitProvidesInfo(Clazz, ProvidesInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.attribute.visitor.AllAttributeVisitor
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.attribute.visitor.AllRecordComponentInfoVisitor
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitRecordAttribute(Clazz, RecordAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitRecordComponentInfo(Clazz, RecordComponentInfo) - Method in class proguard.classfile.attribute.visitor.AllAttributeVisitor
+
 
+
visitRecordComponentInfo(Clazz, RecordComponentInfo) - Method in interface proguard.classfile.attribute.visitor.RecordComponentInfoVisitor
+
 
+
visitRecordComponentInfo(Clazz, RecordComponentInfo) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitRecordComponentInfo(Clazz, RecordComponentInfo) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitRecordComponentInfo(Clazz, RecordComponentInfo) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitRecordComponentInfo(Clazz, RecordComponentInfo) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitRecordComponentInfo(Clazz, RecordComponentInfo) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitRecordComponentInfo(Clazz, RecordComponentInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitRecordComponentInfo(Clazz, RecordComponentInfo) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitRecordComponentInfo(Clazz, RecordComponentInfo) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitRecordComponentInfo(Clazz, RecordComponentInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitRecordComponentInfo(Clazz, RecordComponentInfo) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitRegister(int) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitRegister(int) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
 
+
visitRequiresInfo(Clazz, RequiresInfo) - Method in interface proguard.classfile.attribute.module.visitor.RequiresInfoVisitor
+
 
+
visitRequiresInfo(Clazz, RequiresInfo) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitRequiresInfo(Clazz, RequiresInfo) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitRequiresInfo(Clazz, RequiresInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitRequiresInfo(Clazz, RequiresInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitResourceFile(ResourceFile) - Method in class proguard.resources.file.visitor.ResourceFilePresenceFilter
+
 
+
visitResourceFile(ResourceFile) - Method in interface proguard.resources.file.visitor.ResourceFileVisitor
+
 
+
visitResourceFile(ResourceFile) - Method in class proguard.resources.file.visitor.ResourceJavaReferenceClassInitializer
+
 
+
visitResourceFile(ResourceFile) - Method in class proguard.resources.file.visitor.ResourceJavaReferenceCleaner
+
 
+
visitResourceFile(ResourceFile) - Method in class proguard.util.kotlin.asserter.constraint.KotlinModuleIntegrity
+
 
+
visitRestartLocal(int, DexLabel) - Method in class proguard.dexfile.reader.node.DexDebugNode
+
 
+
visitRestartLocal(int, DexLabel) - Method in class proguard.dexfile.reader.visitors.DexDebugVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Member, RuntimeInvisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Member, RuntimeInvisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Member, RuntimeVisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Member, RuntimeVisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame) - Method in interface proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor
+
 
+
visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitSameZeroFrame(Clazz, Method, CodeAttribute, int, SameZeroFrame) - Method in interface proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor
+
 
+
visitSameZeroFrame(Clazz, Method, CodeAttribute, int, SameZeroFrame) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitSameZeroFrame(Clazz, Method, CodeAttribute, int, SameZeroFrame) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitSameZeroFrame(Clazz, Method, CodeAttribute, int, SameZeroFrame) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitSetFile(String) - Method in class proguard.dexfile.reader.node.DexDebugNode
+
 
+
visitSetFile(String) - Method in class proguard.dexfile.reader.visitors.DexDebugVisitor
+
 
+
visitShortArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ShortValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitShortArrayConstant(Clazz, PrimitiveArrayConstant, short[]) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantVisitor
+
 
+
visitShortArrayConstantElement(Clazz, PrimitiveArrayConstant, int, short) - Method in interface proguard.classfile.constant.visitor.PrimitiveArrayConstantElementVisitor
+
 
+
visitShortArrayConstantElement(Clazz, PrimitiveArrayConstant, int, short) - Method in class proguard.classfile.util.PrimitiveArrayConstantReplacer
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.editor.InterfaceDeleter
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.editor.InterfaceSorter
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.visitor.SignatureAttributeReferencedClassVisitor
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Member, SignatureAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Member, SignatureAttribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitSignatureAttribute(Clazz, Method, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSignatureAttribute(Clazz, Method, SignatureAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Method, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Method, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Method, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, Method, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, Method, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTransferRelation.InstructionAbstractInterpreter
+
 
+
visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation.InstructionAbstractInterpreter
+
 
+
visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction) - Method in class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
 
+
visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction) - Method in class proguard.classfile.editor.InstructionWriter
+
 
+
visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction) - Method in interface proguard.classfile.instruction.visitor.InstructionVisitor
+
 
+
visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction) - Method in class proguard.classfile.instruction.visitor.MultiInstructionVisitor
+
 
+
visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction) - Method in class proguard.classfile.util.BranchTargetFinder
+
 
+
visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction) - Method in class proguard.evaluation.Processor
+
 
+
visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
visitSource(String) - Method in class proguard.dexfile.reader.node.DexClassNode
+
 
+
visitSource(String) - Method in class proguard.dexfile.reader.visitors.DexClassVisitor
+
 
+
visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitSourceDirAttribute(Clazz, SourceDirAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSourceDirAttribute(Clazz, SourceDirAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSourceDirAttribute(Clazz, SourceDirAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSourceDirAttribute(Clazz, SourceDirAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSourceDirAttribute(Clazz, SourceDirAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSourceDirAttribute(Clazz, SourceDirAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSourceDirAttribute(Clazz, SourceDirAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSourceDirAttribute(Clazz, SourceDirAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitSourceDirAttribute(Clazz, SourceDirAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitSourceDirAttribute(Clazz, SourceDirAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitSourceDirAttribute(Clazz, SourceDirAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitSourceDirAttribute(Clazz, SourceDirAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitSourceDirAttribute(Clazz, SourceDirAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitSourceFileAttribute(Clazz, SourceFileAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSourceFileAttribute(Clazz, SourceFileAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSourceFileAttribute(Clazz, SourceFileAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSourceFileAttribute(Clazz, SourceFileAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSourceFileAttribute(Clazz, SourceFileAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSourceFileAttribute(Clazz, SourceFileAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSourceFileAttribute(Clazz, SourceFileAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSourceFileAttribute(Clazz, SourceFileAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitSourceFileAttribute(Clazz, SourceFileAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitSourceFileAttribute(Clazz, SourceFileAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitSourceFileAttribute(Clazz, SourceFileAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitSourceFileAttribute(Clazz, SourceFileAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitSourceFileAttribute(Clazz, SourceFileAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitSparseSwitchStmt(Op, int, int[], DexLabel[]) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitSparseSwitchStmt(Op, int, int[], DexLabel[]) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
 
+
visitStackDoubleType(Clazz, Method, CodeAttribute, int, int, DoubleType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitStackFloatType(Clazz, Method, CodeAttribute, int, int, FloatType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitStackIntegerType(Clazz, Method, CodeAttribute, int, int, IntegerType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitStackLongType(Clazz, Method, CodeAttribute, int, int, LongType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitStackNullType(Clazz, Method, CodeAttribute, int, int, NullType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitStackObjectType(Clazz, Method, CodeAttribute, int, int, ObjectType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitStackTopType(Clazz, Method, CodeAttribute, int, int, TopType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitStackUninitializedThisType(Clazz, Method, CodeAttribute, int, int, UninitializedThisType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitStackUninitializedType(Clazz, Method, CodeAttribute, int, int, UninitializedType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitStarProjection(Clazz, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitStarProjection(Clazz, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitStarProjection(Clazz, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitStarProjection(Clazz, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitStartLocal(int, DexLabel, String, String, String) - Method in class proguard.dexfile.reader.node.DexDebugNode
+
 
+
visitStartLocal(int, DexLabel, String, String, String) - Method in class proguard.dexfile.reader.visitors.DexDebugVisitor
+
 
+
visitStmt0R(Op) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitStmt0R(Op) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+ +
+
visitStmt1R(Op, int) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitStmt1R(Op, int) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+
+ OP_RETURN_X + OP_THROW_X + OP_MONITOR_ENTER + OP_MONITOR_EXIT + OP_MOVE_RESULT_X + OP_MOVE_EXCEPTION_X
+
+
visitStmt2R(Op, int, int) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitStmt2R(Op, int, int) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+
+ OP_MOVE* + a = a X b + OP_ARRAY_LENGTH + a=Xb + X_TO_Y
+
+
visitStmt2R1N(Op, int, int, int) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitStmt2R1N(Op, int, int, int) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+
+ OP_X_INT_LIT8
+
+
visitStmt3R(Op, int, int, int) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitStmt3R(Op, int, int, int) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+
+ + OP_ADD + OP_SUB + OP_MUL + OP_DIV + OP_REM + OP_AND + OP_OR + OP_XOR + OP_SHL + OP_SHR + OP_USHR + OP_CMPL + OP_CMPG + OP_CMP + OP_AGETX + OP_APUTX
+
+
visitStringArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.StringValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.editor.ClassReferenceFixer
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.editor.ConstantPoolShrinker
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.editor.MemberReferenceFixer
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.util.DynamicClassReferenceInitializer
+
+
Fills out the link to the referenced class.
+
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.util.EnumFieldReferenceInitializer
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.util.StringReferenceInitializer
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.classfile.visitor.ReferencedMemberVisitor
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.evaluation.ConstantValueFactory
+
 
+
visitStringConstant(Clazz, StringConstant) - Method in class proguard.normalize.LargeStringSplitter
+
 
+
visitSuperType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitSuperType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitSuperType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitSuperType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitSuperTypeTargetInfo(Clazz, TypeAnnotation, SuperTypeTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitSuperTypeTargetInfo(Clazz, TypeAnnotation, SuperTypeTargetInfo) - Method in class proguard.classfile.editor.TargetInfoCopier
+
 
+
visitSuperTypeTargetInfo(Clazz, TypeAnnotation, SuperTypeTargetInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitSuperTypeTargetInfo(Clazz, TypeAnnotation, SuperTypeTargetInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitSyntheticAttribute(Clazz, Field, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSyntheticAttribute(Clazz, Field, SyntheticAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Field, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Field, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Field, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSyntheticAttribute(Clazz, Field, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSyntheticAttribute(Clazz, Field, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Member, SyntheticAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Method, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSyntheticAttribute(Clazz, Method, SyntheticAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Method, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Method, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Method, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSyntheticAttribute(Clazz, Method, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSyntheticAttribute(Clazz, Method, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSyntheticFunction(Clazz, KotlinSyntheticClassKindMetadata, KotlinFunctionMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinFunctionFilter
+
 
+
visitSyntheticFunction(Clazz, KotlinSyntheticClassKindMetadata, KotlinFunctionMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinFunctionVisitor
+
 
+
visitSyntheticFunction(Clazz, KotlinSyntheticClassKindMetadata, KotlinFunctionMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitTableSwitchInstruction(Clazz, Method, CodeAttribute, int, TableSwitchInstruction) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitTableSwitchInstruction(Clazz, Method, CodeAttribute, int, TableSwitchInstruction) - Method in interface proguard.classfile.instruction.visitor.InstructionVisitor
+
 
+
visitTableSwitchInstruction(Clazz, Method, CodeAttribute, int, TableSwitchInstruction) - Method in class proguard.classfile.instruction.visitor.MultiInstructionVisitor
+
 
+
visitTableSwitchInstruction(Clazz, Method, CodeAttribute, int, TableSwitchInstruction) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitTableSwitchInstruction(Clazz, Method, CodeAttribute, int, TableSwitchInstruction) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitTableSwitchInstruction(Clazz, Method, CodeAttribute, int, TableSwitchInstruction) - Method in class proguard.evaluation.Processor
+
 
+
visitThrowsTargetInfo(Clazz, Method, TypeAnnotation, ThrowsTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitThrowsTargetInfo(Clazz, Method, TypeAnnotation, ThrowsTargetInfo) - Method in class proguard.classfile.editor.TargetInfoCopier
+
 
+
visitThrowsTargetInfo(Clazz, Method, TypeAnnotation, ThrowsTargetInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitThrowsTargetInfo(Clazz, Method, TypeAnnotation, ThrowsTargetInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitTopType(Clazz, Method, CodeAttribute, int, TopType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitTopType(Clazz, Method, CodeAttribute, int, TopType) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitTryCatch(DexLabel, DexLabel, DexLabel[], String[]) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitTryCatch(DexLabel, DexLabel, DexLabel[], String[]) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
 
+
visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata) - Method in class proguard.classfile.kotlin.visitor.AllKotlinAnnotationVisitor
+
 
+
visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeParameterVisitor
+
 
+
visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeAliasFilter
+
 
+
visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeAliasVisitor
+
 
+
visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata) - Method in class proguard.classfile.util.ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer
+
 
+
visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata) - Method in class proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
+
 
+
visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata) - Method in class proguard.util.kotlin.asserter.constraint.KmAnnotationIntegrity
+
 
+
visitTypeAliasAnnotation(Clazz, KotlinTypeAliasMetadata, KotlinAnnotation) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinAnnotationFilter
+
 
+
visitTypeAliasAnnotation(Clazz, KotlinTypeAliasMetadata, KotlinAnnotation) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor
+
 
+
visitTypeAliasVersionRequirement(Clazz, KotlinMetadata, KotlinTypeAliasMetadata, KotlinVersionRequirementMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor
+
 
+
visitTypeAnnotation(Clazz, TypeAnnotation) - Method in interface proguard.classfile.attribute.annotation.visitor.TypeAnnotationVisitor
+
+
Visits any TypeAnnotation instance.
+
+
visitTypeAnnotation(Clazz, TypeAnnotation) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitTypeAnnotation(Clazz, TypeAnnotation) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitTypeAnnotation(Clazz, TypeAnnotation) - Method in class proguard.classfile.editor.TypeAnnotationAdder
+
 
+
visitTypeAnnotation(Clazz, TypeAnnotation) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitTypeAnnotation(Clazz, TypeAnnotation) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitTypeAnnotation(Clazz, TypeAnnotation) - Method in class proguard.classfile.visitor.ClassCleaner
+
 
+
visitTypeAnnotation(Clazz, TypeAnnotation) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitTypeAnnotation(Clazz, TypeAnnotation) - Method in class proguard.classfile.visitor.ProcessingInfoSetter
+
 
+
visitTypeAnnotation(Clazz, Field, TypeAnnotation) - Method in interface proguard.classfile.attribute.annotation.visitor.TypeAnnotationVisitor
+
 
+
visitTypeAnnotation(Clazz, KotlinTypeMetadata, KotlinAnnotation) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinAnnotationFilter
+
 
+
visitTypeAnnotation(Clazz, KotlinTypeMetadata, KotlinAnnotation) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor
+
 
+
visitTypeAnnotation(Clazz, Member, TypeAnnotation) - Method in interface proguard.classfile.attribute.annotation.visitor.TypeAnnotationVisitor
+
 
+
visitTypeAnnotation(Clazz, Method, int, TypeAnnotation) - Method in interface proguard.classfile.attribute.annotation.visitor.TypeAnnotationVisitor
+
 
+
visitTypeAnnotation(Clazz, Method, TypeAnnotation) - Method in interface proguard.classfile.attribute.annotation.visitor.TypeAnnotationVisitor
+
 
+
visitTypeAnnotation(Clazz, Method, CodeAttribute, TypeAnnotation) - Method in interface proguard.classfile.attribute.annotation.visitor.TypeAnnotationVisitor
+
 
+
visitTypeAnnotation(Clazz, Method, CodeAttribute, TypeAnnotation) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitTypeArgument(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitTypeArgument(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitTypeArgument(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitTypeArgument(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitTypeArgumentTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, TypeArgumentTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitTypeArgumentTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, TypeArgumentTargetInfo) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitTypeArgumentTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, TypeArgumentTargetInfo) - Method in class proguard.classfile.editor.TargetInfoCopier
+
 
+
visitTypeArgumentTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, TypeArgumentTargetInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitTypeArgumentTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, TypeArgumentTargetInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitTypeOfIsExpression(Clazz, KotlinEffectExpressionMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitTypeOfIsExpression(Clazz, KotlinEffectExpressionMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitTypeOfIsExpression(Clazz, KotlinEffectExpressionMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitTypeParameterAnnotation(Clazz, KotlinTypeParameterMetadata, KotlinAnnotation) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinAnnotationFilter
+
 
+
visitTypeParameterAnnotation(Clazz, KotlinTypeParameterMetadata, KotlinAnnotation) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor
+
 
+
visitTypeParameterBoundTargetInfo(Clazz, TypeAnnotation, TypeParameterBoundTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitTypeParameterBoundTargetInfo(Clazz, TypeAnnotation, TypeParameterBoundTargetInfo) - Method in class proguard.classfile.editor.TargetInfoCopier
+
 
+
visitTypeParameterBoundTargetInfo(Clazz, TypeAnnotation, TypeParameterBoundTargetInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitTypeParameterBoundTargetInfo(Clazz, TypeAnnotation, TypeParameterBoundTargetInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitTypeParameterBoundTargetInfo(Clazz, Field, TypeAnnotation, TypeParameterBoundTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitTypeParameterBoundTargetInfo(Clazz, Member, TypeAnnotation, TypeParameterBoundTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitTypeParameterBoundTargetInfo(Clazz, Method, TypeAnnotation, TypeParameterBoundTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitTypeParameterTargetInfo(Clazz, TypeAnnotation, TypeParameterTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitTypeParameterTargetInfo(Clazz, TypeAnnotation, TypeParameterTargetInfo) - Method in class proguard.classfile.editor.TargetInfoCopier
+
 
+
visitTypeParameterTargetInfo(Clazz, TypeAnnotation, TypeParameterTargetInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitTypeParameterTargetInfo(Clazz, TypeAnnotation, TypeParameterTargetInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitTypeParameterTargetInfo(Clazz, Method, TypeAnnotation, TypeParameterTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitTypePathInfo(Clazz, TypeAnnotation, TypePathInfo) - Method in interface proguard.classfile.attribute.annotation.visitor.TypePathInfoVisitor
+
+
Visits any TypePathInfo instance.
+
+
visitTypePathInfo(Clazz, TypeAnnotation, TypePathInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitTypePathInfo(Clazz, TypeAnnotation, TypePathInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitTypePathInfo(Clazz, Field, TypeAnnotation, TypePathInfo) - Method in interface proguard.classfile.attribute.annotation.visitor.TypePathInfoVisitor
+
 
+
visitTypePathInfo(Clazz, Member, TypeAnnotation, TypePathInfo) - Method in interface proguard.classfile.attribute.annotation.visitor.TypePathInfoVisitor
+
 
+
visitTypePathInfo(Clazz, Method, TypeAnnotation, TypePathInfo) - Method in interface proguard.classfile.attribute.annotation.visitor.TypePathInfoVisitor
+
 
+
visitTypePathInfo(Clazz, Method, CodeAttribute, TypeAnnotation, TypePathInfo) - Method in interface proguard.classfile.attribute.annotation.visitor.TypePathInfoVisitor
+
 
+
visitTypeStmt(Op, int, int, String) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitTypeStmt(Op, int, int, String) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+
+ OP_INSTANCE_OF + OP_NEW_ARRAY + OP_CHECK_CAST + OP_NEW_INSTANCE
+
+
visitTypeUpperBound(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.AllTypeVisitor
+
 
+
visitTypeUpperBound(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
+
 
+
visitTypeUpperBound(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in class proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
+
 
+
visitTypeUpperBound(Clazz, KotlinTypeMetadata, KotlinTypeMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinTypeVisitor
+
 
+
visitUByteArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.UByteValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitUIntArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.UIntValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitULongArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ULongValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitUninitializedThisType(Clazz, Method, CodeAttribute, int, UninitializedThisType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitUninitializedThisType(Clazz, Method, CodeAttribute, int, UninitializedThisType) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitUninitializedType(Clazz, Method, CodeAttribute, int, UninitializedType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitUninitializedType(Clazz, Method, CodeAttribute, int, UninitializedType) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitUninitializedType(Clazz, Method, CodeAttribute, int, UninitializedType) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitUninitializedType(Clazz, Method, CodeAttribute, int, UninitializedType) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitUninitializedType(Clazz, Method, CodeAttribute, int, UninitializedType) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitUnknownAttribute(Clazz, UnknownAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitUnknownAttribute(Clazz, UnknownAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitUnknownAttribute(Clazz, UnknownAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitUnknownAttribute(Clazz, UnknownAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitUnknownAttribute(Clazz, UnknownAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitUnknownAttribute(Clazz, UnknownAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitUnknownAttribute(Clazz, UnknownAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitUnknownAttribute(Clazz, UnknownAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitUnknownAttribute(Clazz, UnknownAttribute) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitUnknownAttribute(Clazz, UnknownAttribute) - Method in class proguard.classfile.editor.Utf8Shrinker
+
 
+
visitUnknownAttribute(Clazz, UnknownAttribute) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitUnknownAttribute(Clazz, UnknownAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitUnsupportedKotlinMetadata(Clazz, UnsupportedKotlinMetadata) - Method in interface proguard.classfile.kotlin.visitor.KotlinMetadataVisitor
+
 
+
visitUShortArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.UShortValue) - Method in interface proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor
+
 
+
visitUtf8Constant(Clazz, Utf8Constant) - Method in class proguard.classfile.constant.visitor.ConstantStringBuilder
+
 
+
visitUtf8Constant(Clazz, Utf8Constant) - Method in interface proguard.classfile.constant.visitor.ConstantVisitor
+
 
+
visitUtf8Constant(Clazz, Utf8Constant) - Method in class proguard.classfile.editor.ConstantAdder
+
 
+
visitUtf8Constant(Clazz, Utf8Constant) - Method in class proguard.classfile.editor.ConstantPoolRemapper
+
 
+
visitUtf8Constant(Clazz, Utf8Constant) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
visitUtf8Constant(Clazz, Utf8Constant) - Method in class proguard.classfile.io.LibraryClassReader
+
 
+
visitUtf8Constant(Clazz, Utf8Constant) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitUtf8Constant(Clazz, Utf8Constant) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitUtf8Constant(Clazz, Utf8Constant) - Method in class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
visitUtf8Constant(Clazz, Utf8Constant) - Method in class proguard.classfile.util.StringSharer
+
 
+
visitUtf8Constant(Clazz, Utf8Constant) - Method in class proguard.classfile.util.WildcardConstantFilter
+
 
+
visitUtf8Constant(Clazz, Utf8Constant) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation.InstructionAbstractInterpreter
+
 
+
visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction) - Method in class proguard.classfile.attribute.visitor.MaxStackSizeComputer
+
 
+
visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
 
+
visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction) - Method in class proguard.classfile.editor.InstructionWriter
+
 
+
visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction) - Method in class proguard.classfile.editor.VariableRemapper
+
 
+
visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction) - Method in class proguard.classfile.editor.VariableSizeUpdater
+
 
+
visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction) - Method in interface proguard.classfile.instruction.visitor.InstructionVisitor
+
 
+
visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction) - Method in class proguard.classfile.instruction.visitor.MultiInstructionVisitor
+
 
+
visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction) - Method in class proguard.classfile.util.BranchTargetFinder
+
 
+
visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction) - Method in class proguard.evaluation.LivenessAnalyzer
+
 
+
visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction) - Method in class proguard.evaluation.Processor
+
 
+
visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction) - Method in class proguard.preverify.CodeSubroutineInliner
+
 
+
visitVariablesDoubleType(Clazz, Method, CodeAttribute, int, int, DoubleType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitVariablesFloatType(Clazz, Method, CodeAttribute, int, int, FloatType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitVariablesIntegerType(Clazz, Method, CodeAttribute, int, int, IntegerType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitVariablesLongType(Clazz, Method, CodeAttribute, int, int, LongType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitVariablesNullType(Clazz, Method, CodeAttribute, int, int, NullType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitVariablesObjectType(Clazz, Method, CodeAttribute, int, int, ObjectType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitVariablesTopType(Clazz, Method, CodeAttribute, int, int, TopType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitVariablesUninitializedThisType(Clazz, Method, CodeAttribute, int, int, UninitializedThisType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
visitVariablesUninitializedType(Clazz, Method, CodeAttribute, int, int, UninitializedType) - Method in interface proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor
+
 
+
VisualizeCfa - Class in proguard.examples
+
+
This sample application produces a DOT graph representation of a Control Flow Automaton generated + by ProGuardCORE.
+
+
VisualizeCfa() - Constructor for class proguard.examples.VisualizeCfa
+
 
+
VisualizeControlFlow - Class in proguard.examples
+
+
This sample application illustrates how to evaluate bytecode to get information about its control + flow and data flow.
+
+
VisualizeControlFlow() - Constructor for class proguard.examples.VisualizeControlFlow
+
 
+
VOID - proguard.dexfile.ir.TypeClass
+
 
+
VOID - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
VOID - Static variable in class proguard.classfile.TypeConstants
+
 
+
VOID_INVOKE - proguard.dexfile.ir.stmt.Stmt.ST
+
 
+
VoidInvokeStmt - Class in proguard.dexfile.ir.stmt
+
+
Represent a void-expr: the expr result is ignored.
+
+
VoidInvokeStmt(Value) - Constructor for class proguard.dexfile.ir.stmt.VoidInvokeStmt
+
 
+
VoidInvokeTransformer - Class in proguard.dexfile.ir.ts
+
+
convert
+
+
VoidInvokeTransformer() - Constructor for class proguard.dexfile.ir.ts.VoidInvokeTransformer
+
 
+
VOLATILE - Static variable in class proguard.classfile.AccessConstants
+
 
+
VOLATILE - Static variable in class proguard.classfile.JavaAccessConstants
+
 
+
vt - Variable in class proguard.dexfile.ir.expr.Value
+
+
Value Type
+
+
+ + + +

W

+
+
waitlist - Variable in class proguard.analysis.cpa.defaults.AbstractWaitlist
+
 
+
Waitlist - Interface in proguard.analysis.cpa.interfaces
+
+
The Waitlist stores the AbstractStates the Algorithm needs to process.
+
+
WARN_INCOMPLETE_CLASS_HIERARCHY - Static variable in class proguard.evaluation.value.TypedReferenceValue
+
+
If true, print warnings for occurrences of IncompleteClassHierarchyException when + ALLOW_INCOMPLETE_CLASS_HIERARCHY is enabled.
+
+
WarningLogger - Class in proguard.classfile.util
+
 
+
WarningLogger(Logger) - Constructor for class proguard.classfile.util.WarningLogger
+
 
+
WarningLogger(Logger, List<String>) - Constructor for class proguard.classfile.util.WarningLogger
+
 
+
WarningPrinter - Class in proguard.classfile.util
+
+
This class prints out and counts warnings.
+
+
WarningPrinter(PrintWriter) - Constructor for class proguard.classfile.util.WarningPrinter
+
+
Creates a new WarningPrinter that prints to the given print writer.
+
+
WarningPrinter(PrintWriter, List) - Constructor for class proguard.classfile.util.WarningPrinter
+
+
Creates a new WarningPrinter that prints to the given print stream, except if the names of any + involved classes matches the given filter.
+
+
wasCalled - Variable in class proguard.evaluation.BasicBranchUnit
+
 
+
wasCalled() - Method in class proguard.evaluation.BasicBranchUnit
+
+
Returns whether any of the branch unit methods was called.
+
+
wasConstant(int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
wasConstant(int) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
+
Returns whether the specified wildcard argument was a constant from the constant pool in the + most recent match.
+
+
WHEN_MAPPINGS - proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata.Flavor
+
 
+
WHEN_MAPPINGS_SUFFIX - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
wide - Variable in class proguard.classfile.instruction.VariableInstruction
+
 
+
wide() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
wide() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
WILDCARD_WRONG_INDEX - Static variable in class proguard.exception.ErrorId
+
 
+
WildcardConstantFilter - Class in proguard.classfile.util
+
+
This ConstantVisitor delegates to a given constant visitor, except for constants that + contain wildcards (indices larger than 0xffff).
+
+
WildcardConstantFilter(ConstantVisitor) - Constructor for class proguard.classfile.util.WildcardConstantFilter
+
+
Creates a new WildcardClassReferenceInitializer that delegates to the given constant visitor.
+
+
wildCardIndex(String, int) - Method in class proguard.util.WildcardManager
+
+
Parses a reference to a wildcard at a given index, if any.
+
+
WildcardManager - Class in proguard.util
+
+
This utility class creates and manages StringMatcher instances that (1) match wildcards, + and (2) refer back to matched wildcards.
+
+
WildcardManager() - Constructor for class proguard.util.WildcardManager
+
+
Creates a new WildcardManager.
+
+
WildcardManager(WildcardManager) - Constructor for class proguard.util.WildcardManager
+
+
Creates a new WildcardManager with the current list of string matchers of the given + WildcardManager.
+
+
withAccept(Clazz, ConstantVisitor) - Method in class proguard.classfile.attribute.module.ProvidesInfo
+
+
Applies the given constant pool visitor to all with entries.
+
+
wrapAbstractSuccessorInCollection(AbstractState) - Method in interface proguard.analysis.cpa.interfaces.ProgramLocationDependentTransferRelation
+
 
+
wrapInDexWriter(DataEntryWriter) - Method in class proguard.io.DexDataEntryWriterFactory
+
+
Wraps the given data entry writer in dex data entry writers for "classes.dex", etc, supporting + feature dex files, multidex, and split dex files.
+
+
wrappedAbstractState - Variable in class proguard.analysis.cpa.defaults.AbstractSingleWrapperState
+
 
+
WrappedDataEntry - Class in proguard.io
+
+
This DataEntry wraps another data entry.
+
+
WrappedDataEntry(DataEntry) - Constructor for class proguard.io.WrappedDataEntry
+
 
+
wrappedEntry - Variable in class proguard.io.WrappedDataEntry
+
 
+
wrappedTransferRelation - Variable in class proguard.analysis.cpa.defaults.SingleWrapperTransferRelation
+
 
+
WrapperTransferRelation - Interface in proguard.analysis.cpa.interfaces
+
+ +
+
write(@org.jetbrains.annotations.NotNull char[], int, int) - Method in class proguard.classfile.util.renderer.core.StringListWriter
+
 
+
write(byte[]) - Method in class proguard.io.RuntimeDataOutput
+
 
+
write(byte[]) - Method in class proguard.io.ZipOutput.LargeDataOutputStream
+
 
+
write(byte[], int) - Method in class proguard.classfile.editor.CodeAttributeEditor.Label
+
 
+
write(byte[], int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer.Label
+
 
+
write(byte[], int) - Method in class proguard.classfile.instruction.Instruction
+
+
Writes the Instruction at the given offset in the given code array.
+
+
write(byte[], int, int) - Method in class proguard.io.JarWriter.MyMultiDigestOutputStream
+
 
+
write(byte[], int, int) - Method in class proguard.io.RuntimeDataOutput
+
 
+
write(int) - Method in class proguard.io.JarWriter.MyMultiDigestOutputStream
+
 
+
write(int) - Method in class proguard.io.RuntimeDataOutput
+
 
+
write(int) - Method in class proguard.io.ZipOutput.LargeDataOutputStream
+
 
+
write(String) - Method in class proguard.classfile.util.renderer.core.StringListWriter
+
 
+
write(CodeAttribute, int) - Method in class proguard.classfile.instruction.Instruction
+
+
Writes the Instruction at the given offset in the given code attribute.
+
+
writeBoolean(boolean) - Method in class proguard.io.RuntimeDataOutput
+
 
+
writeByte(byte[], int, int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
writeByte(int) - Method in class proguard.io.RuntimeDataOutput
+
 
+
writeBytes(String) - Method in class proguard.io.RuntimeDataOutput
+
 
+
writeChar(int) - Method in class proguard.io.RuntimeDataOutput
+
 
+
writeChars(String) - Method in class proguard.io.RuntimeDataOutput
+
 
+
writeDex(OutputStream) - Method in class proguard.io.D8BasedDexDataEntryWriter
+
 
+
writeDex(OutputStream) - Method in class proguard.io.DexDataEntryWriter
+
+
Creates a new Dex instance from the collected classes.
+
+
writeDouble(double) - Method in class proguard.io.RuntimeDataOutput
+
 
+
writeEndOfCentralDirectory(long, long) - Method in class proguard.io.ZipOutput
+
+
Ends the central directory.
+
+
writeEntriesOfCentralDirectory() - Method in class proguard.io.ZipOutput
+
+
Writes the zip entries in the central directory.
+
+
writeFloat(float) - Method in class proguard.io.RuntimeDataOutput
+
 
+
writeInfo(byte[], int) - Method in class proguard.classfile.editor.CodeAttributeEditor.Label
+
 
+
writeInfo(byte[], int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer.Label
+
 
+
writeInfo(byte[], int) - Method in class proguard.classfile.instruction.BranchInstruction
+
 
+
writeInfo(byte[], int) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
writeInfo(byte[], int) - Method in class proguard.classfile.instruction.Instruction
+
+
Writes data following the instruction opcode.
+
+
writeInfo(byte[], int) - Method in class proguard.classfile.instruction.LookUpSwitchInstruction
+
 
+
writeInfo(byte[], int) - Method in class proguard.classfile.instruction.SimpleInstruction
+
 
+
writeInfo(byte[], int) - Method in class proguard.classfile.instruction.TableSwitchInstruction
+
 
+
writeInfo(byte[], int) - Method in class proguard.classfile.instruction.VariableInstruction
+
 
+
writeInt(byte[], int, int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
writeInt(int) - Method in class proguard.io.RuntimeDataOutput
+
 
+
writeInt(int) - Method in class proguard.io.ZipOutput
+
+
Writes out a little-endian int value to the zip output stream.
+
+
writeInt(long) - Method in class proguard.io.ZipOutput
+
+
Writes out a little-endian int value to the zip output stream.
+
+
writeJar(ClassPool, String) - Static method in class proguard.examples.JarUtil
+
+
Writes the classes from the given class pool to a specified jar.
+
+
writeJar(ClassPool, String) - Static method in class proguard.io.util.IOUtil
+
+
Writes the classes from the given class pool to a specified jar.
+
+
writeJar(ClassPool, String, String) - Static method in class proguard.io.util.IOUtil
+
+
Writes the classes from the given class pool to a specified jar.
+
+
writeLong(long) - Method in class proguard.io.RuntimeDataOutput
+
 
+
writeLong(long) - Method in class proguard.io.ZipOutput
+
+
Writes out a little-endian long value to the zip output stream.
+
+
writeShort(byte[], int, int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
writeShort(int) - Method in class proguard.io.RuntimeDataOutput
+
 
+
writeShort(int) - Method in class proguard.io.ZipOutput
+
+
Writes out a little-endian short value to the zip output stream.
+
+
writeSignedByte(byte[], int, int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
writeSignedShort(byte[], int, int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
writeSignedShort(int) - Method in class proguard.io.RuntimeDataOutput
+
+
Checks if the given value is a signed short value before writing it.
+
+
writeSignedValue(byte[], int, int, int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
writeStartOfCentralDirectory() - Method in class proguard.io.ZipOutput
+
+
Starts the central directory.
+
+
writeState(String) - Method in class proguard.evaluation.util.jsonprinter.JsonPrinter
+
 
+
writeTo(OutputStream) - Method in class proguard.io.D8ClassConverter.D8DexFile
+
 
+
writeUnsignedShort(int) - Method in class proguard.io.RuntimeDataOutput
+
+
Checks if the given value is an unsigned short value before writing it.
+
+
writeUTF(String) - Method in class proguard.io.RuntimeDataOutput
+
 
+
writeValue(byte[], int, int, int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
writeZip64EndOfCentralDirectory(long, long) - Method in class proguard.io.ZipOutput
+
+
Writes out a ZIP64 end of central directory entry.
+
+
writeZip64EndOfCentralDirectoryLocator(long) - Method in class proguard.io.ZipOutput
+
+
Writes out a ZIP64 end of central directory locator.
+
+
+ + + +

X

+
+
X - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
X - Static variable in class proguard.classfile.util.DynamicClassReferenceInitializer
+
 
+
X - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
xi - proguard.classfile.util.kotlin.KotlinMetadataType
+
 
+
xi - Variable in class proguard.classfile.kotlin.KotlinMetadata
+
+
An extra int.
+
+
XML_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
xor(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical xor of this IntegerValue and the given IntegerValue.
+
+
xor(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
xor(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
xor(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
xor(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
xor(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical xor of this LongValue and the given LongValue.
+
+
xor(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
xor(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
xor(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
xor(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical xor of this IntegerValue and the given ParticularIntegerValue.
+
+
xor(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
xor(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
xor(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical xor of this LongValue and the given ParticularLongValue.
+
+
xor(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
xor(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical xor of this IntegerValue and the given RangeIntegerValue.
+
+
xor(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
xor(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
xor(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
xor(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical xor of this IntegerValue and the given SpecificIntegerValue.
+
+
xor(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
xor(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical xor of this LongValue and the given SpecificLongValue.
+
+
xor(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
xor(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical xor of this IntegerValue and the given UnknownIntegerValue.
+
+
XOR - proguard.dexfile.ir.expr.Value.VT
+
 
+
XOR - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
XOR - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
XOR_INT - proguard.dexfile.reader.Op
+
 
+
XOR_INT_2ADDR - proguard.dexfile.reader.Op
+
 
+
XOR_INT_LIT16 - proguard.dexfile.reader.Op
+
 
+
XOR_INT_LIT8 - proguard.dexfile.reader.Op
+
 
+
XOR_LONG - proguard.dexfile.reader.Op
+
 
+
XOR_LONG_2ADDR - proguard.dexfile.reader.Op
+
 
+
xs - proguard.classfile.util.kotlin.KotlinMetadataType
+
 
+
xs - Variable in class proguard.classfile.kotlin.KotlinMetadata
+
+
An extra string.
+
+
+ + + +

Y

+
+
Y - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
Y - Static variable in class proguard.classfile.util.DynamicClassReferenceInitializer
+
 
+
Y - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
+ + + +

Z

+
+
Z - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
Z - Static variable in class proguard.classfile.util.DynamicClassReferenceInitializer
+
 
+
Z - Static variable in class proguard.classfile.util.InstructionSequenceMatcher
+
 
+
ZeroTransformer - Class in proguard.dexfile.ir.ts
+
+
dex mix use as integer 0 and object null.
+
+
ZeroTransformer() - Constructor for class proguard.dexfile.ir.ts.ZeroTransformer
+
 
+
ZI - proguard.dexfile.ir.TypeClass
+
 
+
ZIF - proguard.dexfile.ir.TypeClass
+
 
+
ZIFL - proguard.dexfile.ir.TypeClass
+
 
+
ZIL - proguard.dexfile.ir.TypeClass
+
 
+
ZIP_META_INF_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
ZipDataEntry - Class in proguard.io
+
+
This DataEntry represents a ZIP entry.
+
+
ZipDataEntry(DataEntry, ZipEntry, ZipInputStream) - Constructor for class proguard.io.ZipDataEntry
+
 
+
zipEntryWriter - Variable in class proguard.io.JarWriter
+
 
+
ZipFileDataEntry - Class in proguard.io
+
+
This DataEntry represents a ZIP entry.
+
+
ZipFileDataEntry(DataEntry, ZipEntry, ZipFile) - Constructor for class proguard.io.ZipFileDataEntry
+
 
+
ZipOutput - Class in proguard.io
+
+
This class writes zip data to a given output stream.
+
+
ZipOutput(OutputStream) - Constructor for class proguard.io.ZipOutput
+
+
Creates a new ZipOutput.
+
+
ZipOutput(OutputStream, boolean) - Constructor for class proguard.io.ZipOutput
+
+
Creates a new ZipOutput.
+
+
ZipOutput(OutputStream, boolean, int) - Constructor for class proguard.io.ZipOutput
+
+
Creates a new ZipOutput that aligns uncompressed entries.
+
+
ZipOutput(OutputStream, byte[], int, boolean) - Constructor for class proguard.io.ZipOutput
+
+
Creates a new ZipOutput that aligns uncompressed entries.
+
+
ZipOutput(OutputStream, byte[], int, boolean, String) - Constructor for class proguard.io.ZipOutput
+
+
Creates a new ZipOutput that aligns uncompressed entries and contains a comment.
+
+
ZipOutput(OutputStream, int) - Constructor for class proguard.io.ZipOutput
+
+
Creates a new ZipOutput that aligns uncompressed entries.
+
+
ZipOutput(OutputStream, int, boolean, String) - Constructor for class proguard.io.ZipOutput
+
+
Creates a new ZipOutput that aligns uncompressed entries and contains a comment.
+
+
ZipOutput.LargeDataOutputStream - Class in proguard.io
+
+
This output stream is mostly identical to DataOutputStream, except it stores the amount of + bytes written so far in a long instead of an int.
+
+
ZipWriter - Class in proguard.io
+
+
This DataEntryWriter sends data entries to the zip files specified by their parents.
+
+
ZipWriter(DataEntryWriter) - Constructor for class proguard.io.ZipWriter
+
+
Creates a new ZipWriter that compresses all zip entries.
+
+
ZipWriter(StringMatcher, int, boolean, int, byte[], DataEntryWriter) - Constructor for class proguard.io.ZipWriter
+
+
Creates a new ZipWriter.
+
+
ZipWriter(StringMatcher, int, boolean, int, DataEntryWriter) - Constructor for class proguard.io.ZipWriter
+
+
Creates a new ZipWriter.
+
+
ZipWriter(StringMatcher, int, boolean, StringMatcher, int, int, byte[], DataEntryWriter) - Constructor for class proguard.io.ZipWriter
+
+
Creates a new ZipWriter.
+
+
ZipWriter(StringMatcher, int, boolean, StringMatcher, int, int, DataEntryWriter) - Constructor for class proguard.io.ZipWriter
+
+
Creates a new ZipWriter.
+
+
ZipWriter(StringMatcher, int, StringMatcher, int, int, byte[], DataEntryWriter) - Constructor for class proguard.io.ZipWriter
+
+
Creates a new ZipWriter.
+
+
+ + + +

_

+
+
__() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+ +
+
__index - Variable in class proguard.dexfile.reader.node.insn.DexStmtNode
+
 
+
_cfg_froms - Variable in class proguard.dexfile.ir.stmt.Stmt
+
+
Used in construct of a method CFG, Previous Stmt nodes
+
+
_ls_index - Variable in class proguard.dexfile.ir.expr.Local
+
 
+
_ts_default_next - Variable in class proguard.dexfile.ir.stmt.Stmt
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _ 
All Classes All Packages
+
+ + + diff --git a/api/index.html b/api/index.html new file mode 100644 index 000000000..7f80a3586 --- /dev/null +++ b/api/index.html @@ -0,0 +1,564 @@ + + + + + +Overview (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

ProGuardCORE

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Packages 
PackageDescription
com.example 
proguard.analysis 
proguard.analysis.cpa.algorithms 
proguard.analysis.cpa.bam 
proguard.analysis.cpa.defaults 
proguard.analysis.cpa.domain.taint 
proguard.analysis.cpa.interfaces 
proguard.analysis.cpa.jvm.cfa 
proguard.analysis.cpa.jvm.cfa.edges 
proguard.analysis.cpa.jvm.cfa.nodes 
proguard.analysis.cpa.jvm.cfa.visitors 
proguard.analysis.cpa.jvm.domain.memory 
proguard.analysis.cpa.jvm.domain.reference 
proguard.analysis.cpa.jvm.domain.taint 
proguard.analysis.cpa.jvm.domain.value 
proguard.analysis.cpa.jvm.operators 
proguard.analysis.cpa.jvm.state 
proguard.analysis.cpa.jvm.state.heap 
proguard.analysis.cpa.jvm.state.heap.tree 
proguard.analysis.cpa.jvm.transfer 
proguard.analysis.cpa.jvm.util 
proguard.analysis.cpa.jvm.witness 
proguard.analysis.cpa.state 
proguard.analysis.cpa.util 
proguard.analysis.datastructure 
proguard.analysis.datastructure.callgraph 
proguard.backport 
proguard.classfile 
proguard.classfile.attribute 
proguard.classfile.attribute.annotation 
proguard.classfile.attribute.annotation.target 
proguard.classfile.attribute.annotation.target.visitor 
proguard.classfile.attribute.annotation.visitor 
proguard.classfile.attribute.module 
proguard.classfile.attribute.module.visitor 
proguard.classfile.attribute.preverification 
proguard.classfile.attribute.preverification.visitor 
proguard.classfile.attribute.visitor 
proguard.classfile.constant 
proguard.classfile.constant.visitor 
proguard.classfile.editor 
proguard.classfile.exception 
proguard.classfile.instruction 
proguard.classfile.instruction.visitor 
proguard.classfile.io 
proguard.classfile.io.kotlin 
proguard.classfile.io.visitor 
proguard.classfile.kotlin 
proguard.classfile.kotlin.flags 
proguard.classfile.kotlin.reflect 
proguard.classfile.kotlin.reflect.util 
proguard.classfile.kotlin.reflect.visitor 
proguard.classfile.kotlin.visitor 
proguard.classfile.kotlin.visitor.filter 
proguard.classfile.util 
proguard.classfile.util.kotlin 
proguard.classfile.util.renderer 
proguard.classfile.util.renderer.core 
proguard.classfile.visitor 
proguard.dexfile 
proguard.dexfile.converter 
proguard.dexfile.ir 
proguard.dexfile.ir.expr 
proguard.dexfile.ir.stmt 
proguard.dexfile.ir.ts 
proguard.dexfile.ir.ts.an 
proguard.dexfile.reader 
proguard.dexfile.reader.node 
proguard.dexfile.reader.node.analysis 
proguard.dexfile.reader.node.insn 
proguard.dexfile.reader.util 
proguard.dexfile.reader.visitors 
proguard.evaluation 
proguard.evaluation.exception 
proguard.evaluation.executor 
proguard.evaluation.executor.instancehandler 
proguard.evaluation.util 
proguard.evaluation.util.jsonprinter 
proguard.evaluation.value 
proguard.evaluation.value.object 
proguard.evaluation.value.object.model 
proguard.evaluation.value.object.model.reflective 
proguard.examples 
proguard.examples.instrument 
proguard.examples.modify 
proguard.examples.util 
proguard.exception 
proguard.io 
proguard.io.util 
proguard.normalize 
proguard.preverify 
proguard.resources.file 
proguard.resources.file.io 
proguard.resources.file.util 
proguard.resources.file.visitor 
proguard.resources.kotlinmodule 
proguard.resources.kotlinmodule.io 
proguard.resources.kotlinmodule.util 
proguard.resources.kotlinmodule.visitor 
proguard.util 
proguard.util.kotlin.asserter 
proguard.util.kotlin.asserter.constraint 
+
+
+ + + diff --git a/api/jquery-ui.overrides.css b/api/jquery-ui.overrides.css new file mode 100644 index 000000000..facf852c2 --- /dev/null +++ b/api/jquery-ui.overrides.css @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, 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. + */ + +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + /* Overrides the color of selection used in jQuery UI */ + background: #F8981D; + border: 1px solid #F8981D; +} diff --git a/api/jquery/external/jquery/jquery.js b/api/jquery/external/jquery/jquery.js new file mode 100644 index 000000000..50937333b --- /dev/null +++ b/api/jquery/external/jquery/jquery.js @@ -0,0 +1,10872 @@ +/*! + * jQuery JavaScript Library v3.5.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2020-05-04T22:49Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.5.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.5 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2020-03-14 + */ +( function( window ) { +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ( {} ).hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[ i ] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + + // Can't trust NodeList.length + while ( ( target[ j++ ] = els[ i++ ] ) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && + + // Support: IE 8 only + // Exclude object elements + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split( "|" ), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[ i ] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( ( cur = cur.nextSibling ) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return ( name === "input" || name === "button" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert( function( el ) { + el.className = "i"; + return !el.getAttribute( "className" ); + } ); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find[ "TAG" ] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll( "[name=d]" ).length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); + } + + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { + + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + } ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); + } : + function( a, b ) { + if ( b ) { + while ( ( b = b.parentNode ) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( ( cur = cur.parentNode ) ) { + ap.unshift( cur ); + } + cur = b; + while ( ( cur = cur.parentNode ) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[ i ] === bp[ i ] ) { + i++; + } + + return i ? + + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[ i ], bp[ i ] ) : + + // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + /* eslint-disable max-len */ + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + /* eslint-enable max-len */ + + }; + }, + + "CHILD": function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + "not": markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element (issue #299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + "has": markFunction( function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + } ), + + "contains": markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); + }, + + "selected": function( elem ) { + + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos[ "empty" ]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo( function() { + return [ 0 ]; + } ), + + "last": createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + "even": createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "odd": createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rcombinators.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = uniqueCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert( function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + } ); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert( function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + } ); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; + } + } ); +} + +return Sizzle; + +} )( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px"; + tr.style.height = "1px"; + trChild.style.height = "9px"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = parseInt( trStyle.height ) > 3; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( + dataPriv.get( cur, "events" ) || Object.create( null ) + )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script + if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "\r\n"; + +// inject VBScript +document.write(IEBinaryToArray_ByteStr_Script); + +global.JSZipUtils._getBinaryFromXHR = function (xhr) { + var binary = xhr.responseBody; + var byteMapping = {}; + for ( var i = 0; i < 256; i++ ) { + for ( var j = 0; j < 256; j++ ) { + byteMapping[ String.fromCharCode( i + (j << 8) ) ] = + String.fromCharCode(i) + String.fromCharCode(j); + } + } + var rawBytes = IEBinaryToArray_ByteStr(binary); + var lastChr = IEBinaryToArray_ByteStr_Last(binary); + return rawBytes.replace(/[\s\S]/g, function( match ) { + return byteMapping[match]; + }) + lastChr; +}; + +// enforcing Stuk's coding style +// vim: set shiftwidth=4 softtabstop=4: + +},{}]},{},[1]) +; diff --git a/api/jquery/jszip-utils/dist/jszip-utils-ie.min.js b/api/jquery/jszip-utils/dist/jszip-utils-ie.min.js new file mode 100644 index 000000000..93d8bc8ef --- /dev/null +++ b/api/jquery/jszip-utils/dist/jszip-utils-ie.min.js @@ -0,0 +1,10 @@ +/*! + +JSZipUtils - A collection of cross-browser utilities to go along with JSZip. + + +(c) 2014 Stuart Knightley, David Duponchel +Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown. + +*/ +!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g\r\n";document.write(b),a.JSZipUtils._getBinaryFromXHR=function(a){for(var b=a.responseBody,c={},d=0;256>d;d++)for(var e=0;256>e;e++)c[String.fromCharCode(d+(e<<8))]=String.fromCharCode(d)+String.fromCharCode(e);var f=IEBinaryToArray_ByteStr(b),g=IEBinaryToArray_ByteStr_Last(b);return f.replace(/[\s\S]/g,function(a){return c[a]})+g}},{}]},{},[1]); diff --git a/api/jquery/jszip-utils/dist/jszip-utils.js b/api/jquery/jszip-utils/dist/jszip-utils.js new file mode 100644 index 000000000..775895ec9 --- /dev/null +++ b/api/jquery/jszip-utils/dist/jszip-utils.js @@ -0,0 +1,118 @@ +/*! + +JSZipUtils - A collection of cross-browser utilities to go along with JSZip. + + +(c) 2014 Stuart Knightley, David Duponchel +Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown. + +*/ +!function(e){"object"==typeof exports?module.exports=e():"function"==typeof define&&define.amd?define(e):"undefined"!=typeof window?window.JSZipUtils=e():"undefined"!=typeof global?global.JSZipUtils=e():"undefined"!=typeof self&&(self.JSZipUtils=e())}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o + +(c) 2014 Stuart Knightley, David Duponchel +Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown. + +*/ +!function(a){"object"==typeof exports?module.exports=a():"function"==typeof define&&define.amd?define(a):"undefined"!=typeof window?window.JSZipUtils=a():"undefined"!=typeof global?global.JSZipUtils=a():"undefined"!=typeof self&&(self.JSZipUtils=a())}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g + +(c) 2009-2016 Stuart Knightley +Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown. + +JSZip uses the library pako released under the MIT license : +https://github.com/nodeca/pako/blob/master/LICENSE +*/ + +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.JSZip = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = remainingBytes > 1 ? (((chr2 & 15) << 2) | (chr3 >> 6)) : 64; + enc4 = remainingBytes > 2 ? (chr3 & 63) : 64; + + output.push(_keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4)); + + } + + return output.join(""); +}; + +// public method for decoding +exports.decode = function(input) { + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0, resultIndex = 0; + + var dataUrlPrefix = "data:"; + + if (input.substr(0, dataUrlPrefix.length) === dataUrlPrefix) { + // This is a common error: people give a data url + // (data:image/png;base64,iVBOR...) with a {base64: true} and + // wonders why things don't work. + // We can detect that the string input looks like a data url but we + // *can't* be sure it is one: removing everything up to the comma would + // be too dangerous. + throw new Error("Invalid base64 input, it looks like a data url."); + } + + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + + var totalLength = input.length * 3 / 4; + if(input.charAt(input.length - 1) === _keyStr.charAt(64)) { + totalLength--; + } + if(input.charAt(input.length - 2) === _keyStr.charAt(64)) { + totalLength--; + } + if (totalLength % 1 !== 0) { + // totalLength is not an integer, the length does not match a valid + // base64 content. That can happen if: + // - the input is not a base64 content + // - the input is *almost* a base64 content, with a extra chars at the + // beginning or at the end + // - the input uses a base64 variant (base64url for example) + throw new Error("Invalid base64 input, bad content length."); + } + var output; + if (support.uint8array) { + output = new Uint8Array(totalLength|0); + } else { + output = new Array(totalLength|0); + } + + while (i < input.length) { + + enc1 = _keyStr.indexOf(input.charAt(i++)); + enc2 = _keyStr.indexOf(input.charAt(i++)); + enc3 = _keyStr.indexOf(input.charAt(i++)); + enc4 = _keyStr.indexOf(input.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output[resultIndex++] = chr1; + + if (enc3 !== 64) { + output[resultIndex++] = chr2; + } + if (enc4 !== 64) { + output[resultIndex++] = chr3; + } + + } + + return output; +}; + +},{"./support":30,"./utils":32}],2:[function(require,module,exports){ +'use strict'; + +var external = require("./external"); +var DataWorker = require('./stream/DataWorker'); +var Crc32Probe = require('./stream/Crc32Probe'); +var DataLengthProbe = require('./stream/DataLengthProbe'); + +/** + * Represent a compressed object, with everything needed to decompress it. + * @constructor + * @param {number} compressedSize the size of the data compressed. + * @param {number} uncompressedSize the size of the data after decompression. + * @param {number} crc32 the crc32 of the decompressed file. + * @param {object} compression the type of compression, see lib/compressions.js. + * @param {String|ArrayBuffer|Uint8Array|Buffer} data the compressed data. + */ +function CompressedObject(compressedSize, uncompressedSize, crc32, compression, data) { + this.compressedSize = compressedSize; + this.uncompressedSize = uncompressedSize; + this.crc32 = crc32; + this.compression = compression; + this.compressedContent = data; +} + +CompressedObject.prototype = { + /** + * Create a worker to get the uncompressed content. + * @return {GenericWorker} the worker. + */ + getContentWorker: function () { + var worker = new DataWorker(external.Promise.resolve(this.compressedContent)) + .pipe(this.compression.uncompressWorker()) + .pipe(new DataLengthProbe("data_length")); + + var that = this; + worker.on("end", function () { + if (this.streamInfo['data_length'] !== that.uncompressedSize) { + throw new Error("Bug : uncompressed data size mismatch"); + } + }); + return worker; + }, + /** + * Create a worker to get the compressed content. + * @return {GenericWorker} the worker. + */ + getCompressedWorker: function () { + return new DataWorker(external.Promise.resolve(this.compressedContent)) + .withStreamInfo("compressedSize", this.compressedSize) + .withStreamInfo("uncompressedSize", this.uncompressedSize) + .withStreamInfo("crc32", this.crc32) + .withStreamInfo("compression", this.compression) + ; + } +}; + +/** + * Chain the given worker with other workers to compress the content with the + * given compression. + * @param {GenericWorker} uncompressedWorker the worker to pipe. + * @param {Object} compression the compression object. + * @param {Object} compressionOptions the options to use when compressing. + * @return {GenericWorker} the new worker compressing the content. + */ +CompressedObject.createWorkerFrom = function (uncompressedWorker, compression, compressionOptions) { + return uncompressedWorker + .pipe(new Crc32Probe()) + .pipe(new DataLengthProbe("uncompressedSize")) + .pipe(compression.compressWorker(compressionOptions)) + .pipe(new DataLengthProbe("compressedSize")) + .withStreamInfo("compression", compression); +}; + +module.exports = CompressedObject; + +},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(require,module,exports){ +'use strict'; + +var GenericWorker = require("./stream/GenericWorker"); + +exports.STORE = { + magic: "\x00\x00", + compressWorker : function (compressionOptions) { + return new GenericWorker("STORE compression"); + }, + uncompressWorker : function () { + return new GenericWorker("STORE decompression"); + } +}; +exports.DEFLATE = require('./flate'); + +},{"./flate":7,"./stream/GenericWorker":28}],4:[function(require,module,exports){ +'use strict'; + +var utils = require('./utils'); + +/** + * The following functions come from pako, from pako/lib/zlib/crc32.js + * released under the MIT license, see pako https://github.com/nodeca/pako/ + */ + +// Use ordinary array, since untyped makes no boost here +function makeTable() { + var c, table = []; + + for(var n =0; n < 256; n++){ + c = n; + for(var k =0; k < 8; k++){ + c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1)); + } + table[n] = c; + } + + return table; +} + +// Create table on load. Just 255 signed longs. Not a problem. +var crcTable = makeTable(); + + +function crc32(crc, buf, len, pos) { + var t = crcTable, end = pos + len; + + crc = crc ^ (-1); + + for (var i = pos; i < end; i++ ) { + crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF]; + } + + return (crc ^ (-1)); // >>> 0; +} + +// That's all for the pako functions. + +/** + * Compute the crc32 of a string. + * This is almost the same as the function crc32, but for strings. Using the + * same function for the two use cases leads to horrible performances. + * @param {Number} crc the starting value of the crc. + * @param {String} str the string to use. + * @param {Number} len the length of the string. + * @param {Number} pos the starting position for the crc32 computation. + * @return {Number} the computed crc32. + */ +function crc32str(crc, str, len, pos) { + var t = crcTable, end = pos + len; + + crc = crc ^ (-1); + + for (var i = pos; i < end; i++ ) { + crc = (crc >>> 8) ^ t[(crc ^ str.charCodeAt(i)) & 0xFF]; + } + + return (crc ^ (-1)); // >>> 0; +} + +module.exports = function crc32wrapper(input, crc) { + if (typeof input === "undefined" || !input.length) { + return 0; + } + + var isArray = utils.getTypeOf(input) !== "string"; + + if(isArray) { + return crc32(crc|0, input, input.length, 0); + } else { + return crc32str(crc|0, input, input.length, 0); + } +}; + +},{"./utils":32}],5:[function(require,module,exports){ +'use strict'; +exports.base64 = false; +exports.binary = false; +exports.dir = false; +exports.createFolders = true; +exports.date = null; +exports.compression = null; +exports.compressionOptions = null; +exports.comment = null; +exports.unixPermissions = null; +exports.dosPermissions = null; + +},{}],6:[function(require,module,exports){ +/* global Promise */ +'use strict'; + +// load the global object first: +// - it should be better integrated in the system (unhandledRejection in node) +// - the environment may have a custom Promise implementation (see zone.js) +var ES6Promise = null; +if (typeof Promise !== "undefined") { + ES6Promise = Promise; +} else { + ES6Promise = require("lie"); +} + +/** + * Let the user use/change some implementations. + */ +module.exports = { + Promise: ES6Promise +}; + +},{"lie":37}],7:[function(require,module,exports){ +'use strict'; +var USE_TYPEDARRAY = (typeof Uint8Array !== 'undefined') && (typeof Uint16Array !== 'undefined') && (typeof Uint32Array !== 'undefined'); + +var pako = require("pako"); +var utils = require("./utils"); +var GenericWorker = require("./stream/GenericWorker"); + +var ARRAY_TYPE = USE_TYPEDARRAY ? "uint8array" : "array"; + +exports.magic = "\x08\x00"; + +/** + * Create a worker that uses pako to inflate/deflate. + * @constructor + * @param {String} action the name of the pako function to call : either "Deflate" or "Inflate". + * @param {Object} options the options to use when (de)compressing. + */ +function FlateWorker(action, options) { + GenericWorker.call(this, "FlateWorker/" + action); + + this._pako = null; + this._pakoAction = action; + this._pakoOptions = options; + // the `meta` object from the last chunk received + // this allow this worker to pass around metadata + this.meta = {}; +} + +utils.inherits(FlateWorker, GenericWorker); + +/** + * @see GenericWorker.processChunk + */ +FlateWorker.prototype.processChunk = function (chunk) { + this.meta = chunk.meta; + if (this._pako === null) { + this._createPako(); + } + this._pako.push(utils.transformTo(ARRAY_TYPE, chunk.data), false); +}; + +/** + * @see GenericWorker.flush + */ +FlateWorker.prototype.flush = function () { + GenericWorker.prototype.flush.call(this); + if (this._pako === null) { + this._createPako(); + } + this._pako.push([], true); +}; +/** + * @see GenericWorker.cleanUp + */ +FlateWorker.prototype.cleanUp = function () { + GenericWorker.prototype.cleanUp.call(this); + this._pako = null; +}; + +/** + * Create the _pako object. + * TODO: lazy-loading this object isn't the best solution but it's the + * quickest. The best solution is to lazy-load the worker list. See also the + * issue #446. + */ +FlateWorker.prototype._createPako = function () { + this._pako = new pako[this._pakoAction]({ + raw: true, + level: this._pakoOptions.level || -1 // default compression + }); + var self = this; + this._pako.onData = function(data) { + self.push({ + data : data, + meta : self.meta + }); + }; +}; + +exports.compressWorker = function (compressionOptions) { + return new FlateWorker("Deflate", compressionOptions); +}; +exports.uncompressWorker = function () { + return new FlateWorker("Inflate", {}); +}; + +},{"./stream/GenericWorker":28,"./utils":32,"pako":38}],8:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var GenericWorker = require('../stream/GenericWorker'); +var utf8 = require('../utf8'); +var crc32 = require('../crc32'); +var signature = require('../signature'); + +/** + * Transform an integer into a string in hexadecimal. + * @private + * @param {number} dec the number to convert. + * @param {number} bytes the number of bytes to generate. + * @returns {string} the result. + */ +var decToHex = function(dec, bytes) { + var hex = "", i; + for (i = 0; i < bytes; i++) { + hex += String.fromCharCode(dec & 0xff); + dec = dec >>> 8; + } + return hex; +}; + +/** + * Generate the UNIX part of the external file attributes. + * @param {Object} unixPermissions the unix permissions or null. + * @param {Boolean} isDir true if the entry is a directory, false otherwise. + * @return {Number} a 32 bit integer. + * + * adapted from http://unix.stackexchange.com/questions/14705/the-zip-formats-external-file-attribute : + * + * TTTTsstrwxrwxrwx0000000000ADVSHR + * ^^^^____________________________ file type, see zipinfo.c (UNX_*) + * ^^^_________________________ setuid, setgid, sticky + * ^^^^^^^^^________________ permissions + * ^^^^^^^^^^______ not used ? + * ^^^^^^ DOS attribute bits : Archive, Directory, Volume label, System file, Hidden, Read only + */ +var generateUnixExternalFileAttr = function (unixPermissions, isDir) { + + var result = unixPermissions; + if (!unixPermissions) { + // I can't use octal values in strict mode, hence the hexa. + // 040775 => 0x41fd + // 0100664 => 0x81b4 + result = isDir ? 0x41fd : 0x81b4; + } + return (result & 0xFFFF) << 16; +}; + +/** + * Generate the DOS part of the external file attributes. + * @param {Object} dosPermissions the dos permissions or null. + * @param {Boolean} isDir true if the entry is a directory, false otherwise. + * @return {Number} a 32 bit integer. + * + * Bit 0 Read-Only + * Bit 1 Hidden + * Bit 2 System + * Bit 3 Volume Label + * Bit 4 Directory + * Bit 5 Archive + */ +var generateDosExternalFileAttr = function (dosPermissions, isDir) { + + // the dir flag is already set for compatibility + return (dosPermissions || 0) & 0x3F; +}; + +/** + * Generate the various parts used in the construction of the final zip file. + * @param {Object} streamInfo the hash with information about the compressed file. + * @param {Boolean} streamedContent is the content streamed ? + * @param {Boolean} streamingEnded is the stream finished ? + * @param {number} offset the current offset from the start of the zip file. + * @param {String} platform let's pretend we are this platform (change platform dependents fields) + * @param {Function} encodeFileName the function to encode the file name / comment. + * @return {Object} the zip parts. + */ +var generateZipParts = function(streamInfo, streamedContent, streamingEnded, offset, platform, encodeFileName) { + var file = streamInfo['file'], + compression = streamInfo['compression'], + useCustomEncoding = encodeFileName !== utf8.utf8encode, + encodedFileName = utils.transformTo("string", encodeFileName(file.name)), + utfEncodedFileName = utils.transformTo("string", utf8.utf8encode(file.name)), + comment = file.comment, + encodedComment = utils.transformTo("string", encodeFileName(comment)), + utfEncodedComment = utils.transformTo("string", utf8.utf8encode(comment)), + useUTF8ForFileName = utfEncodedFileName.length !== file.name.length, + useUTF8ForComment = utfEncodedComment.length !== comment.length, + dosTime, + dosDate, + extraFields = "", + unicodePathExtraField = "", + unicodeCommentExtraField = "", + dir = file.dir, + date = file.date; + + + var dataInfo = { + crc32 : 0, + compressedSize : 0, + uncompressedSize : 0 + }; + + // if the content is streamed, the sizes/crc32 are only available AFTER + // the end of the stream. + if (!streamedContent || streamingEnded) { + dataInfo.crc32 = streamInfo['crc32']; + dataInfo.compressedSize = streamInfo['compressedSize']; + dataInfo.uncompressedSize = streamInfo['uncompressedSize']; + } + + var bitflag = 0; + if (streamedContent) { + // Bit 3: the sizes/crc32 are set to zero in the local header. + // The correct values are put in the data descriptor immediately + // following the compressed data. + bitflag |= 0x0008; + } + if (!useCustomEncoding && (useUTF8ForFileName || useUTF8ForComment)) { + // Bit 11: Language encoding flag (EFS). + bitflag |= 0x0800; + } + + + var extFileAttr = 0; + var versionMadeBy = 0; + if (dir) { + // dos or unix, we set the dos dir flag + extFileAttr |= 0x00010; + } + if(platform === "UNIX") { + versionMadeBy = 0x031E; // UNIX, version 3.0 + extFileAttr |= generateUnixExternalFileAttr(file.unixPermissions, dir); + } else { // DOS or other, fallback to DOS + versionMadeBy = 0x0014; // DOS, version 2.0 + extFileAttr |= generateDosExternalFileAttr(file.dosPermissions, dir); + } + + // date + // @see http://www.delorie.com/djgpp/doc/rbinter/it/52/13.html + // @see http://www.delorie.com/djgpp/doc/rbinter/it/65/16.html + // @see http://www.delorie.com/djgpp/doc/rbinter/it/66/16.html + + dosTime = date.getUTCHours(); + dosTime = dosTime << 6; + dosTime = dosTime | date.getUTCMinutes(); + dosTime = dosTime << 5; + dosTime = dosTime | date.getUTCSeconds() / 2; + + dosDate = date.getUTCFullYear() - 1980; + dosDate = dosDate << 4; + dosDate = dosDate | (date.getUTCMonth() + 1); + dosDate = dosDate << 5; + dosDate = dosDate | date.getUTCDate(); + + if (useUTF8ForFileName) { + // set the unicode path extra field. unzip needs at least one extra + // field to correctly handle unicode path, so using the path is as good + // as any other information. This could improve the situation with + // other archive managers too. + // This field is usually used without the utf8 flag, with a non + // unicode path in the header (winrar, winzip). This helps (a bit) + // with the messy Windows' default compressed folders feature but + // breaks on p7zip which doesn't seek the unicode path extra field. + // So for now, UTF-8 everywhere ! + unicodePathExtraField = + // Version + decToHex(1, 1) + + // NameCRC32 + decToHex(crc32(encodedFileName), 4) + + // UnicodeName + utfEncodedFileName; + + extraFields += + // Info-ZIP Unicode Path Extra Field + "\x75\x70" + + // size + decToHex(unicodePathExtraField.length, 2) + + // content + unicodePathExtraField; + } + + if(useUTF8ForComment) { + + unicodeCommentExtraField = + // Version + decToHex(1, 1) + + // CommentCRC32 + decToHex(crc32(encodedComment), 4) + + // UnicodeName + utfEncodedComment; + + extraFields += + // Info-ZIP Unicode Path Extra Field + "\x75\x63" + + // size + decToHex(unicodeCommentExtraField.length, 2) + + // content + unicodeCommentExtraField; + } + + var header = ""; + + // version needed to extract + header += "\x0A\x00"; + // general purpose bit flag + header += decToHex(bitflag, 2); + // compression method + header += compression.magic; + // last mod file time + header += decToHex(dosTime, 2); + // last mod file date + header += decToHex(dosDate, 2); + // crc-32 + header += decToHex(dataInfo.crc32, 4); + // compressed size + header += decToHex(dataInfo.compressedSize, 4); + // uncompressed size + header += decToHex(dataInfo.uncompressedSize, 4); + // file name length + header += decToHex(encodedFileName.length, 2); + // extra field length + header += decToHex(extraFields.length, 2); + + + var fileRecord = signature.LOCAL_FILE_HEADER + header + encodedFileName + extraFields; + + var dirRecord = signature.CENTRAL_FILE_HEADER + + // version made by (00: DOS) + decToHex(versionMadeBy, 2) + + // file header (common to file and central directory) + header + + // file comment length + decToHex(encodedComment.length, 2) + + // disk number start + "\x00\x00" + + // internal file attributes TODO + "\x00\x00" + + // external file attributes + decToHex(extFileAttr, 4) + + // relative offset of local header + decToHex(offset, 4) + + // file name + encodedFileName + + // extra field + extraFields + + // file comment + encodedComment; + + return { + fileRecord: fileRecord, + dirRecord: dirRecord + }; +}; + +/** + * Generate the EOCD record. + * @param {Number} entriesCount the number of entries in the zip file. + * @param {Number} centralDirLength the length (in bytes) of the central dir. + * @param {Number} localDirLength the length (in bytes) of the local dir. + * @param {String} comment the zip file comment as a binary string. + * @param {Function} encodeFileName the function to encode the comment. + * @return {String} the EOCD record. + */ +var generateCentralDirectoryEnd = function (entriesCount, centralDirLength, localDirLength, comment, encodeFileName) { + var dirEnd = ""; + var encodedComment = utils.transformTo("string", encodeFileName(comment)); + + // end of central dir signature + dirEnd = signature.CENTRAL_DIRECTORY_END + + // number of this disk + "\x00\x00" + + // number of the disk with the start of the central directory + "\x00\x00" + + // total number of entries in the central directory on this disk + decToHex(entriesCount, 2) + + // total number of entries in the central directory + decToHex(entriesCount, 2) + + // size of the central directory 4 bytes + decToHex(centralDirLength, 4) + + // offset of start of central directory with respect to the starting disk number + decToHex(localDirLength, 4) + + // .ZIP file comment length + decToHex(encodedComment.length, 2) + + // .ZIP file comment + encodedComment; + + return dirEnd; +}; + +/** + * Generate data descriptors for a file entry. + * @param {Object} streamInfo the hash generated by a worker, containing information + * on the file entry. + * @return {String} the data descriptors. + */ +var generateDataDescriptors = function (streamInfo) { + var descriptor = ""; + descriptor = signature.DATA_DESCRIPTOR + + // crc-32 4 bytes + decToHex(streamInfo['crc32'], 4) + + // compressed size 4 bytes + decToHex(streamInfo['compressedSize'], 4) + + // uncompressed size 4 bytes + decToHex(streamInfo['uncompressedSize'], 4); + + return descriptor; +}; + + +/** + * A worker to concatenate other workers to create a zip file. + * @param {Boolean} streamFiles `true` to stream the content of the files, + * `false` to accumulate it. + * @param {String} comment the comment to use. + * @param {String} platform the platform to use, "UNIX" or "DOS". + * @param {Function} encodeFileName the function to encode file names and comments. + */ +function ZipFileWorker(streamFiles, comment, platform, encodeFileName) { + GenericWorker.call(this, "ZipFileWorker"); + // The number of bytes written so far. This doesn't count accumulated chunks. + this.bytesWritten = 0; + // The comment of the zip file + this.zipComment = comment; + // The platform "generating" the zip file. + this.zipPlatform = platform; + // the function to encode file names and comments. + this.encodeFileName = encodeFileName; + // Should we stream the content of the files ? + this.streamFiles = streamFiles; + // If `streamFiles` is false, we will need to accumulate the content of the + // files to calculate sizes / crc32 (and write them *before* the content). + // This boolean indicates if we are accumulating chunks (it will change a lot + // during the lifetime of this worker). + this.accumulate = false; + // The buffer receiving chunks when accumulating content. + this.contentBuffer = []; + // The list of generated directory records. + this.dirRecords = []; + // The offset (in bytes) from the beginning of the zip file for the current source. + this.currentSourceOffset = 0; + // The total number of entries in this zip file. + this.entriesCount = 0; + // the name of the file currently being added, null when handling the end of the zip file. + // Used for the emitted metadata. + this.currentFile = null; + + + + this._sources = []; +} +utils.inherits(ZipFileWorker, GenericWorker); + +/** + * @see GenericWorker.push + */ +ZipFileWorker.prototype.push = function (chunk) { + + var currentFilePercent = chunk.meta.percent || 0; + var entriesCount = this.entriesCount; + var remainingFiles = this._sources.length; + + if(this.accumulate) { + this.contentBuffer.push(chunk); + } else { + this.bytesWritten += chunk.data.length; + + GenericWorker.prototype.push.call(this, { + data : chunk.data, + meta : { + currentFile : this.currentFile, + percent : entriesCount ? (currentFilePercent + 100 * (entriesCount - remainingFiles - 1)) / entriesCount : 100 + } + }); + } +}; + +/** + * The worker started a new source (an other worker). + * @param {Object} streamInfo the streamInfo object from the new source. + */ +ZipFileWorker.prototype.openedSource = function (streamInfo) { + this.currentSourceOffset = this.bytesWritten; + this.currentFile = streamInfo['file'].name; + + var streamedContent = this.streamFiles && !streamInfo['file'].dir; + + // don't stream folders (because they don't have any content) + if(streamedContent) { + var record = generateZipParts(streamInfo, streamedContent, false, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); + this.push({ + data : record.fileRecord, + meta : {percent:0} + }); + } else { + // we need to wait for the whole file before pushing anything + this.accumulate = true; + } +}; + +/** + * The worker finished a source (an other worker). + * @param {Object} streamInfo the streamInfo object from the finished source. + */ +ZipFileWorker.prototype.closedSource = function (streamInfo) { + this.accumulate = false; + var streamedContent = this.streamFiles && !streamInfo['file'].dir; + var record = generateZipParts(streamInfo, streamedContent, true, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); + + this.dirRecords.push(record.dirRecord); + if(streamedContent) { + // after the streamed file, we put data descriptors + this.push({ + data : generateDataDescriptors(streamInfo), + meta : {percent:100} + }); + } else { + // the content wasn't streamed, we need to push everything now + // first the file record, then the content + this.push({ + data : record.fileRecord, + meta : {percent:0} + }); + while(this.contentBuffer.length) { + this.push(this.contentBuffer.shift()); + } + } + this.currentFile = null; +}; + +/** + * @see GenericWorker.flush + */ +ZipFileWorker.prototype.flush = function () { + + var localDirLength = this.bytesWritten; + for(var i = 0; i < this.dirRecords.length; i++) { + this.push({ + data : this.dirRecords[i], + meta : {percent:100} + }); + } + var centralDirLength = this.bytesWritten - localDirLength; + + var dirEnd = generateCentralDirectoryEnd(this.dirRecords.length, centralDirLength, localDirLength, this.zipComment, this.encodeFileName); + + this.push({ + data : dirEnd, + meta : {percent:100} + }); +}; + +/** + * Prepare the next source to be read. + */ +ZipFileWorker.prototype.prepareNextSource = function () { + this.previous = this._sources.shift(); + this.openedSource(this.previous.streamInfo); + if (this.isPaused) { + this.previous.pause(); + } else { + this.previous.resume(); + } +}; + +/** + * @see GenericWorker.registerPrevious + */ +ZipFileWorker.prototype.registerPrevious = function (previous) { + this._sources.push(previous); + var self = this; + + previous.on('data', function (chunk) { + self.processChunk(chunk); + }); + previous.on('end', function () { + self.closedSource(self.previous.streamInfo); + if(self._sources.length) { + self.prepareNextSource(); + } else { + self.end(); + } + }); + previous.on('error', function (e) { + self.error(e); + }); + return this; +}; + +/** + * @see GenericWorker.resume + */ +ZipFileWorker.prototype.resume = function () { + if(!GenericWorker.prototype.resume.call(this)) { + return false; + } + + if (!this.previous && this._sources.length) { + this.prepareNextSource(); + return true; + } + if (!this.previous && !this._sources.length && !this.generatedError) { + this.end(); + return true; + } +}; + +/** + * @see GenericWorker.error + */ +ZipFileWorker.prototype.error = function (e) { + var sources = this._sources; + if(!GenericWorker.prototype.error.call(this, e)) { + return false; + } + for(var i = 0; i < sources.length; i++) { + try { + sources[i].error(e); + } catch(e) { + // the `error` exploded, nothing to do + } + } + return true; +}; + +/** + * @see GenericWorker.lock + */ +ZipFileWorker.prototype.lock = function () { + GenericWorker.prototype.lock.call(this); + var sources = this._sources; + for(var i = 0; i < sources.length; i++) { + sources[i].lock(); + } +}; + +module.exports = ZipFileWorker; + +},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(require,module,exports){ +'use strict'; + +var compressions = require('../compressions'); +var ZipFileWorker = require('./ZipFileWorker'); + +/** + * Find the compression to use. + * @param {String} fileCompression the compression defined at the file level, if any. + * @param {String} zipCompression the compression defined at the load() level. + * @return {Object} the compression object to use. + */ +var getCompression = function (fileCompression, zipCompression) { + + var compressionName = fileCompression || zipCompression; + var compression = compressions[compressionName]; + if (!compression) { + throw new Error(compressionName + " is not a valid compression method !"); + } + return compression; +}; + +/** + * Create a worker to generate a zip file. + * @param {JSZip} zip the JSZip instance at the right root level. + * @param {Object} options to generate the zip file. + * @param {String} comment the comment to use. + */ +exports.generateWorker = function (zip, options, comment) { + + var zipFileWorker = new ZipFileWorker(options.streamFiles, comment, options.platform, options.encodeFileName); + var entriesCount = 0; + try { + + zip.forEach(function (relativePath, file) { + entriesCount++; + var compression = getCompression(file.options.compression, options.compression); + var compressionOptions = file.options.compressionOptions || options.compressionOptions || {}; + var dir = file.dir, date = file.date; + + file._compressWorker(compression, compressionOptions) + .withStreamInfo("file", { + name : relativePath, + dir : dir, + date : date, + comment : file.comment || "", + unixPermissions : file.unixPermissions, + dosPermissions : file.dosPermissions + }) + .pipe(zipFileWorker); + }); + zipFileWorker.entriesCount = entriesCount; + } catch (e) { + zipFileWorker.error(e); + } + + return zipFileWorker; +}; + +},{"../compressions":3,"./ZipFileWorker":8}],10:[function(require,module,exports){ +'use strict'; + +/** + * Representation a of zip file in js + * @constructor + */ +function JSZip() { + // if this constructor is used without `new`, it adds `new` before itself: + if(!(this instanceof JSZip)) { + return new JSZip(); + } + + if(arguments.length) { + throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); + } + + // object containing the files : + // { + // "folder/" : {...}, + // "folder/data.txt" : {...} + // } + // NOTE: we use a null prototype because we do not + // want filenames like "toString" coming from a zip file + // to overwrite methods and attributes in a normal Object. + this.files = Object.create(null); + + this.comment = null; + + // Where we are in the hierarchy + this.root = ""; + this.clone = function() { + var newObj = new JSZip(); + for (var i in this) { + if (typeof this[i] !== "function") { + newObj[i] = this[i]; + } + } + return newObj; + }; +} +JSZip.prototype = require('./object'); +JSZip.prototype.loadAsync = require('./load'); +JSZip.support = require('./support'); +JSZip.defaults = require('./defaults'); + +// TODO find a better way to handle this version, +// a require('package.json').version doesn't work with webpack, see #327 +JSZip.version = "3.7.1"; + +JSZip.loadAsync = function (content, options) { + return new JSZip().loadAsync(content, options); +}; + +JSZip.external = require("./external"); +module.exports = JSZip; + +},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(require,module,exports){ +'use strict'; +var utils = require('./utils'); +var external = require("./external"); +var utf8 = require('./utf8'); +var ZipEntries = require('./zipEntries'); +var Crc32Probe = require('./stream/Crc32Probe'); +var nodejsUtils = require("./nodejsUtils"); + +/** + * Check the CRC32 of an entry. + * @param {ZipEntry} zipEntry the zip entry to check. + * @return {Promise} the result. + */ +function checkEntryCRC32(zipEntry) { + return new external.Promise(function (resolve, reject) { + var worker = zipEntry.decompressed.getContentWorker().pipe(new Crc32Probe()); + worker.on("error", function (e) { + reject(e); + }) + .on("end", function () { + if (worker.streamInfo.crc32 !== zipEntry.decompressed.crc32) { + reject(new Error("Corrupted zip : CRC32 mismatch")); + } else { + resolve(); + } + }) + .resume(); + }); +} + +module.exports = function (data, options) { + var zip = this; + options = utils.extend(options || {}, { + base64: false, + checkCRC32: false, + optimizedBinaryString: false, + createFolders: false, + decodeFileName: utf8.utf8decode + }); + + if (nodejsUtils.isNode && nodejsUtils.isStream(data)) { + return external.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")); + } + + return utils.prepareContent("the loaded zip file", data, true, options.optimizedBinaryString, options.base64) + .then(function (data) { + var zipEntries = new ZipEntries(options); + zipEntries.load(data); + return zipEntries; + }).then(function checkCRC32(zipEntries) { + var promises = [external.Promise.resolve(zipEntries)]; + var files = zipEntries.files; + if (options.checkCRC32) { + for (var i = 0; i < files.length; i++) { + promises.push(checkEntryCRC32(files[i])); + } + } + return external.Promise.all(promises); + }).then(function addFiles(results) { + var zipEntries = results.shift(); + var files = zipEntries.files; + for (var i = 0; i < files.length; i++) { + var input = files[i]; + zip.file(input.fileNameStr, input.decompressed, { + binary: true, + optimizedBinaryString: true, + date: input.date, + dir: input.dir, + comment: input.fileCommentStr.length ? input.fileCommentStr : null, + unixPermissions: input.unixPermissions, + dosPermissions: input.dosPermissions, + createFolders: options.createFolders + }); + } + if (zipEntries.zipComment.length) { + zip.comment = zipEntries.zipComment; + } + + return zip; + }); +}; + +},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(require,module,exports){ +"use strict"; + +var utils = require('../utils'); +var GenericWorker = require('../stream/GenericWorker'); + +/** + * A worker that use a nodejs stream as source. + * @constructor + * @param {String} filename the name of the file entry for this stream. + * @param {Readable} stream the nodejs stream. + */ +function NodejsStreamInputAdapter(filename, stream) { + GenericWorker.call(this, "Nodejs stream input adapter for " + filename); + this._upstreamEnded = false; + this._bindStream(stream); +} + +utils.inherits(NodejsStreamInputAdapter, GenericWorker); + +/** + * Prepare the stream and bind the callbacks on it. + * Do this ASAP on node 0.10 ! A lazy binding doesn't always work. + * @param {Stream} stream the nodejs stream to use. + */ +NodejsStreamInputAdapter.prototype._bindStream = function (stream) { + var self = this; + this._stream = stream; + stream.pause(); + stream + .on("data", function (chunk) { + self.push({ + data: chunk, + meta : { + percent : 0 + } + }); + }) + .on("error", function (e) { + if(self.isPaused) { + this.generatedError = e; + } else { + self.error(e); + } + }) + .on("end", function () { + if(self.isPaused) { + self._upstreamEnded = true; + } else { + self.end(); + } + }); +}; +NodejsStreamInputAdapter.prototype.pause = function () { + if(!GenericWorker.prototype.pause.call(this)) { + return false; + } + this._stream.pause(); + return true; +}; +NodejsStreamInputAdapter.prototype.resume = function () { + if(!GenericWorker.prototype.resume.call(this)) { + return false; + } + + if(this._upstreamEnded) { + this.end(); + } else { + this._stream.resume(); + } + + return true; +}; + +module.exports = NodejsStreamInputAdapter; + +},{"../stream/GenericWorker":28,"../utils":32}],13:[function(require,module,exports){ +'use strict'; + +var Readable = require('readable-stream').Readable; + +var utils = require('../utils'); +utils.inherits(NodejsStreamOutputAdapter, Readable); + +/** +* A nodejs stream using a worker as source. +* @see the SourceWrapper in http://nodejs.org/api/stream.html +* @constructor +* @param {StreamHelper} helper the helper wrapping the worker +* @param {Object} options the nodejs stream options +* @param {Function} updateCb the update callback. +*/ +function NodejsStreamOutputAdapter(helper, options, updateCb) { + Readable.call(this, options); + this._helper = helper; + + var self = this; + helper.on("data", function (data, meta) { + if (!self.push(data)) { + self._helper.pause(); + } + if(updateCb) { + updateCb(meta); + } + }) + .on("error", function(e) { + self.emit('error', e); + }) + .on("end", function () { + self.push(null); + }); +} + + +NodejsStreamOutputAdapter.prototype._read = function() { + this._helper.resume(); +}; + +module.exports = NodejsStreamOutputAdapter; + +},{"../utils":32,"readable-stream":16}],14:[function(require,module,exports){ +'use strict'; + +module.exports = { + /** + * True if this is running in Nodejs, will be undefined in a browser. + * In a browser, browserify won't include this file and the whole module + * will be resolved an empty object. + */ + isNode : typeof Buffer !== "undefined", + /** + * Create a new nodejs Buffer from an existing content. + * @param {Object} data the data to pass to the constructor. + * @param {String} encoding the encoding to use. + * @return {Buffer} a new Buffer. + */ + newBufferFrom: function(data, encoding) { + if (Buffer.from && Buffer.from !== Uint8Array.from) { + return Buffer.from(data, encoding); + } else { + if (typeof data === "number") { + // Safeguard for old Node.js versions. On newer versions, + // Buffer.from(number) / Buffer(number, encoding) already throw. + throw new Error("The \"data\" argument must not be a number"); + } + return new Buffer(data, encoding); + } + }, + /** + * Create a new nodejs Buffer with the specified size. + * @param {Integer} size the size of the buffer. + * @return {Buffer} a new Buffer. + */ + allocBuffer: function (size) { + if (Buffer.alloc) { + return Buffer.alloc(size); + } else { + var buf = new Buffer(size); + buf.fill(0); + return buf; + } + }, + /** + * Find out if an object is a Buffer. + * @param {Object} b the object to test. + * @return {Boolean} true if the object is a Buffer, false otherwise. + */ + isBuffer : function(b){ + return Buffer.isBuffer(b); + }, + + isStream : function (obj) { + return obj && + typeof obj.on === "function" && + typeof obj.pause === "function" && + typeof obj.resume === "function"; + } +}; + +},{}],15:[function(require,module,exports){ +'use strict'; +var utf8 = require('./utf8'); +var utils = require('./utils'); +var GenericWorker = require('./stream/GenericWorker'); +var StreamHelper = require('./stream/StreamHelper'); +var defaults = require('./defaults'); +var CompressedObject = require('./compressedObject'); +var ZipObject = require('./zipObject'); +var generate = require("./generate"); +var nodejsUtils = require("./nodejsUtils"); +var NodejsStreamInputAdapter = require("./nodejs/NodejsStreamInputAdapter"); + + +/** + * Add a file in the current folder. + * @private + * @param {string} name the name of the file + * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data of the file + * @param {Object} originalOptions the options of the file + * @return {Object} the new file. + */ +var fileAdd = function(name, data, originalOptions) { + // be sure sub folders exist + var dataType = utils.getTypeOf(data), + parent; + + + /* + * Correct options. + */ + + var o = utils.extend(originalOptions || {}, defaults); + o.date = o.date || new Date(); + if (o.compression !== null) { + o.compression = o.compression.toUpperCase(); + } + + if (typeof o.unixPermissions === "string") { + o.unixPermissions = parseInt(o.unixPermissions, 8); + } + + // UNX_IFDIR 0040000 see zipinfo.c + if (o.unixPermissions && (o.unixPermissions & 0x4000)) { + o.dir = true; + } + // Bit 4 Directory + if (o.dosPermissions && (o.dosPermissions & 0x0010)) { + o.dir = true; + } + + if (o.dir) { + name = forceTrailingSlash(name); + } + if (o.createFolders && (parent = parentFolder(name))) { + folderAdd.call(this, parent, true); + } + + var isUnicodeString = dataType === "string" && o.binary === false && o.base64 === false; + if (!originalOptions || typeof originalOptions.binary === "undefined") { + o.binary = !isUnicodeString; + } + + + var isCompressedEmpty = (data instanceof CompressedObject) && data.uncompressedSize === 0; + + if (isCompressedEmpty || o.dir || !data || data.length === 0) { + o.base64 = false; + o.binary = true; + data = ""; + o.compression = "STORE"; + dataType = "string"; + } + + /* + * Convert content to fit. + */ + + var zipObjectContent = null; + if (data instanceof CompressedObject || data instanceof GenericWorker) { + zipObjectContent = data; + } else if (nodejsUtils.isNode && nodejsUtils.isStream(data)) { + zipObjectContent = new NodejsStreamInputAdapter(name, data); + } else { + zipObjectContent = utils.prepareContent(name, data, o.binary, o.optimizedBinaryString, o.base64); + } + + var object = new ZipObject(name, zipObjectContent, o); + this.files[name] = object; + /* + TODO: we can't throw an exception because we have async promises + (we can have a promise of a Date() for example) but returning a + promise is useless because file(name, data) returns the JSZip + object for chaining. Should we break that to allow the user + to catch the error ? + + return external.Promise.resolve(zipObjectContent) + .then(function () { + return object; + }); + */ +}; + +/** + * Find the parent folder of the path. + * @private + * @param {string} path the path to use + * @return {string} the parent folder, or "" + */ +var parentFolder = function (path) { + if (path.slice(-1) === '/') { + path = path.substring(0, path.length - 1); + } + var lastSlash = path.lastIndexOf('/'); + return (lastSlash > 0) ? path.substring(0, lastSlash) : ""; +}; + +/** + * Returns the path with a slash at the end. + * @private + * @param {String} path the path to check. + * @return {String} the path with a trailing slash. + */ +var forceTrailingSlash = function(path) { + // Check the name ends with a / + if (path.slice(-1) !== "/") { + path += "/"; // IE doesn't like substr(-1) + } + return path; +}; + +/** + * Add a (sub) folder in the current folder. + * @private + * @param {string} name the folder's name + * @param {boolean=} [createFolders] If true, automatically create sub + * folders. Defaults to false. + * @return {Object} the new folder. + */ +var folderAdd = function(name, createFolders) { + createFolders = (typeof createFolders !== 'undefined') ? createFolders : defaults.createFolders; + + name = forceTrailingSlash(name); + + // Does this folder already exist? + if (!this.files[name]) { + fileAdd.call(this, name, null, { + dir: true, + createFolders: createFolders + }); + } + return this.files[name]; +}; + +/** +* Cross-window, cross-Node-context regular expression detection +* @param {Object} object Anything +* @return {Boolean} true if the object is a regular expression, +* false otherwise +*/ +function isRegExp(object) { + return Object.prototype.toString.call(object) === "[object RegExp]"; +} + +// return the actual prototype of JSZip +var out = { + /** + * @see loadAsync + */ + load: function() { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); + }, + + + /** + * Call a callback function for each entry at this folder level. + * @param {Function} cb the callback function: + * function (relativePath, file) {...} + * It takes 2 arguments : the relative path and the file. + */ + forEach: function(cb) { + var filename, relativePath, file; + /* jshint ignore:start */ + // ignore warning about unwanted properties because this.files is a null prototype object + for (filename in this.files) { + file = this.files[filename]; + relativePath = filename.slice(this.root.length, filename.length); + if (relativePath && filename.slice(0, this.root.length) === this.root) { // the file is in the current root + cb(relativePath, file); // TODO reverse the parameters ? need to be clean AND consistent with the filter search fn... + } + } + /* jshint ignore:end */ + }, + + /** + * Filter nested files/folders with the specified function. + * @param {Function} search the predicate to use : + * function (relativePath, file) {...} + * It takes 2 arguments : the relative path and the file. + * @return {Array} An array of matching elements. + */ + filter: function(search) { + var result = []; + this.forEach(function (relativePath, entry) { + if (search(relativePath, entry)) { // the file matches the function + result.push(entry); + } + + }); + return result; + }, + + /** + * Add a file to the zip file, or search a file. + * @param {string|RegExp} name The name of the file to add (if data is defined), + * the name of the file to find (if no data) or a regex to match files. + * @param {String|ArrayBuffer|Uint8Array|Buffer} data The file data, either raw or base64 encoded + * @param {Object} o File options + * @return {JSZip|Object|Array} this JSZip object (when adding a file), + * a file (when searching by string) or an array of files (when searching by regex). + */ + file: function(name, data, o) { + if (arguments.length === 1) { + if (isRegExp(name)) { + var regexp = name; + return this.filter(function(relativePath, file) { + return !file.dir && regexp.test(relativePath); + }); + } + else { // text + var obj = this.files[this.root + name]; + if (obj && !obj.dir) { + return obj; + } else { + return null; + } + } + } + else { // more than one argument : we have data ! + name = this.root + name; + fileAdd.call(this, name, data, o); + } + return this; + }, + + /** + * Add a directory to the zip file, or search. + * @param {String|RegExp} arg The name of the directory to add, or a regex to search folders. + * @return {JSZip} an object with the new directory as the root, or an array containing matching folders. + */ + folder: function(arg) { + if (!arg) { + return this; + } + + if (isRegExp(arg)) { + return this.filter(function(relativePath, file) { + return file.dir && arg.test(relativePath); + }); + } + + // else, name is a new folder + var name = this.root + arg; + var newFolder = folderAdd.call(this, name); + + // Allow chaining by returning a new object with this folder as the root + var ret = this.clone(); + ret.root = newFolder.name; + return ret; + }, + + /** + * Delete a file, or a directory and all sub-files, from the zip + * @param {string} name the name of the file to delete + * @return {JSZip} this JSZip object + */ + remove: function(name) { + name = this.root + name; + var file = this.files[name]; + if (!file) { + // Look for any folders + if (name.slice(-1) !== "/") { + name += "/"; + } + file = this.files[name]; + } + + if (file && !file.dir) { + // file + delete this.files[name]; + } else { + // maybe a folder, delete recursively + var kids = this.filter(function(relativePath, file) { + return file.name.slice(0, name.length) === name; + }); + for (var i = 0; i < kids.length; i++) { + delete this.files[kids[i].name]; + } + } + + return this; + }, + + /** + * Generate the complete zip file + * @param {Object} options the options to generate the zip file : + * - compression, "STORE" by default. + * - type, "base64" by default. Values are : string, base64, uint8array, arraybuffer, blob. + * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the zip file + */ + generate: function(options) { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); + }, + + /** + * Generate the complete zip file as an internal stream. + * @param {Object} options the options to generate the zip file : + * - compression, "STORE" by default. + * - type, "base64" by default. Values are : string, base64, uint8array, arraybuffer, blob. + * @return {StreamHelper} the streamed zip file. + */ + generateInternalStream: function(options) { + var worker, opts = {}; + try { + opts = utils.extend(options || {}, { + streamFiles: false, + compression: "STORE", + compressionOptions : null, + type: "", + platform: "DOS", + comment: null, + mimeType: 'application/zip', + encodeFileName: utf8.utf8encode + }); + + opts.type = opts.type.toLowerCase(); + opts.compression = opts.compression.toUpperCase(); + + // "binarystring" is preferred but the internals use "string". + if(opts.type === "binarystring") { + opts.type = "string"; + } + + if (!opts.type) { + throw new Error("No output type specified."); + } + + utils.checkSupport(opts.type); + + // accept nodejs `process.platform` + if( + opts.platform === 'darwin' || + opts.platform === 'freebsd' || + opts.platform === 'linux' || + opts.platform === 'sunos' + ) { + opts.platform = "UNIX"; + } + if (opts.platform === 'win32') { + opts.platform = "DOS"; + } + + var comment = opts.comment || this.comment || ""; + worker = generate.generateWorker(this, opts, comment); + } catch (e) { + worker = new GenericWorker("error"); + worker.error(e); + } + return new StreamHelper(worker, opts.type || "string", opts.mimeType); + }, + /** + * Generate the complete zip file asynchronously. + * @see generateInternalStream + */ + generateAsync: function(options, onUpdate) { + return this.generateInternalStream(options).accumulate(onUpdate); + }, + /** + * Generate the complete zip file asynchronously. + * @see generateInternalStream + */ + generateNodeStream: function(options, onUpdate) { + options = options || {}; + if (!options.type) { + options.type = "nodebuffer"; + } + return this.generateInternalStream(options).toNodejsStream(onUpdate); + } +}; +module.exports = out; + +},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(require,module,exports){ +/* + * This file is used by module bundlers (browserify/webpack/etc) when + * including a stream implementation. We use "readable-stream" to get a + * consistent behavior between nodejs versions but bundlers often have a shim + * for "stream". Using this shim greatly improve the compatibility and greatly + * reduce the final size of the bundle (only one stream implementation, not + * two). + */ +module.exports = require("stream"); + +},{"stream":undefined}],17:[function(require,module,exports){ +'use strict'; +var DataReader = require('./DataReader'); +var utils = require('../utils'); + +function ArrayReader(data) { + DataReader.call(this, data); + for(var i = 0; i < this.data.length; i++) { + data[i] = data[i] & 0xFF; + } +} +utils.inherits(ArrayReader, DataReader); +/** + * @see DataReader.byteAt + */ +ArrayReader.prototype.byteAt = function(i) { + return this.data[this.zero + i]; +}; +/** + * @see DataReader.lastIndexOfSignature + */ +ArrayReader.prototype.lastIndexOfSignature = function(sig) { + var sig0 = sig.charCodeAt(0), + sig1 = sig.charCodeAt(1), + sig2 = sig.charCodeAt(2), + sig3 = sig.charCodeAt(3); + for (var i = this.length - 4; i >= 0; --i) { + if (this.data[i] === sig0 && this.data[i + 1] === sig1 && this.data[i + 2] === sig2 && this.data[i + 3] === sig3) { + return i - this.zero; + } + } + + return -1; +}; +/** + * @see DataReader.readAndCheckSignature + */ +ArrayReader.prototype.readAndCheckSignature = function (sig) { + var sig0 = sig.charCodeAt(0), + sig1 = sig.charCodeAt(1), + sig2 = sig.charCodeAt(2), + sig3 = sig.charCodeAt(3), + data = this.readData(4); + return sig0 === data[0] && sig1 === data[1] && sig2 === data[2] && sig3 === data[3]; +}; +/** + * @see DataReader.readData + */ +ArrayReader.prototype.readData = function(size) { + this.checkOffset(size); + if(size === 0) { + return []; + } + var result = this.data.slice(this.zero + this.index, this.zero + this.index + size); + this.index += size; + return result; +}; +module.exports = ArrayReader; + +},{"../utils":32,"./DataReader":18}],18:[function(require,module,exports){ +'use strict'; +var utils = require('../utils'); + +function DataReader(data) { + this.data = data; // type : see implementation + this.length = data.length; + this.index = 0; + this.zero = 0; +} +DataReader.prototype = { + /** + * Check that the offset will not go too far. + * @param {string} offset the additional offset to check. + * @throws {Error} an Error if the offset is out of bounds. + */ + checkOffset: function(offset) { + this.checkIndex(this.index + offset); + }, + /** + * Check that the specified index will not be too far. + * @param {string} newIndex the index to check. + * @throws {Error} an Error if the index is out of bounds. + */ + checkIndex: function(newIndex) { + if (this.length < this.zero + newIndex || newIndex < 0) { + throw new Error("End of data reached (data length = " + this.length + ", asked index = " + (newIndex) + "). Corrupted zip ?"); + } + }, + /** + * Change the index. + * @param {number} newIndex The new index. + * @throws {Error} if the new index is out of the data. + */ + setIndex: function(newIndex) { + this.checkIndex(newIndex); + this.index = newIndex; + }, + /** + * Skip the next n bytes. + * @param {number} n the number of bytes to skip. + * @throws {Error} if the new index is out of the data. + */ + skip: function(n) { + this.setIndex(this.index + n); + }, + /** + * Get the byte at the specified index. + * @param {number} i the index to use. + * @return {number} a byte. + */ + byteAt: function(i) { + // see implementations + }, + /** + * Get the next number with a given byte size. + * @param {number} size the number of bytes to read. + * @return {number} the corresponding number. + */ + readInt: function(size) { + var result = 0, + i; + this.checkOffset(size); + for (i = this.index + size - 1; i >= this.index; i--) { + result = (result << 8) + this.byteAt(i); + } + this.index += size; + return result; + }, + /** + * Get the next string with a given byte size. + * @param {number} size the number of bytes to read. + * @return {string} the corresponding string. + */ + readString: function(size) { + return utils.transformTo("string", this.readData(size)); + }, + /** + * Get raw data without conversion, bytes. + * @param {number} size the number of bytes to read. + * @return {Object} the raw data, implementation specific. + */ + readData: function(size) { + // see implementations + }, + /** + * Find the last occurrence of a zip signature (4 bytes). + * @param {string} sig the signature to find. + * @return {number} the index of the last occurrence, -1 if not found. + */ + lastIndexOfSignature: function(sig) { + // see implementations + }, + /** + * Read the signature (4 bytes) at the current position and compare it with sig. + * @param {string} sig the expected signature + * @return {boolean} true if the signature matches, false otherwise. + */ + readAndCheckSignature: function(sig) { + // see implementations + }, + /** + * Get the next date. + * @return {Date} the date. + */ + readDate: function() { + var dostime = this.readInt(4); + return new Date(Date.UTC( + ((dostime >> 25) & 0x7f) + 1980, // year + ((dostime >> 21) & 0x0f) - 1, // month + (dostime >> 16) & 0x1f, // day + (dostime >> 11) & 0x1f, // hour + (dostime >> 5) & 0x3f, // minute + (dostime & 0x1f) << 1)); // second + } +}; +module.exports = DataReader; + +},{"../utils":32}],19:[function(require,module,exports){ +'use strict'; +var Uint8ArrayReader = require('./Uint8ArrayReader'); +var utils = require('../utils'); + +function NodeBufferReader(data) { + Uint8ArrayReader.call(this, data); +} +utils.inherits(NodeBufferReader, Uint8ArrayReader); + +/** + * @see DataReader.readData + */ +NodeBufferReader.prototype.readData = function(size) { + this.checkOffset(size); + var result = this.data.slice(this.zero + this.index, this.zero + this.index + size); + this.index += size; + return result; +}; +module.exports = NodeBufferReader; + +},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(require,module,exports){ +'use strict'; +var DataReader = require('./DataReader'); +var utils = require('../utils'); + +function StringReader(data) { + DataReader.call(this, data); +} +utils.inherits(StringReader, DataReader); +/** + * @see DataReader.byteAt + */ +StringReader.prototype.byteAt = function(i) { + return this.data.charCodeAt(this.zero + i); +}; +/** + * @see DataReader.lastIndexOfSignature + */ +StringReader.prototype.lastIndexOfSignature = function(sig) { + return this.data.lastIndexOf(sig) - this.zero; +}; +/** + * @see DataReader.readAndCheckSignature + */ +StringReader.prototype.readAndCheckSignature = function (sig) { + var data = this.readData(4); + return sig === data; +}; +/** + * @see DataReader.readData + */ +StringReader.prototype.readData = function(size) { + this.checkOffset(size); + // this will work because the constructor applied the "& 0xff" mask. + var result = this.data.slice(this.zero + this.index, this.zero + this.index + size); + this.index += size; + return result; +}; +module.exports = StringReader; + +},{"../utils":32,"./DataReader":18}],21:[function(require,module,exports){ +'use strict'; +var ArrayReader = require('./ArrayReader'); +var utils = require('../utils'); + +function Uint8ArrayReader(data) { + ArrayReader.call(this, data); +} +utils.inherits(Uint8ArrayReader, ArrayReader); +/** + * @see DataReader.readData + */ +Uint8ArrayReader.prototype.readData = function(size) { + this.checkOffset(size); + if(size === 0) { + // in IE10, when using subarray(idx, idx), we get the array [0x00] instead of []. + return new Uint8Array(0); + } + var result = this.data.subarray(this.zero + this.index, this.zero + this.index + size); + this.index += size; + return result; +}; +module.exports = Uint8ArrayReader; + +},{"../utils":32,"./ArrayReader":17}],22:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var support = require('../support'); +var ArrayReader = require('./ArrayReader'); +var StringReader = require('./StringReader'); +var NodeBufferReader = require('./NodeBufferReader'); +var Uint8ArrayReader = require('./Uint8ArrayReader'); + +/** + * Create a reader adapted to the data. + * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data to read. + * @return {DataReader} the data reader. + */ +module.exports = function (data) { + var type = utils.getTypeOf(data); + utils.checkSupport(type); + if (type === "string" && !support.uint8array) { + return new StringReader(data); + } + if (type === "nodebuffer") { + return new NodeBufferReader(data); + } + if (support.uint8array) { + return new Uint8ArrayReader(utils.transformTo("uint8array", data)); + } + return new ArrayReader(utils.transformTo("array", data)); +}; + +},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(require,module,exports){ +'use strict'; +exports.LOCAL_FILE_HEADER = "PK\x03\x04"; +exports.CENTRAL_FILE_HEADER = "PK\x01\x02"; +exports.CENTRAL_DIRECTORY_END = "PK\x05\x06"; +exports.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK\x06\x07"; +exports.ZIP64_CENTRAL_DIRECTORY_END = "PK\x06\x06"; +exports.DATA_DESCRIPTOR = "PK\x07\x08"; + +},{}],24:[function(require,module,exports){ +'use strict'; + +var GenericWorker = require('./GenericWorker'); +var utils = require('../utils'); + +/** + * A worker which convert chunks to a specified type. + * @constructor + * @param {String} destType the destination type. + */ +function ConvertWorker(destType) { + GenericWorker.call(this, "ConvertWorker to " + destType); + this.destType = destType; +} +utils.inherits(ConvertWorker, GenericWorker); + +/** + * @see GenericWorker.processChunk + */ +ConvertWorker.prototype.processChunk = function (chunk) { + this.push({ + data : utils.transformTo(this.destType, chunk.data), + meta : chunk.meta + }); +}; +module.exports = ConvertWorker; + +},{"../utils":32,"./GenericWorker":28}],25:[function(require,module,exports){ +'use strict'; + +var GenericWorker = require('./GenericWorker'); +var crc32 = require('../crc32'); +var utils = require('../utils'); + +/** + * A worker which calculate the crc32 of the data flowing through. + * @constructor + */ +function Crc32Probe() { + GenericWorker.call(this, "Crc32Probe"); + this.withStreamInfo("crc32", 0); +} +utils.inherits(Crc32Probe, GenericWorker); + +/** + * @see GenericWorker.processChunk + */ +Crc32Probe.prototype.processChunk = function (chunk) { + this.streamInfo.crc32 = crc32(chunk.data, this.streamInfo.crc32 || 0); + this.push(chunk); +}; +module.exports = Crc32Probe; + +},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var GenericWorker = require('./GenericWorker'); + +/** + * A worker which calculate the total length of the data flowing through. + * @constructor + * @param {String} propName the name used to expose the length + */ +function DataLengthProbe(propName) { + GenericWorker.call(this, "DataLengthProbe for " + propName); + this.propName = propName; + this.withStreamInfo(propName, 0); +} +utils.inherits(DataLengthProbe, GenericWorker); + +/** + * @see GenericWorker.processChunk + */ +DataLengthProbe.prototype.processChunk = function (chunk) { + if(chunk) { + var length = this.streamInfo[this.propName] || 0; + this.streamInfo[this.propName] = length + chunk.data.length; + } + GenericWorker.prototype.processChunk.call(this, chunk); +}; +module.exports = DataLengthProbe; + + +},{"../utils":32,"./GenericWorker":28}],27:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var GenericWorker = require('./GenericWorker'); + +// the size of the generated chunks +// TODO expose this as a public variable +var DEFAULT_BLOCK_SIZE = 16 * 1024; + +/** + * A worker that reads a content and emits chunks. + * @constructor + * @param {Promise} dataP the promise of the data to split + */ +function DataWorker(dataP) { + GenericWorker.call(this, "DataWorker"); + var self = this; + this.dataIsReady = false; + this.index = 0; + this.max = 0; + this.data = null; + this.type = ""; + + this._tickScheduled = false; + + dataP.then(function (data) { + self.dataIsReady = true; + self.data = data; + self.max = data && data.length || 0; + self.type = utils.getTypeOf(data); + if(!self.isPaused) { + self._tickAndRepeat(); + } + }, function (e) { + self.error(e); + }); +} + +utils.inherits(DataWorker, GenericWorker); + +/** + * @see GenericWorker.cleanUp + */ +DataWorker.prototype.cleanUp = function () { + GenericWorker.prototype.cleanUp.call(this); + this.data = null; +}; + +/** + * @see GenericWorker.resume + */ +DataWorker.prototype.resume = function () { + if(!GenericWorker.prototype.resume.call(this)) { + return false; + } + + if (!this._tickScheduled && this.dataIsReady) { + this._tickScheduled = true; + utils.delay(this._tickAndRepeat, [], this); + } + return true; +}; + +/** + * Trigger a tick a schedule an other call to this function. + */ +DataWorker.prototype._tickAndRepeat = function() { + this._tickScheduled = false; + if(this.isPaused || this.isFinished) { + return; + } + this._tick(); + if(!this.isFinished) { + utils.delay(this._tickAndRepeat, [], this); + this._tickScheduled = true; + } +}; + +/** + * Read and push a chunk. + */ +DataWorker.prototype._tick = function() { + + if(this.isPaused || this.isFinished) { + return false; + } + + var size = DEFAULT_BLOCK_SIZE; + var data = null, nextIndex = Math.min(this.max, this.index + size); + if (this.index >= this.max) { + // EOF + return this.end(); + } else { + switch(this.type) { + case "string": + data = this.data.substring(this.index, nextIndex); + break; + case "uint8array": + data = this.data.subarray(this.index, nextIndex); + break; + case "array": + case "nodebuffer": + data = this.data.slice(this.index, nextIndex); + break; + } + this.index = nextIndex; + return this.push({ + data : data, + meta : { + percent : this.max ? this.index / this.max * 100 : 0 + } + }); + } +}; + +module.exports = DataWorker; + +},{"../utils":32,"./GenericWorker":28}],28:[function(require,module,exports){ +'use strict'; + +/** + * A worker that does nothing but passing chunks to the next one. This is like + * a nodejs stream but with some differences. On the good side : + * - it works on IE 6-9 without any issue / polyfill + * - it weights less than the full dependencies bundled with browserify + * - it forwards errors (no need to declare an error handler EVERYWHERE) + * + * A chunk is an object with 2 attributes : `meta` and `data`. The former is an + * object containing anything (`percent` for example), see each worker for more + * details. The latter is the real data (String, Uint8Array, etc). + * + * @constructor + * @param {String} name the name of the stream (mainly used for debugging purposes) + */ +function GenericWorker(name) { + // the name of the worker + this.name = name || "default"; + // an object containing metadata about the workers chain + this.streamInfo = {}; + // an error which happened when the worker was paused + this.generatedError = null; + // an object containing metadata to be merged by this worker into the general metadata + this.extraStreamInfo = {}; + // true if the stream is paused (and should not do anything), false otherwise + this.isPaused = true; + // true if the stream is finished (and should not do anything), false otherwise + this.isFinished = false; + // true if the stream is locked to prevent further structure updates (pipe), false otherwise + this.isLocked = false; + // the event listeners + this._listeners = { + 'data':[], + 'end':[], + 'error':[] + }; + // the previous worker, if any + this.previous = null; +} + +GenericWorker.prototype = { + /** + * Push a chunk to the next workers. + * @param {Object} chunk the chunk to push + */ + push : function (chunk) { + this.emit("data", chunk); + }, + /** + * End the stream. + * @return {Boolean} true if this call ended the worker, false otherwise. + */ + end : function () { + if (this.isFinished) { + return false; + } + + this.flush(); + try { + this.emit("end"); + this.cleanUp(); + this.isFinished = true; + } catch (e) { + this.emit("error", e); + } + return true; + }, + /** + * End the stream with an error. + * @param {Error} e the error which caused the premature end. + * @return {Boolean} true if this call ended the worker with an error, false otherwise. + */ + error : function (e) { + if (this.isFinished) { + return false; + } + + if(this.isPaused) { + this.generatedError = e; + } else { + this.isFinished = true; + + this.emit("error", e); + + // in the workers chain exploded in the middle of the chain, + // the error event will go downward but we also need to notify + // workers upward that there has been an error. + if(this.previous) { + this.previous.error(e); + } + + this.cleanUp(); + } + return true; + }, + /** + * Add a callback on an event. + * @param {String} name the name of the event (data, end, error) + * @param {Function} listener the function to call when the event is triggered + * @return {GenericWorker} the current object for chainability + */ + on : function (name, listener) { + this._listeners[name].push(listener); + return this; + }, + /** + * Clean any references when a worker is ending. + */ + cleanUp : function () { + this.streamInfo = this.generatedError = this.extraStreamInfo = null; + this._listeners = []; + }, + /** + * Trigger an event. This will call registered callback with the provided arg. + * @param {String} name the name of the event (data, end, error) + * @param {Object} arg the argument to call the callback with. + */ + emit : function (name, arg) { + if (this._listeners[name]) { + for(var i = 0; i < this._listeners[name].length; i++) { + this._listeners[name][i].call(this, arg); + } + } + }, + /** + * Chain a worker with an other. + * @param {Worker} next the worker receiving events from the current one. + * @return {worker} the next worker for chainability + */ + pipe : function (next) { + return next.registerPrevious(this); + }, + /** + * Same as `pipe` in the other direction. + * Using an API with `pipe(next)` is very easy. + * Implementing the API with the point of view of the next one registering + * a source is easier, see the ZipFileWorker. + * @param {Worker} previous the previous worker, sending events to this one + * @return {Worker} the current worker for chainability + */ + registerPrevious : function (previous) { + if (this.isLocked) { + throw new Error("The stream '" + this + "' has already been used."); + } + + // sharing the streamInfo... + this.streamInfo = previous.streamInfo; + // ... and adding our own bits + this.mergeStreamInfo(); + this.previous = previous; + var self = this; + previous.on('data', function (chunk) { + self.processChunk(chunk); + }); + previous.on('end', function () { + self.end(); + }); + previous.on('error', function (e) { + self.error(e); + }); + return this; + }, + /** + * Pause the stream so it doesn't send events anymore. + * @return {Boolean} true if this call paused the worker, false otherwise. + */ + pause : function () { + if(this.isPaused || this.isFinished) { + return false; + } + this.isPaused = true; + + if(this.previous) { + this.previous.pause(); + } + return true; + }, + /** + * Resume a paused stream. + * @return {Boolean} true if this call resumed the worker, false otherwise. + */ + resume : function () { + if(!this.isPaused || this.isFinished) { + return false; + } + this.isPaused = false; + + // if true, the worker tried to resume but failed + var withError = false; + if(this.generatedError) { + this.error(this.generatedError); + withError = true; + } + if(this.previous) { + this.previous.resume(); + } + + return !withError; + }, + /** + * Flush any remaining bytes as the stream is ending. + */ + flush : function () {}, + /** + * Process a chunk. This is usually the method overridden. + * @param {Object} chunk the chunk to process. + */ + processChunk : function(chunk) { + this.push(chunk); + }, + /** + * Add a key/value to be added in the workers chain streamInfo once activated. + * @param {String} key the key to use + * @param {Object} value the associated value + * @return {Worker} the current worker for chainability + */ + withStreamInfo : function (key, value) { + this.extraStreamInfo[key] = value; + this.mergeStreamInfo(); + return this; + }, + /** + * Merge this worker's streamInfo into the chain's streamInfo. + */ + mergeStreamInfo : function () { + for(var key in this.extraStreamInfo) { + if (!this.extraStreamInfo.hasOwnProperty(key)) { + continue; + } + this.streamInfo[key] = this.extraStreamInfo[key]; + } + }, + + /** + * Lock the stream to prevent further updates on the workers chain. + * After calling this method, all calls to pipe will fail. + */ + lock: function () { + if (this.isLocked) { + throw new Error("The stream '" + this + "' has already been used."); + } + this.isLocked = true; + if (this.previous) { + this.previous.lock(); + } + }, + + /** + * + * Pretty print the workers chain. + */ + toString : function () { + var me = "Worker " + this.name; + if (this.previous) { + return this.previous + " -> " + me; + } else { + return me; + } + } +}; + +module.exports = GenericWorker; + +},{}],29:[function(require,module,exports){ +'use strict'; + +var utils = require('../utils'); +var ConvertWorker = require('./ConvertWorker'); +var GenericWorker = require('./GenericWorker'); +var base64 = require('../base64'); +var support = require("../support"); +var external = require("../external"); + +var NodejsStreamOutputAdapter = null; +if (support.nodestream) { + try { + NodejsStreamOutputAdapter = require('../nodejs/NodejsStreamOutputAdapter'); + } catch(e) {} +} + +/** + * Apply the final transformation of the data. If the user wants a Blob for + * example, it's easier to work with an U8intArray and finally do the + * ArrayBuffer/Blob conversion. + * @param {String} type the name of the final type + * @param {String|Uint8Array|Buffer} content the content to transform + * @param {String} mimeType the mime type of the content, if applicable. + * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the content in the right format. + */ +function transformZipOutput(type, content, mimeType) { + switch(type) { + case "blob" : + return utils.newBlob(utils.transformTo("arraybuffer", content), mimeType); + case "base64" : + return base64.encode(content); + default : + return utils.transformTo(type, content); + } +} + +/** + * Concatenate an array of data of the given type. + * @param {String} type the type of the data in the given array. + * @param {Array} dataArray the array containing the data chunks to concatenate + * @return {String|Uint8Array|Buffer} the concatenated data + * @throws Error if the asked type is unsupported + */ +function concat (type, dataArray) { + var i, index = 0, res = null, totalLength = 0; + for(i = 0; i < dataArray.length; i++) { + totalLength += dataArray[i].length; + } + switch(type) { + case "string": + return dataArray.join(""); + case "array": + return Array.prototype.concat.apply([], dataArray); + case "uint8array": + res = new Uint8Array(totalLength); + for(i = 0; i < dataArray.length; i++) { + res.set(dataArray[i], index); + index += dataArray[i].length; + } + return res; + case "nodebuffer": + return Buffer.concat(dataArray); + default: + throw new Error("concat : unsupported type '" + type + "'"); + } +} + +/** + * Listen a StreamHelper, accumulate its content and concatenate it into a + * complete block. + * @param {StreamHelper} helper the helper to use. + * @param {Function} updateCallback a callback called on each update. Called + * with one arg : + * - the metadata linked to the update received. + * @return Promise the promise for the accumulation. + */ +function accumulate(helper, updateCallback) { + return new external.Promise(function (resolve, reject){ + var dataArray = []; + var chunkType = helper._internalType, + resultType = helper._outputType, + mimeType = helper._mimeType; + helper + .on('data', function (data, meta) { + dataArray.push(data); + if(updateCallback) { + updateCallback(meta); + } + }) + .on('error', function(err) { + dataArray = []; + reject(err); + }) + .on('end', function (){ + try { + var result = transformZipOutput(resultType, concat(chunkType, dataArray), mimeType); + resolve(result); + } catch (e) { + reject(e); + } + dataArray = []; + }) + .resume(); + }); +} + +/** + * An helper to easily use workers outside of JSZip. + * @constructor + * @param {Worker} worker the worker to wrap + * @param {String} outputType the type of data expected by the use + * @param {String} mimeType the mime type of the content, if applicable. + */ +function StreamHelper(worker, outputType, mimeType) { + var internalType = outputType; + switch(outputType) { + case "blob": + case "arraybuffer": + internalType = "uint8array"; + break; + case "base64": + internalType = "string"; + break; + } + + try { + // the type used internally + this._internalType = internalType; + // the type used to output results + this._outputType = outputType; + // the mime type + this._mimeType = mimeType; + utils.checkSupport(internalType); + this._worker = worker.pipe(new ConvertWorker(internalType)); + // the last workers can be rewired without issues but we need to + // prevent any updates on previous workers. + worker.lock(); + } catch(e) { + this._worker = new GenericWorker("error"); + this._worker.error(e); + } +} + +StreamHelper.prototype = { + /** + * Listen a StreamHelper, accumulate its content and concatenate it into a + * complete block. + * @param {Function} updateCb the update callback. + * @return Promise the promise for the accumulation. + */ + accumulate : function (updateCb) { + return accumulate(this, updateCb); + }, + /** + * Add a listener on an event triggered on a stream. + * @param {String} evt the name of the event + * @param {Function} fn the listener + * @return {StreamHelper} the current helper. + */ + on : function (evt, fn) { + var self = this; + + if(evt === "data") { + this._worker.on(evt, function (chunk) { + fn.call(self, chunk.data, chunk.meta); + }); + } else { + this._worker.on(evt, function () { + utils.delay(fn, arguments, self); + }); + } + return this; + }, + /** + * Resume the flow of chunks. + * @return {StreamHelper} the current helper. + */ + resume : function () { + utils.delay(this._worker.resume, [], this._worker); + return this; + }, + /** + * Pause the flow of chunks. + * @return {StreamHelper} the current helper. + */ + pause : function () { + this._worker.pause(); + return this; + }, + /** + * Return a nodejs stream for this helper. + * @param {Function} updateCb the update callback. + * @return {NodejsStreamOutputAdapter} the nodejs stream. + */ + toNodejsStream : function (updateCb) { + utils.checkSupport("nodestream"); + if (this._outputType !== "nodebuffer") { + // an object stream containing blob/arraybuffer/uint8array/string + // is strange and I don't know if it would be useful. + // I you find this comment and have a good usecase, please open a + // bug report ! + throw new Error(this._outputType + " is not supported by this method"); + } + + return new NodejsStreamOutputAdapter(this, { + objectMode : this._outputType !== "nodebuffer" + }, updateCb); + } +}; + + +module.exports = StreamHelper; + +},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(require,module,exports){ +'use strict'; + +exports.base64 = true; +exports.array = true; +exports.string = true; +exports.arraybuffer = typeof ArrayBuffer !== "undefined" && typeof Uint8Array !== "undefined"; +exports.nodebuffer = typeof Buffer !== "undefined"; +// contains true if JSZip can read/generate Uint8Array, false otherwise. +exports.uint8array = typeof Uint8Array !== "undefined"; + +if (typeof ArrayBuffer === "undefined") { + exports.blob = false; +} +else { + var buffer = new ArrayBuffer(0); + try { + exports.blob = new Blob([buffer], { + type: "application/zip" + }).size === 0; + } + catch (e) { + try { + var Builder = self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder; + var builder = new Builder(); + builder.append(buffer); + exports.blob = builder.getBlob('application/zip').size === 0; + } + catch (e) { + exports.blob = false; + } + } +} + +try { + exports.nodestream = !!require('readable-stream').Readable; +} catch(e) { + exports.nodestream = false; +} + +},{"readable-stream":16}],31:[function(require,module,exports){ +'use strict'; + +var utils = require('./utils'); +var support = require('./support'); +var nodejsUtils = require('./nodejsUtils'); +var GenericWorker = require('./stream/GenericWorker'); + +/** + * The following functions come from pako, from pako/lib/utils/strings + * released under the MIT license, see pako https://github.com/nodeca/pako/ + */ + +// Table with utf8 lengths (calculated by first byte of sequence) +// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS, +// because max possible codepoint is 0x10ffff +var _utf8len = new Array(256); +for (var i=0; i<256; i++) { + _utf8len[i] = (i >= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1); +} +_utf8len[254]=_utf8len[254]=1; // Invalid sequence start + +// convert string to array (typed, when possible) +var string2buf = function (str) { + var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0; + + // count binary size + for (m_pos = 0; m_pos < str_len; m_pos++) { + c = str.charCodeAt(m_pos); + if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) { + c2 = str.charCodeAt(m_pos+1); + if ((c2 & 0xfc00) === 0xdc00) { + c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00); + m_pos++; + } + } + buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4; + } + + // allocate buffer + if (support.uint8array) { + buf = new Uint8Array(buf_len); + } else { + buf = new Array(buf_len); + } + + // convert + for (i=0, m_pos = 0; i < buf_len; m_pos++) { + c = str.charCodeAt(m_pos); + if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) { + c2 = str.charCodeAt(m_pos+1); + if ((c2 & 0xfc00) === 0xdc00) { + c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00); + m_pos++; + } + } + if (c < 0x80) { + /* one byte */ + buf[i++] = c; + } else if (c < 0x800) { + /* two bytes */ + buf[i++] = 0xC0 | (c >>> 6); + buf[i++] = 0x80 | (c & 0x3f); + } else if (c < 0x10000) { + /* three bytes */ + buf[i++] = 0xE0 | (c >>> 12); + buf[i++] = 0x80 | (c >>> 6 & 0x3f); + buf[i++] = 0x80 | (c & 0x3f); + } else { + /* four bytes */ + buf[i++] = 0xf0 | (c >>> 18); + buf[i++] = 0x80 | (c >>> 12 & 0x3f); + buf[i++] = 0x80 | (c >>> 6 & 0x3f); + buf[i++] = 0x80 | (c & 0x3f); + } + } + + return buf; +}; + +// Calculate max possible position in utf8 buffer, +// that will not break sequence. If that's not possible +// - (very small limits) return max size as is. +// +// buf[] - utf8 bytes array +// max - length limit (mandatory); +var utf8border = function(buf, max) { + var pos; + + max = max || buf.length; + if (max > buf.length) { max = buf.length; } + + // go back from last position, until start of sequence found + pos = max-1; + while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; } + + // Fuckup - very small and broken sequence, + // return max, because we should return something anyway. + if (pos < 0) { return max; } + + // If we came to start of buffer - that means vuffer is too small, + // return max too. + if (pos === 0) { return max; } + + return (pos + _utf8len[buf[pos]] > max) ? pos : max; +}; + +// convert array to string +var buf2string = function (buf) { + var str, i, out, c, c_len; + var len = buf.length; + + // Reserve max possible length (2 words per char) + // NB: by unknown reasons, Array is significantly faster for + // String.fromCharCode.apply than Uint16Array. + var utf16buf = new Array(len*2); + + for (out=0, i=0; i 4) { utf16buf[out++] = 0xfffd; i += c_len-1; continue; } + + // apply mask on first byte + c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07; + // join the rest + while (c_len > 1 && i < len) { + c = (c << 6) | (buf[i++] & 0x3f); + c_len--; + } + + // terminated by end of string? + if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; } + + if (c < 0x10000) { + utf16buf[out++] = c; + } else { + c -= 0x10000; + utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff); + utf16buf[out++] = 0xdc00 | (c & 0x3ff); + } + } + + // shrinkBuf(utf16buf, out) + if (utf16buf.length !== out) { + if(utf16buf.subarray) { + utf16buf = utf16buf.subarray(0, out); + } else { + utf16buf.length = out; + } + } + + // return String.fromCharCode.apply(null, utf16buf); + return utils.applyFromCharCode(utf16buf); +}; + + +// That's all for the pako functions. + + +/** + * Transform a javascript string into an array (typed if possible) of bytes, + * UTF-8 encoded. + * @param {String} str the string to encode + * @return {Array|Uint8Array|Buffer} the UTF-8 encoded string. + */ +exports.utf8encode = function utf8encode(str) { + if (support.nodebuffer) { + return nodejsUtils.newBufferFrom(str, "utf-8"); + } + + return string2buf(str); +}; + + +/** + * Transform a bytes array (or a representation) representing an UTF-8 encoded + * string into a javascript string. + * @param {Array|Uint8Array|Buffer} buf the data de decode + * @return {String} the decoded string. + */ +exports.utf8decode = function utf8decode(buf) { + if (support.nodebuffer) { + return utils.transformTo("nodebuffer", buf).toString("utf-8"); + } + + buf = utils.transformTo(support.uint8array ? "uint8array" : "array", buf); + + return buf2string(buf); +}; + +/** + * A worker to decode utf8 encoded binary chunks into string chunks. + * @constructor + */ +function Utf8DecodeWorker() { + GenericWorker.call(this, "utf-8 decode"); + // the last bytes if a chunk didn't end with a complete codepoint. + this.leftOver = null; +} +utils.inherits(Utf8DecodeWorker, GenericWorker); + +/** + * @see GenericWorker.processChunk + */ +Utf8DecodeWorker.prototype.processChunk = function (chunk) { + + var data = utils.transformTo(support.uint8array ? "uint8array" : "array", chunk.data); + + // 1st step, re-use what's left of the previous chunk + if (this.leftOver && this.leftOver.length) { + if(support.uint8array) { + var previousData = data; + data = new Uint8Array(previousData.length + this.leftOver.length); + data.set(this.leftOver, 0); + data.set(previousData, this.leftOver.length); + } else { + data = this.leftOver.concat(data); + } + this.leftOver = null; + } + + var nextBoundary = utf8border(data); + var usableData = data; + if (nextBoundary !== data.length) { + if (support.uint8array) { + usableData = data.subarray(0, nextBoundary); + this.leftOver = data.subarray(nextBoundary, data.length); + } else { + usableData = data.slice(0, nextBoundary); + this.leftOver = data.slice(nextBoundary, data.length); + } + } + + this.push({ + data : exports.utf8decode(usableData), + meta : chunk.meta + }); +}; + +/** + * @see GenericWorker.flush + */ +Utf8DecodeWorker.prototype.flush = function () { + if(this.leftOver && this.leftOver.length) { + this.push({ + data : exports.utf8decode(this.leftOver), + meta : {} + }); + this.leftOver = null; + } +}; +exports.Utf8DecodeWorker = Utf8DecodeWorker; + +/** + * A worker to endcode string chunks into utf8 encoded binary chunks. + * @constructor + */ +function Utf8EncodeWorker() { + GenericWorker.call(this, "utf-8 encode"); +} +utils.inherits(Utf8EncodeWorker, GenericWorker); + +/** + * @see GenericWorker.processChunk + */ +Utf8EncodeWorker.prototype.processChunk = function (chunk) { + this.push({ + data : exports.utf8encode(chunk.data), + meta : chunk.meta + }); +}; +exports.Utf8EncodeWorker = Utf8EncodeWorker; + +},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(require,module,exports){ +'use strict'; + +var support = require('./support'); +var base64 = require('./base64'); +var nodejsUtils = require('./nodejsUtils'); +var setImmediate = require('set-immediate-shim'); +var external = require("./external"); + + +/** + * Convert a string that pass as a "binary string": it should represent a byte + * array but may have > 255 char codes. Be sure to take only the first byte + * and returns the byte array. + * @param {String} str the string to transform. + * @return {Array|Uint8Array} the string in a binary format. + */ +function string2binary(str) { + var result = null; + if (support.uint8array) { + result = new Uint8Array(str.length); + } else { + result = new Array(str.length); + } + return stringToArrayLike(str, result); +} + +/** + * Create a new blob with the given content and the given type. + * @param {String|ArrayBuffer} part the content to put in the blob. DO NOT use + * an Uint8Array because the stock browser of android 4 won't accept it (it + * will be silently converted to a string, "[object Uint8Array]"). + * + * Use only ONE part to build the blob to avoid a memory leak in IE11 / Edge: + * when a large amount of Array is used to create the Blob, the amount of + * memory consumed is nearly 100 times the original data amount. + * + * @param {String} type the mime type of the blob. + * @return {Blob} the created blob. + */ +exports.newBlob = function(part, type) { + exports.checkSupport("blob"); + + try { + // Blob constructor + return new Blob([part], { + type: type + }); + } + catch (e) { + + try { + // deprecated, browser only, old way + var Builder = self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder; + var builder = new Builder(); + builder.append(part); + return builder.getBlob(type); + } + catch (e) { + + // well, fuck ?! + throw new Error("Bug : can't construct the Blob."); + } + } + + +}; +/** + * The identity function. + * @param {Object} input the input. + * @return {Object} the same input. + */ +function identity(input) { + return input; +} + +/** + * Fill in an array with a string. + * @param {String} str the string to use. + * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to fill in (will be mutated). + * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated array. + */ +function stringToArrayLike(str, array) { + for (var i = 0; i < str.length; ++i) { + array[i] = str.charCodeAt(i) & 0xFF; + } + return array; +} + +/** + * An helper for the function arrayLikeToString. + * This contains static information and functions that + * can be optimized by the browser JIT compiler. + */ +var arrayToStringHelper = { + /** + * Transform an array of int into a string, chunk by chunk. + * See the performances notes on arrayLikeToString. + * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform. + * @param {String} type the type of the array. + * @param {Integer} chunk the chunk size. + * @return {String} the resulting string. + * @throws Error if the chunk is too big for the stack. + */ + stringifyByChunk: function(array, type, chunk) { + var result = [], k = 0, len = array.length; + // shortcut + if (len <= chunk) { + return String.fromCharCode.apply(null, array); + } + while (k < len) { + if (type === "array" || type === "nodebuffer") { + result.push(String.fromCharCode.apply(null, array.slice(k, Math.min(k + chunk, len)))); + } + else { + result.push(String.fromCharCode.apply(null, array.subarray(k, Math.min(k + chunk, len)))); + } + k += chunk; + } + return result.join(""); + }, + /** + * Call String.fromCharCode on every item in the array. + * This is the naive implementation, which generate A LOT of intermediate string. + * This should be used when everything else fail. + * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform. + * @return {String} the result. + */ + stringifyByChar: function(array){ + var resultStr = ""; + for(var i = 0; i < array.length; i++) { + resultStr += String.fromCharCode(array[i]); + } + return resultStr; + }, + applyCanBeUsed : { + /** + * true if the browser accepts to use String.fromCharCode on Uint8Array + */ + uint8array : (function () { + try { + return support.uint8array && String.fromCharCode.apply(null, new Uint8Array(1)).length === 1; + } catch (e) { + return false; + } + })(), + /** + * true if the browser accepts to use String.fromCharCode on nodejs Buffer. + */ + nodebuffer : (function () { + try { + return support.nodebuffer && String.fromCharCode.apply(null, nodejsUtils.allocBuffer(1)).length === 1; + } catch (e) { + return false; + } + })() + } +}; + +/** + * Transform an array-like object to a string. + * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform. + * @return {String} the result. + */ +function arrayLikeToString(array) { + // Performances notes : + // -------------------- + // String.fromCharCode.apply(null, array) is the fastest, see + // see http://jsperf.com/converting-a-uint8array-to-a-string/2 + // but the stack is limited (and we can get huge arrays !). + // + // result += String.fromCharCode(array[i]); generate too many strings ! + // + // This code is inspired by http://jsperf.com/arraybuffer-to-string-apply-performance/2 + // TODO : we now have workers that split the work. Do we still need that ? + var chunk = 65536, + type = exports.getTypeOf(array), + canUseApply = true; + if (type === "uint8array") { + canUseApply = arrayToStringHelper.applyCanBeUsed.uint8array; + } else if (type === "nodebuffer") { + canUseApply = arrayToStringHelper.applyCanBeUsed.nodebuffer; + } + + if (canUseApply) { + while (chunk > 1) { + try { + return arrayToStringHelper.stringifyByChunk(array, type, chunk); + } catch (e) { + chunk = Math.floor(chunk / 2); + } + } + } + + // no apply or chunk error : slow and painful algorithm + // default browser on android 4.* + return arrayToStringHelper.stringifyByChar(array); +} + +exports.applyFromCharCode = arrayLikeToString; + + +/** + * Copy the data from an array-like to an other array-like. + * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayFrom the origin array. + * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayTo the destination array which will be mutated. + * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated destination array. + */ +function arrayLikeToArrayLike(arrayFrom, arrayTo) { + for (var i = 0; i < arrayFrom.length; i++) { + arrayTo[i] = arrayFrom[i]; + } + return arrayTo; +} + +// a matrix containing functions to transform everything into everything. +var transform = {}; + +// string to ? +transform["string"] = { + "string": identity, + "array": function(input) { + return stringToArrayLike(input, new Array(input.length)); + }, + "arraybuffer": function(input) { + return transform["string"]["uint8array"](input).buffer; + }, + "uint8array": function(input) { + return stringToArrayLike(input, new Uint8Array(input.length)); + }, + "nodebuffer": function(input) { + return stringToArrayLike(input, nodejsUtils.allocBuffer(input.length)); + } +}; + +// array to ? +transform["array"] = { + "string": arrayLikeToString, + "array": identity, + "arraybuffer": function(input) { + return (new Uint8Array(input)).buffer; + }, + "uint8array": function(input) { + return new Uint8Array(input); + }, + "nodebuffer": function(input) { + return nodejsUtils.newBufferFrom(input); + } +}; + +// arraybuffer to ? +transform["arraybuffer"] = { + "string": function(input) { + return arrayLikeToString(new Uint8Array(input)); + }, + "array": function(input) { + return arrayLikeToArrayLike(new Uint8Array(input), new Array(input.byteLength)); + }, + "arraybuffer": identity, + "uint8array": function(input) { + return new Uint8Array(input); + }, + "nodebuffer": function(input) { + return nodejsUtils.newBufferFrom(new Uint8Array(input)); + } +}; + +// uint8array to ? +transform["uint8array"] = { + "string": arrayLikeToString, + "array": function(input) { + return arrayLikeToArrayLike(input, new Array(input.length)); + }, + "arraybuffer": function(input) { + return input.buffer; + }, + "uint8array": identity, + "nodebuffer": function(input) { + return nodejsUtils.newBufferFrom(input); + } +}; + +// nodebuffer to ? +transform["nodebuffer"] = { + "string": arrayLikeToString, + "array": function(input) { + return arrayLikeToArrayLike(input, new Array(input.length)); + }, + "arraybuffer": function(input) { + return transform["nodebuffer"]["uint8array"](input).buffer; + }, + "uint8array": function(input) { + return arrayLikeToArrayLike(input, new Uint8Array(input.length)); + }, + "nodebuffer": identity +}; + +/** + * Transform an input into any type. + * The supported output type are : string, array, uint8array, arraybuffer, nodebuffer. + * If no output type is specified, the unmodified input will be returned. + * @param {String} outputType the output type. + * @param {String|Array|ArrayBuffer|Uint8Array|Buffer} input the input to convert. + * @throws {Error} an Error if the browser doesn't support the requested output type. + */ +exports.transformTo = function(outputType, input) { + if (!input) { + // undefined, null, etc + // an empty string won't harm. + input = ""; + } + if (!outputType) { + return input; + } + exports.checkSupport(outputType); + var inputType = exports.getTypeOf(input); + var result = transform[inputType][outputType](input); + return result; +}; + +/** + * Return the type of the input. + * The type will be in a format valid for JSZip.utils.transformTo : string, array, uint8array, arraybuffer. + * @param {Object} input the input to identify. + * @return {String} the (lowercase) type of the input. + */ +exports.getTypeOf = function(input) { + if (typeof input === "string") { + return "string"; + } + if (Object.prototype.toString.call(input) === "[object Array]") { + return "array"; + } + if (support.nodebuffer && nodejsUtils.isBuffer(input)) { + return "nodebuffer"; + } + if (support.uint8array && input instanceof Uint8Array) { + return "uint8array"; + } + if (support.arraybuffer && input instanceof ArrayBuffer) { + return "arraybuffer"; + } +}; + +/** + * Throw an exception if the type is not supported. + * @param {String} type the type to check. + * @throws {Error} an Error if the browser doesn't support the requested type. + */ +exports.checkSupport = function(type) { + var supported = support[type.toLowerCase()]; + if (!supported) { + throw new Error(type + " is not supported by this platform"); + } +}; + +exports.MAX_VALUE_16BITS = 65535; +exports.MAX_VALUE_32BITS = -1; // well, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF" is parsed as -1 + +/** + * Prettify a string read as binary. + * @param {string} str the string to prettify. + * @return {string} a pretty string. + */ +exports.pretty = function(str) { + var res = '', + code, i; + for (i = 0; i < (str || "").length; i++) { + code = str.charCodeAt(i); + res += '\\x' + (code < 16 ? "0" : "") + code.toString(16).toUpperCase(); + } + return res; +}; + +/** + * Defer the call of a function. + * @param {Function} callback the function to call asynchronously. + * @param {Array} args the arguments to give to the callback. + */ +exports.delay = function(callback, args, self) { + setImmediate(function () { + callback.apply(self || null, args || []); + }); +}; + +/** + * Extends a prototype with an other, without calling a constructor with + * side effects. Inspired by nodejs' `utils.inherits` + * @param {Function} ctor the constructor to augment + * @param {Function} superCtor the parent constructor to use + */ +exports.inherits = function (ctor, superCtor) { + var Obj = function() {}; + Obj.prototype = superCtor.prototype; + ctor.prototype = new Obj(); +}; + +/** + * Merge the objects passed as parameters into a new one. + * @private + * @param {...Object} var_args All objects to merge. + * @return {Object} a new object with the data of the others. + */ +exports.extend = function() { + var result = {}, i, attr; + for (i = 0; i < arguments.length; i++) { // arguments is not enumerable in some browsers + for (attr in arguments[i]) { + if (arguments[i].hasOwnProperty(attr) && typeof result[attr] === "undefined") { + result[attr] = arguments[i][attr]; + } + } + } + return result; +}; + +/** + * Transform arbitrary content into a Promise. + * @param {String} name a name for the content being processed. + * @param {Object} inputData the content to process. + * @param {Boolean} isBinary true if the content is not an unicode string + * @param {Boolean} isOptimizedBinaryString true if the string content only has one byte per character. + * @param {Boolean} isBase64 true if the string content is encoded with base64. + * @return {Promise} a promise in a format usable by JSZip. + */ +exports.prepareContent = function(name, inputData, isBinary, isOptimizedBinaryString, isBase64) { + + // if inputData is already a promise, this flatten it. + var promise = external.Promise.resolve(inputData).then(function(data) { + + + var isBlob = support.blob && (data instanceof Blob || ['[object File]', '[object Blob]'].indexOf(Object.prototype.toString.call(data)) !== -1); + + if (isBlob && typeof FileReader !== "undefined") { + return new external.Promise(function (resolve, reject) { + var reader = new FileReader(); + + reader.onload = function(e) { + resolve(e.target.result); + }; + reader.onerror = function(e) { + reject(e.target.error); + }; + reader.readAsArrayBuffer(data); + }); + } else { + return data; + } + }); + + return promise.then(function(data) { + var dataType = exports.getTypeOf(data); + + if (!dataType) { + return external.Promise.reject( + new Error("Can't read the data of '" + name + "'. Is it " + + "in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?") + ); + } + // special case : it's way easier to work with Uint8Array than with ArrayBuffer + if (dataType === "arraybuffer") { + data = exports.transformTo("uint8array", data); + } else if (dataType === "string") { + if (isBase64) { + data = base64.decode(data); + } + else if (isBinary) { + // optimizedBinaryString === true means that the file has already been filtered with a 0xFF mask + if (isOptimizedBinaryString !== true) { + // this is a string, not in a base64 format. + // Be sure that this is a correct "binary string" + data = string2binary(data); + } + } + } + return data; + }); +}; + +},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(require,module,exports){ +'use strict'; +var readerFor = require('./reader/readerFor'); +var utils = require('./utils'); +var sig = require('./signature'); +var ZipEntry = require('./zipEntry'); +var utf8 = require('./utf8'); +var support = require('./support'); +// class ZipEntries {{{ +/** + * All the entries in the zip file. + * @constructor + * @param {Object} loadOptions Options for loading the stream. + */ +function ZipEntries(loadOptions) { + this.files = []; + this.loadOptions = loadOptions; +} +ZipEntries.prototype = { + /** + * Check that the reader is on the specified signature. + * @param {string} expectedSignature the expected signature. + * @throws {Error} if it is an other signature. + */ + checkSignature: function(expectedSignature) { + if (!this.reader.readAndCheckSignature(expectedSignature)) { + this.reader.index -= 4; + var signature = this.reader.readString(4); + throw new Error("Corrupted zip or bug: unexpected signature " + "(" + utils.pretty(signature) + ", expected " + utils.pretty(expectedSignature) + ")"); + } + }, + /** + * Check if the given signature is at the given index. + * @param {number} askedIndex the index to check. + * @param {string} expectedSignature the signature to expect. + * @return {boolean} true if the signature is here, false otherwise. + */ + isSignature: function(askedIndex, expectedSignature) { + var currentIndex = this.reader.index; + this.reader.setIndex(askedIndex); + var signature = this.reader.readString(4); + var result = signature === expectedSignature; + this.reader.setIndex(currentIndex); + return result; + }, + /** + * Read the end of the central directory. + */ + readBlockEndOfCentral: function() { + this.diskNumber = this.reader.readInt(2); + this.diskWithCentralDirStart = this.reader.readInt(2); + this.centralDirRecordsOnThisDisk = this.reader.readInt(2); + this.centralDirRecords = this.reader.readInt(2); + this.centralDirSize = this.reader.readInt(4); + this.centralDirOffset = this.reader.readInt(4); + + this.zipCommentLength = this.reader.readInt(2); + // warning : the encoding depends of the system locale + // On a linux machine with LANG=en_US.utf8, this field is utf8 encoded. + // On a windows machine, this field is encoded with the localized windows code page. + var zipComment = this.reader.readData(this.zipCommentLength); + var decodeParamType = support.uint8array ? "uint8array" : "array"; + // To get consistent behavior with the generation part, we will assume that + // this is utf8 encoded unless specified otherwise. + var decodeContent = utils.transformTo(decodeParamType, zipComment); + this.zipComment = this.loadOptions.decodeFileName(decodeContent); + }, + /** + * Read the end of the Zip 64 central directory. + * Not merged with the method readEndOfCentral : + * The end of central can coexist with its Zip64 brother, + * I don't want to read the wrong number of bytes ! + */ + readBlockZip64EndOfCentral: function() { + this.zip64EndOfCentralSize = this.reader.readInt(8); + this.reader.skip(4); + // this.versionMadeBy = this.reader.readString(2); + // this.versionNeeded = this.reader.readInt(2); + this.diskNumber = this.reader.readInt(4); + this.diskWithCentralDirStart = this.reader.readInt(4); + this.centralDirRecordsOnThisDisk = this.reader.readInt(8); + this.centralDirRecords = this.reader.readInt(8); + this.centralDirSize = this.reader.readInt(8); + this.centralDirOffset = this.reader.readInt(8); + + this.zip64ExtensibleData = {}; + var extraDataSize = this.zip64EndOfCentralSize - 44, + index = 0, + extraFieldId, + extraFieldLength, + extraFieldValue; + while (index < extraDataSize) { + extraFieldId = this.reader.readInt(2); + extraFieldLength = this.reader.readInt(4); + extraFieldValue = this.reader.readData(extraFieldLength); + this.zip64ExtensibleData[extraFieldId] = { + id: extraFieldId, + length: extraFieldLength, + value: extraFieldValue + }; + } + }, + /** + * Read the end of the Zip 64 central directory locator. + */ + readBlockZip64EndOfCentralLocator: function() { + this.diskWithZip64CentralDirStart = this.reader.readInt(4); + this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8); + this.disksCount = this.reader.readInt(4); + if (this.disksCount > 1) { + throw new Error("Multi-volumes zip are not supported"); + } + }, + /** + * Read the local files, based on the offset read in the central part. + */ + readLocalFiles: function() { + var i, file; + for (i = 0; i < this.files.length; i++) { + file = this.files[i]; + this.reader.setIndex(file.localHeaderOffset); + this.checkSignature(sig.LOCAL_FILE_HEADER); + file.readLocalPart(this.reader); + file.handleUTF8(); + file.processAttributes(); + } + }, + /** + * Read the central directory. + */ + readCentralDir: function() { + var file; + + this.reader.setIndex(this.centralDirOffset); + while (this.reader.readAndCheckSignature(sig.CENTRAL_FILE_HEADER)) { + file = new ZipEntry({ + zip64: this.zip64 + }, this.loadOptions); + file.readCentralPart(this.reader); + this.files.push(file); + } + + if (this.centralDirRecords !== this.files.length) { + if (this.centralDirRecords !== 0 && this.files.length === 0) { + // We expected some records but couldn't find ANY. + // This is really suspicious, as if something went wrong. + throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length); + } else { + // We found some records but not all. + // Something is wrong but we got something for the user: no error here. + // console.warn("expected", this.centralDirRecords, "records in central dir, got", this.files.length); + } + } + }, + /** + * Read the end of central directory. + */ + readEndOfCentral: function() { + var offset = this.reader.lastIndexOfSignature(sig.CENTRAL_DIRECTORY_END); + if (offset < 0) { + // Check if the content is a truncated zip or complete garbage. + // A "LOCAL_FILE_HEADER" is not required at the beginning (auto + // extractible zip for example) but it can give a good hint. + // If an ajax request was used without responseType, we will also + // get unreadable data. + var isGarbage = !this.isSignature(0, sig.LOCAL_FILE_HEADER); + + if (isGarbage) { + throw new Error("Can't find end of central directory : is this a zip file ? " + + "If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"); + } else { + throw new Error("Corrupted zip: can't find end of central directory"); + } + + } + this.reader.setIndex(offset); + var endOfCentralDirOffset = offset; + this.checkSignature(sig.CENTRAL_DIRECTORY_END); + this.readBlockEndOfCentral(); + + + /* extract from the zip spec : + 4) If one of the fields in the end of central directory + record is too small to hold required data, the field + should be set to -1 (0xFFFF or 0xFFFFFFFF) and the + ZIP64 format record should be created. + 5) The end of central directory record and the + Zip64 end of central directory locator record must + reside on the same disk when splitting or spanning + an archive. + */ + if (this.diskNumber === utils.MAX_VALUE_16BITS || this.diskWithCentralDirStart === utils.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === utils.MAX_VALUE_16BITS || this.centralDirRecords === utils.MAX_VALUE_16BITS || this.centralDirSize === utils.MAX_VALUE_32BITS || this.centralDirOffset === utils.MAX_VALUE_32BITS) { + this.zip64 = true; + + /* + Warning : the zip64 extension is supported, but ONLY if the 64bits integer read from + the zip file can fit into a 32bits integer. This cannot be solved : JavaScript represents + all numbers as 64-bit double precision IEEE 754 floating point numbers. + So, we have 53bits for integers and bitwise operations treat everything as 32bits. + see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Bitwise_Operators + and http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf section 8.5 + */ + + // should look for a zip64 EOCD locator + offset = this.reader.lastIndexOfSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR); + if (offset < 0) { + throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); + } + this.reader.setIndex(offset); + this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR); + this.readBlockZip64EndOfCentralLocator(); + + // now the zip64 EOCD record + if (!this.isSignature(this.relativeOffsetEndOfZip64CentralDir, sig.ZIP64_CENTRAL_DIRECTORY_END)) { + // console.warn("ZIP64 end of central directory not where expected."); + this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(sig.ZIP64_CENTRAL_DIRECTORY_END); + if (this.relativeOffsetEndOfZip64CentralDir < 0) { + throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); + } + } + this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir); + this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_END); + this.readBlockZip64EndOfCentral(); + } + + var expectedEndOfCentralDirOffset = this.centralDirOffset + this.centralDirSize; + if (this.zip64) { + expectedEndOfCentralDirOffset += 20; // end of central dir 64 locator + expectedEndOfCentralDirOffset += 12 /* should not include the leading 12 bytes */ + this.zip64EndOfCentralSize; + } + + var extraBytes = endOfCentralDirOffset - expectedEndOfCentralDirOffset; + + if (extraBytes > 0) { + // console.warn(extraBytes, "extra bytes at beginning or within zipfile"); + if (this.isSignature(endOfCentralDirOffset, sig.CENTRAL_FILE_HEADER)) { + // The offsets seem wrong, but we have something at the specified offset. + // So… we keep it. + } else { + // the offset is wrong, update the "zero" of the reader + // this happens if data has been prepended (crx files for example) + this.reader.zero = extraBytes; + } + } else if (extraBytes < 0) { + throw new Error("Corrupted zip: missing " + Math.abs(extraBytes) + " bytes."); + } + }, + prepareReader: function(data) { + this.reader = readerFor(data); + }, + /** + * Read a zip file and create ZipEntries. + * @param {String|ArrayBuffer|Uint8Array|Buffer} data the binary string representing a zip file. + */ + load: function(data) { + this.prepareReader(data); + this.readEndOfCentral(); + this.readCentralDir(); + this.readLocalFiles(); + } +}; +// }}} end of ZipEntries +module.exports = ZipEntries; + +},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(require,module,exports){ +'use strict'; +var readerFor = require('./reader/readerFor'); +var utils = require('./utils'); +var CompressedObject = require('./compressedObject'); +var crc32fn = require('./crc32'); +var utf8 = require('./utf8'); +var compressions = require('./compressions'); +var support = require('./support'); + +var MADE_BY_DOS = 0x00; +var MADE_BY_UNIX = 0x03; + +/** + * Find a compression registered in JSZip. + * @param {string} compressionMethod the method magic to find. + * @return {Object|null} the JSZip compression object, null if none found. + */ +var findCompression = function(compressionMethod) { + for (var method in compressions) { + if (!compressions.hasOwnProperty(method)) { + continue; + } + if (compressions[method].magic === compressionMethod) { + return compressions[method]; + } + } + return null; +}; + +// class ZipEntry {{{ +/** + * An entry in the zip file. + * @constructor + * @param {Object} options Options of the current file. + * @param {Object} loadOptions Options for loading the stream. + */ +function ZipEntry(options, loadOptions) { + this.options = options; + this.loadOptions = loadOptions; +} +ZipEntry.prototype = { + /** + * say if the file is encrypted. + * @return {boolean} true if the file is encrypted, false otherwise. + */ + isEncrypted: function() { + // bit 1 is set + return (this.bitFlag & 0x0001) === 0x0001; + }, + /** + * say if the file has utf-8 filename/comment. + * @return {boolean} true if the filename/comment is in utf-8, false otherwise. + */ + useUTF8: function() { + // bit 11 is set + return (this.bitFlag & 0x0800) === 0x0800; + }, + /** + * Read the local part of a zip file and add the info in this object. + * @param {DataReader} reader the reader to use. + */ + readLocalPart: function(reader) { + var compression, localExtraFieldsLength; + + // we already know everything from the central dir ! + // If the central dir data are false, we are doomed. + // On the bright side, the local part is scary : zip64, data descriptors, both, etc. + // The less data we get here, the more reliable this should be. + // Let's skip the whole header and dash to the data ! + reader.skip(22); + // in some zip created on windows, the filename stored in the central dir contains \ instead of /. + // Strangely, the filename here is OK. + // I would love to treat these zip files as corrupted (see http://www.info-zip.org/FAQ.html#backslashes + // or APPNOTE#4.4.17.1, "All slashes MUST be forward slashes '/'") but there are a lot of bad zip generators... + // Search "unzip mismatching "local" filename continuing with "central" filename version" on + // the internet. + // + // I think I see the logic here : the central directory is used to display + // content and the local directory is used to extract the files. Mixing / and \ + // may be used to display \ to windows users and use / when extracting the files. + // Unfortunately, this lead also to some issues : http://seclists.org/fulldisclosure/2009/Sep/394 + this.fileNameLength = reader.readInt(2); + localExtraFieldsLength = reader.readInt(2); // can't be sure this will be the same as the central dir + // the fileName is stored as binary data, the handleUTF8 method will take care of the encoding. + this.fileName = reader.readData(this.fileNameLength); + reader.skip(localExtraFieldsLength); + + if (this.compressedSize === -1 || this.uncompressedSize === -1) { + throw new Error("Bug or corrupted zip : didn't get enough information from the central directory " + "(compressedSize === -1 || uncompressedSize === -1)"); + } + + compression = findCompression(this.compressionMethod); + if (compression === null) { // no compression found + throw new Error("Corrupted zip : compression " + utils.pretty(this.compressionMethod) + " unknown (inner file : " + utils.transformTo("string", this.fileName) + ")"); + } + this.decompressed = new CompressedObject(this.compressedSize, this.uncompressedSize, this.crc32, compression, reader.readData(this.compressedSize)); + }, + + /** + * Read the central part of a zip file and add the info in this object. + * @param {DataReader} reader the reader to use. + */ + readCentralPart: function(reader) { + this.versionMadeBy = reader.readInt(2); + reader.skip(2); + // this.versionNeeded = reader.readInt(2); + this.bitFlag = reader.readInt(2); + this.compressionMethod = reader.readString(2); + this.date = reader.readDate(); + this.crc32 = reader.readInt(4); + this.compressedSize = reader.readInt(4); + this.uncompressedSize = reader.readInt(4); + var fileNameLength = reader.readInt(2); + this.extraFieldsLength = reader.readInt(2); + this.fileCommentLength = reader.readInt(2); + this.diskNumberStart = reader.readInt(2); + this.internalFileAttributes = reader.readInt(2); + this.externalFileAttributes = reader.readInt(4); + this.localHeaderOffset = reader.readInt(4); + + if (this.isEncrypted()) { + throw new Error("Encrypted zip are not supported"); + } + + // will be read in the local part, see the comments there + reader.skip(fileNameLength); + this.readExtraFields(reader); + this.parseZIP64ExtraField(reader); + this.fileComment = reader.readData(this.fileCommentLength); + }, + + /** + * Parse the external file attributes and get the unix/dos permissions. + */ + processAttributes: function () { + this.unixPermissions = null; + this.dosPermissions = null; + var madeBy = this.versionMadeBy >> 8; + + // Check if we have the DOS directory flag set. + // We look for it in the DOS and UNIX permissions + // but some unknown platform could set it as a compatibility flag. + this.dir = this.externalFileAttributes & 0x0010 ? true : false; + + if(madeBy === MADE_BY_DOS) { + // first 6 bits (0 to 5) + this.dosPermissions = this.externalFileAttributes & 0x3F; + } + + if(madeBy === MADE_BY_UNIX) { + this.unixPermissions = (this.externalFileAttributes >> 16) & 0xFFFF; + // the octal permissions are in (this.unixPermissions & 0x01FF).toString(8); + } + + // fail safe : if the name ends with a / it probably means a folder + if (!this.dir && this.fileNameStr.slice(-1) === '/') { + this.dir = true; + } + }, + + /** + * Parse the ZIP64 extra field and merge the info in the current ZipEntry. + * @param {DataReader} reader the reader to use. + */ + parseZIP64ExtraField: function(reader) { + + if (!this.extraFields[0x0001]) { + return; + } + + // should be something, preparing the extra reader + var extraReader = readerFor(this.extraFields[0x0001].value); + + // I really hope that these 64bits integer can fit in 32 bits integer, because js + // won't let us have more. + if (this.uncompressedSize === utils.MAX_VALUE_32BITS) { + this.uncompressedSize = extraReader.readInt(8); + } + if (this.compressedSize === utils.MAX_VALUE_32BITS) { + this.compressedSize = extraReader.readInt(8); + } + if (this.localHeaderOffset === utils.MAX_VALUE_32BITS) { + this.localHeaderOffset = extraReader.readInt(8); + } + if (this.diskNumberStart === utils.MAX_VALUE_32BITS) { + this.diskNumberStart = extraReader.readInt(4); + } + }, + /** + * Read the central part of a zip file and add the info in this object. + * @param {DataReader} reader the reader to use. + */ + readExtraFields: function(reader) { + var end = reader.index + this.extraFieldsLength, + extraFieldId, + extraFieldLength, + extraFieldValue; + + if (!this.extraFields) { + this.extraFields = {}; + } + + while (reader.index + 4 < end) { + extraFieldId = reader.readInt(2); + extraFieldLength = reader.readInt(2); + extraFieldValue = reader.readData(extraFieldLength); + + this.extraFields[extraFieldId] = { + id: extraFieldId, + length: extraFieldLength, + value: extraFieldValue + }; + } + + reader.setIndex(end); + }, + /** + * Apply an UTF8 transformation if needed. + */ + handleUTF8: function() { + var decodeParamType = support.uint8array ? "uint8array" : "array"; + if (this.useUTF8()) { + this.fileNameStr = utf8.utf8decode(this.fileName); + this.fileCommentStr = utf8.utf8decode(this.fileComment); + } else { + var upath = this.findExtraFieldUnicodePath(); + if (upath !== null) { + this.fileNameStr = upath; + } else { + // ASCII text or unsupported code page + var fileNameByteArray = utils.transformTo(decodeParamType, this.fileName); + this.fileNameStr = this.loadOptions.decodeFileName(fileNameByteArray); + } + + var ucomment = this.findExtraFieldUnicodeComment(); + if (ucomment !== null) { + this.fileCommentStr = ucomment; + } else { + // ASCII text or unsupported code page + var commentByteArray = utils.transformTo(decodeParamType, this.fileComment); + this.fileCommentStr = this.loadOptions.decodeFileName(commentByteArray); + } + } + }, + + /** + * Find the unicode path declared in the extra field, if any. + * @return {String} the unicode path, null otherwise. + */ + findExtraFieldUnicodePath: function() { + var upathField = this.extraFields[0x7075]; + if (upathField) { + var extraReader = readerFor(upathField.value); + + // wrong version + if (extraReader.readInt(1) !== 1) { + return null; + } + + // the crc of the filename changed, this field is out of date. + if (crc32fn(this.fileName) !== extraReader.readInt(4)) { + return null; + } + + return utf8.utf8decode(extraReader.readData(upathField.length - 5)); + } + return null; + }, + + /** + * Find the unicode comment declared in the extra field, if any. + * @return {String} the unicode comment, null otherwise. + */ + findExtraFieldUnicodeComment: function() { + var ucommentField = this.extraFields[0x6375]; + if (ucommentField) { + var extraReader = readerFor(ucommentField.value); + + // wrong version + if (extraReader.readInt(1) !== 1) { + return null; + } + + // the crc of the comment changed, this field is out of date. + if (crc32fn(this.fileComment) !== extraReader.readInt(4)) { + return null; + } + + return utf8.utf8decode(extraReader.readData(ucommentField.length - 5)); + } + return null; + } +}; +module.exports = ZipEntry; + +},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(require,module,exports){ +'use strict'; + +var StreamHelper = require('./stream/StreamHelper'); +var DataWorker = require('./stream/DataWorker'); +var utf8 = require('./utf8'); +var CompressedObject = require('./compressedObject'); +var GenericWorker = require('./stream/GenericWorker'); + +/** + * A simple object representing a file in the zip file. + * @constructor + * @param {string} name the name of the file + * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data + * @param {Object} options the options of the file + */ +var ZipObject = function(name, data, options) { + this.name = name; + this.dir = options.dir; + this.date = options.date; + this.comment = options.comment; + this.unixPermissions = options.unixPermissions; + this.dosPermissions = options.dosPermissions; + + this._data = data; + this._dataBinary = options.binary; + // keep only the compression + this.options = { + compression : options.compression, + compressionOptions : options.compressionOptions + }; +}; + +ZipObject.prototype = { + /** + * Create an internal stream for the content of this object. + * @param {String} type the type of each chunk. + * @return StreamHelper the stream. + */ + internalStream: function (type) { + var result = null, outputType = "string"; + try { + if (!type) { + throw new Error("No output type specified."); + } + outputType = type.toLowerCase(); + var askUnicodeString = outputType === "string" || outputType === "text"; + if (outputType === "binarystring" || outputType === "text") { + outputType = "string"; + } + result = this._decompressWorker(); + + var isUnicodeString = !this._dataBinary; + + if (isUnicodeString && !askUnicodeString) { + result = result.pipe(new utf8.Utf8EncodeWorker()); + } + if (!isUnicodeString && askUnicodeString) { + result = result.pipe(new utf8.Utf8DecodeWorker()); + } + } catch (e) { + result = new GenericWorker("error"); + result.error(e); + } + + return new StreamHelper(result, outputType, ""); + }, + + /** + * Prepare the content in the asked type. + * @param {String} type the type of the result. + * @param {Function} onUpdate a function to call on each internal update. + * @return Promise the promise of the result. + */ + async: function (type, onUpdate) { + return this.internalStream(type).accumulate(onUpdate); + }, + + /** + * Prepare the content as a nodejs stream. + * @param {String} type the type of each chunk. + * @param {Function} onUpdate a function to call on each internal update. + * @return Stream the stream. + */ + nodeStream: function (type, onUpdate) { + return this.internalStream(type || "nodebuffer").toNodejsStream(onUpdate); + }, + + /** + * Return a worker for the compressed content. + * @private + * @param {Object} compression the compression object to use. + * @param {Object} compressionOptions the options to use when compressing. + * @return Worker the worker. + */ + _compressWorker: function (compression, compressionOptions) { + if ( + this._data instanceof CompressedObject && + this._data.compression.magic === compression.magic + ) { + return this._data.getCompressedWorker(); + } else { + var result = this._decompressWorker(); + if(!this._dataBinary) { + result = result.pipe(new utf8.Utf8EncodeWorker()); + } + return CompressedObject.createWorkerFrom(result, compression, compressionOptions); + } + }, + /** + * Return a worker for the decompressed content. + * @private + * @return Worker the worker. + */ + _decompressWorker : function () { + if (this._data instanceof CompressedObject) { + return this._data.getContentWorker(); + } else if (this._data instanceof GenericWorker) { + return this._data; + } else { + return new DataWorker(this._data); + } + } +}; + +var removedMethods = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"]; +var removedFn = function () { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); +}; + +for(var i = 0; i < removedMethods.length; i++) { + ZipObject.prototype[removedMethods[i]] = removedFn; +} +module.exports = ZipObject; + +},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(require,module,exports){ +(function (global){ +'use strict'; +var Mutation = global.MutationObserver || global.WebKitMutationObserver; + +var scheduleDrain; + +{ + if (Mutation) { + var called = 0; + var observer = new Mutation(nextTick); + var element = global.document.createTextNode(''); + observer.observe(element, { + characterData: true + }); + scheduleDrain = function () { + element.data = (called = ++called % 2); + }; + } else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') { + var channel = new global.MessageChannel(); + channel.port1.onmessage = nextTick; + scheduleDrain = function () { + channel.port2.postMessage(0); + }; + } else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) { + scheduleDrain = function () { + + // Create a + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Jquery

+ +

jQuery v3.7.1

+

jQuery License

+
jQuery v 3.7.1
+Copyright OpenJS Foundation and other contributors, https://openjsf.org/
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/api/legal/jqueryUI.html b/api/legal/jqueryUI.html new file mode 100644 index 000000000..f9de1ba9f --- /dev/null +++ b/api/legal/jqueryUI.html @@ -0,0 +1,656 @@ + + + + + + + + + + + + + + + + + + + + + + jqueryUI - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

jqueryUI

+ +

jQuery UI v1.13.2

+

jQuery UI License

+
Copyright jQuery Foundation and other contributors, https://jquery.org/
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+available at https://github.com/jquery/jquery-ui
+
+The following license applies to all parts of this software except as
+documented below:
+
+====
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+====
+
+Copyright and related rights for sample code are waived via CC0. Sample
+code is defined as all source code contained within the demos directory.
+
+CC0: http://creativecommons.org/publicdomain/zero/1.0/
+
+====
+
+All files located in the node_modules and external directories are
+externally maintained libraries used by this software which have their
+own licenses; we recommend you read them, as their terms may differ from
+the terms above.
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/api/legal/jszip.html b/api/legal/jszip.html new file mode 100644 index 000000000..e99d1bc72 --- /dev/null +++ b/api/legal/jszip.html @@ -0,0 +1,1264 @@ + + + + + + + + + + + + + + + + + + + + + + Jszip - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Jszip

+ +

JSZip v3.7.1

+

JSZip is dual licensed. You may use it under the MIT license or the GPLv3 +license.

+

The MIT License

+
Copyright (c) 2009-2016 Stuart Knightley, David Duponchel, Franz Buchinger, António Afonso
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+

GPL version 3

+
                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/api/legal/pako.html b/api/legal/pako.html new file mode 100644 index 000000000..3ca897880 --- /dev/null +++ b/api/legal/pako.html @@ -0,0 +1,652 @@ + + + + + + + + + + + + + + + + + + + + + + Pako - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Pako

+ +

Pako v1.0

+

Pako License

+
+Copyright (C) 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+(C) 1995-2013 Jean-loup Gailly and Mark Adler
+(C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+claim that you wrote the original software. If you use this software
+in a product, an acknowledgment in the product documentation would be
+appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/api/member-search-index.js b/api/member-search-index.js new file mode 100644 index 000000000..a9edf6a92 --- /dev/null +++ b/api/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"__()"},{"p":"proguard.dexfile.reader.node.insn","c":"DexStmtNode","l":"__index"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"_cfg_froms"},{"p":"proguard.dexfile.ir.expr","c":"Local","l":"_ls_index"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"_ts_default_next"},{"p":"proguard.dexfile.reader.node.insn","c":"BaseSwitchStmtNode","l":"a"},{"p":"proguard.dexfile.reader.node.insn","c":"ConstStmtNode","l":"a"},{"p":"proguard.dexfile.reader.node.insn","c":"FieldStmtNode","l":"a"},{"p":"proguard.dexfile.reader.node.insn","c":"JumpStmtNode","l":"a"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt1RNode","l":"a"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt2RNode","l":"a"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt3RNode","l":"a"},{"p":"proguard.dexfile.reader.node.insn","c":"TypeStmtNode","l":"a"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"A"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"A"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"A"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_ANDROID_MANIFEST_XML_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_ANDROID_MANIFEST_XML_SUFFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_ASSETS_DEX_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_ASSETS_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_ASSETS_PB_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_BASE"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_BASE_DEX_PREFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_BASE_MANIFEST_PREFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_BASE_PREFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_BASE_RES_PREFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_BASE_ROOT_PREFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_BUNDLE_METADATA_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_BUNDLETOOL_PREFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_CLASSES_DEX_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_DEX_INFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_DYLIB_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_FILE_EXTENSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_LIB_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_MANIFEST_INFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_METADATA_PREFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_NATIVE_PB_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_OBFUSCATION_PREFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_RES_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_RES_XML_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_RESOURCES_ARSC_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_RESOURCES_ARSC_SUFFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_RESOURCES_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_RESOURCES_PB_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_RESOURCES_PB_SUFFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_ROOT"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_ROOT_INFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_ROOT_PREFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAB_XML_FILE_EXPRESSION"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"aaload()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"aaload()"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAR_FILE_EXTENSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAR_JNI_DYFILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAR_JNI_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAR_JNI_PREFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAR_R_TXT"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AAR_RESOURCE_FILES_ALLOW_SHRINKING"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"aastore()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"aastore()"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"abbreviation"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"abbreviationAccept(Clazz, KotlinTypeVisitor)","url":"abbreviationAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.analysis.cpa.defaults","c":"ControllableAbortOperator","l":"abort"},{"p":"proguard.analysis.cpa.defaults","c":"ControllableAbortOperator","l":"abort(AbstractState)","url":"abort(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"NeverAbortOperator","l":"abort(AbstractState)","url":"abort(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.interfaces","c":"AbortOperator","l":"abort(AbstractState)","url":"abort(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun.Builder","l":"abortOperator"},{"p":"proguard.analysis.cpa.defaults","c":"CpaRun","l":"abortOperator"},{"p":"proguard.classfile","c":"AccessConstants","l":"ABSTRACT"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"ABSTRACT"},{"p":"proguard.dexfile.ir.expr","c":"AbstractInvokeExpr","l":"AbstractInvokeExpr(Value.VT, Value[])","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.expr.Value[])"},{"p":"proguard.util.kotlin.asserter.constraint","c":"AbstractKotlinMetadataConstraint","l":"AbstractKotlinMetadataConstraint()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.node.insn","c":"AbstractMethodStmtNode","l":"AbstractMethodStmtNode(Op, int[])","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int[])"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractSingleWrapperState","l":"AbstractSingleWrapperState(AbstractState)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation.InstructionAbstractInterpreter","l":"abstractState"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWaitlist","l":"AbstractWaitlist(CollectionT)","url":"%3Cinit%3E(CollectionT)"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWrapperState","l":"AbstractWrapperState()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_ABSTRACT"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_ANNOTATION"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_BRIDGE"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_CONSTRUCTOR"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_DECLARED_SYNCHRONIZED"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_DEX_HIDDEN_BIT"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_DEX_HIDDEN_BIT_NATIVE"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_ENUM"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_FINAL"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_INTERFACE"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_NATIVE"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_PRIVATE"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_PROTECTED"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_PUBLIC"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_STATIC"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_STRICT"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_SYNCHRONIZED"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_SYNTHETIC"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_TRANSIENT"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_VARARGS"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_VISIBILITY_FLAGS"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ACC_VOLATILE"},{"p":"proguard.classfile.kotlin.reflect","c":"CallableReferenceInfo","l":"accept(CallableReferenceInfoVisitor)","url":"accept(proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoVisitor)"},{"p":"proguard.classfile.kotlin.reflect","c":"FunctionReferenceInfo","l":"accept(CallableReferenceInfoVisitor)","url":"accept(proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoVisitor)"},{"p":"proguard.classfile.kotlin.reflect","c":"JavaReferenceInfo","l":"accept(CallableReferenceInfoVisitor)","url":"accept(proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoVisitor)"},{"p":"proguard.classfile.kotlin.reflect","c":"LocalVariableReferenceInfo","l":"accept(CallableReferenceInfoVisitor)","url":"accept(proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoVisitor)"},{"p":"proguard.classfile.kotlin.reflect","c":"PropertyReferenceInfo","l":"accept(CallableReferenceInfoVisitor)","url":"accept(proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoVisitor)"},{"p":"proguard.classfile","c":"ClassPool","l":"accept(ClassPoolVisitor)","url":"accept(proguard.classfile.visitor.ClassPoolVisitor)"},{"p":"proguard.classfile","c":"Clazz","l":"accept(ClassVisitor)","url":"accept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"accept(ClassVisitor)","url":"accept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"accept(ClassVisitor)","url":"accept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationElementValue","l":"accept(Clazz, Annotation, ElementValueVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.visitor.ElementValueVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"ArrayElementValue","l":"accept(Clazz, Annotation, ElementValueVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.visitor.ElementValueVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"ClassElementValue","l":"accept(Clazz, Annotation, ElementValueVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.visitor.ElementValueVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"ConstantElementValue","l":"accept(Clazz, Annotation, ElementValueVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.visitor.ElementValueVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"accept(Clazz, Annotation, ElementValueVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.visitor.ElementValueVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"EnumConstantElementValue","l":"accept(Clazz, Annotation, ElementValueVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.visitor.ElementValueVisitor)"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodsAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"DeprecatedAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"EnclosingMethodAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"InnerClassesAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"NestHostAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"NestMembersAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"PermittedSubclassesAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"RecordAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"SignatureAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"SourceDebugExtensionAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"SourceDirAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"SourceFileAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"SyntheticAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"UnknownAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleAnnotationsAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleTypeAnnotationsAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleAnnotationsAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleTypeAnnotationsAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.module","c":"ModuleMainClassAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.module","c":"ModulePackagesAttribute","l":"accept(Clazz, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.constant","c":"ClassConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"Constant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"DoubleConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"FieldrefConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"FloatConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"IntegerConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"InterfaceMethodrefConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"LongConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"MethodrefConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"ModuleConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"PackageConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"Utf8Constant","l":"accept(Clazz, ConstantVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"accept(Clazz, Field, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"ConstantValueAttribute","l":"accept(Clazz, Field, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"DeprecatedAttribute","l":"accept(Clazz, Field, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"SignatureAttribute","l":"accept(Clazz, Field, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"SyntheticAttribute","l":"accept(Clazz, Field, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"UnknownAttribute","l":"accept(Clazz, Field, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleAnnotationsAttribute","l":"accept(Clazz, Field, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleTypeAnnotationsAttribute","l":"accept(Clazz, Field, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleAnnotationsAttribute","l":"accept(Clazz, Field, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleTypeAnnotationsAttribute","l":"accept(Clazz, Field, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"EmptyTargetInfo","l":"accept(Clazz, Field, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"accept(Clazz, Field, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterBoundTargetInfo","l":"accept(Clazz, Field, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.AnnotationValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ArrayValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.BooleanValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ByteValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.CharValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ClassValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.DoubleValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.EnumValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.FloatValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.IntValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.LiteralValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.LongValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ShortValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.StringValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.UByteValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.UIntValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ULongValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.UShortValue","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.Value","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgumentVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"accept(Clazz, KotlinAnnotatable, KotlinAnnotationVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"accept(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinConstructorMetadata","l":"accept(Clazz, KotlinClassKindMetadata, KotlinConstructorVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.visitor.KotlinConstructorVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"accept(Clazz, KotlinClassKindMetadata, KotlinTypeParameterVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"accept(Clazz, KotlinClassKindMetadata, KotlinTypeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"accept(Clazz, KotlinDeclarationContainerMetadata, KotlinFunctionVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.visitor.KotlinFunctionVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"accept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeParameterVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"accept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"accept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinVersionRequirementVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"accept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.visitor.KotlinPropertyVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"accept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeParameterVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"accept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.visitor.KotlinTypeAliasVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"accept(Clazz, KotlinMetadata, KotlinConstructorMetadata, KotlinVersionRequirementVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectMetadata","l":"accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata, KotlinEffectVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinContractMetadata,proguard.classfile.kotlin.visitor.KotlinEffectVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinContractMetadata","l":"accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.visitor.KotlinContractVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeParameterVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinVersionRequirementVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"accept(Clazz, KotlinMetadata, KotlinTypeAliasMetadata, KotlinVersionRequirementVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"accept(Clazz, KotlinMetadata, KotlinVersionRequirementVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"accept(Clazz, KotlinMetadataVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFileFacadeKindMetadata","l":"accept(Clazz, KotlinMetadataVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadata","l":"accept(Clazz, KotlinMetadataVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinMultiFileFacadeKindMetadata","l":"accept(Clazz, KotlinMetadataVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinMultiFilePartKindMetadata","l":"accept(Clazz, KotlinMetadataVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata","l":"accept(Clazz, KotlinMetadataVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"UnsupportedKotlinMetadata","l":"accept(Clazz, KotlinMetadataVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"accept(Clazz, KotlinSyntheticClassKindMetadata, KotlinFunctionVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata,proguard.classfile.kotlin.visitor.KotlinFunctionVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"accept(Clazz, KotlinTypeAliasMetadata, KotlinAnnotationVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"accept(Clazz, KotlinTypeMetadata, KotlinAnnotationVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"accept(Clazz, KotlinTypeParameterMetadata, KotlinAnnotationVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata,proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"accept(Clazz, KotlinTypeParameterMetadata, KotlinTypeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile","c":"LibraryMember","l":"accept(Clazz, MemberVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"Member","l":"accept(Clazz, MemberVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"ProgramMember","l":"accept(Clazz, MemberVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"DeprecatedAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"ExceptionsAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"MethodParametersAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"SignatureAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"SyntheticAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"UnknownAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationDefaultAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleAnnotationsAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleParameterAnnotationsAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleTypeAnnotationsAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleAnnotationsAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleParameterAnnotationsAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleTypeAnnotationsAttribute","l":"accept(Clazz, Method, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"accept(Clazz, Method, CodeAttribute, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"LineNumberTableAttribute","l":"accept(Clazz, Method, CodeAttribute, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"LocalVariableTableAttribute","l":"accept(Clazz, Method, CodeAttribute, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeTableAttribute","l":"accept(Clazz, Method, CodeAttribute, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"UnknownAttribute","l":"accept(Clazz, Method, CodeAttribute, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleTypeAnnotationsAttribute","l":"accept(Clazz, Method, CodeAttribute, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleTypeAnnotationsAttribute","l":"accept(Clazz, Method, CodeAttribute, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapAttribute","l":"accept(Clazz, Method, CodeAttribute, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapTableAttribute","l":"accept(Clazz, Method, CodeAttribute, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor.Label","l":"accept(Clazz, Method, CodeAttribute, int, InstructionVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer.Label","l":"accept(Clazz, Method, CodeAttribute, int, InstructionVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"accept(Clazz, Method, CodeAttribute, int, InstructionVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"accept(Clazz, Method, CodeAttribute, int, InstructionVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"accept(Clazz, Method, CodeAttribute, int, InstructionVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.instruction","c":"LookUpSwitchInstruction","l":"accept(Clazz, Method, CodeAttribute, int, InstructionVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"accept(Clazz, Method, CodeAttribute, int, InstructionVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.instruction","c":"TableSwitchInstruction","l":"accept(Clazz, Method, CodeAttribute, int, InstructionVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"accept(Clazz, Method, CodeAttribute, int, InstructionVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"LessZeroFrame","l":"accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"MoreZeroFrame","l":"accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"SameOneFrame","l":"accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"SameZeroFrame","l":"accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"DoubleType","l":"accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"FloatType","l":"accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"IntegerType","l":"accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"LongType","l":"accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"NullType","l":"accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"ObjectType","l":"accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"TopType","l":"accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedThisType","l":"accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedType","l":"accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"CatchTargetInfo","l":"accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"LocalVariableTargetInfo","l":"accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"OffsetTargetInfo","l":"accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeArgumentTargetInfo","l":"accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"EmptyTargetInfo","l":"accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"FormalParameterTargetInfo","l":"accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"ThrowsTargetInfo","l":"accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterBoundTargetInfo","l":"accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterTargetInfo","l":"accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"accept(Clazz, RecordComponentInfo, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"SignatureAttribute","l":"accept(Clazz, RecordComponentInfo, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleAnnotationsAttribute","l":"accept(Clazz, RecordComponentInfo, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleTypeAnnotationsAttribute","l":"accept(Clazz, RecordComponentInfo, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleAnnotationsAttribute","l":"accept(Clazz, RecordComponentInfo, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleTypeAnnotationsAttribute","l":"accept(Clazz, RecordComponentInfo, AttributeVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"CatchTargetInfo","l":"accept(Clazz, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"EmptyTargetInfo","l":"accept(Clazz, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"FormalParameterTargetInfo","l":"accept(Clazz, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"LocalVariableTargetInfo","l":"accept(Clazz, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"OffsetTargetInfo","l":"accept(Clazz, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"SuperTypeTargetInfo","l":"accept(Clazz, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"accept(Clazz, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"ThrowsTargetInfo","l":"accept(Clazz, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeArgumentTargetInfo","l":"accept(Clazz, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterBoundTargetInfo","l":"accept(Clazz, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterTargetInfo","l":"accept(Clazz, TypeAnnotation, TargetInfoVisitor)","url":"accept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.dexfile.reader","c":"BaseDexFileReader","l":"accept(Consumer)","url":"accept(java.util.function.Consumer)"},{"p":"proguard.dexfile.reader","c":"DexContainerReader","l":"accept(Consumer)","url":"accept(java.util.function.Consumer)"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"accept(Consumer)","url":"accept(java.util.function.Consumer)"},{"p":"proguard.dexfile.reader.node","c":"DexAnnotationNode","l":"accept(DexAnnotationAble)","url":"accept(proguard.dexfile.reader.visitors.DexAnnotationAble)"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"accept(DexClassVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexClassVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexFieldNode","l":"accept(DexClassVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexClassVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexFileNode","l":"accept(DexClassVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexClassVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexMethodNode","l":"accept(DexClassVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexClassVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node","c":"TryCatchNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"ConstStmtNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"DexLabelStmtNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"DexStmtNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"FieldStmtNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"FillArrayDataStmtNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"FilledNewArrayStmtNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"JumpStmtNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodCustomStmtNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodPolymorphicStmtNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodStmtNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"PackedSwitchStmtNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"SparseSwitchStmtNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt0RNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt1RNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt2R1NNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt2RNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt3RNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"TypeStmtNode","l":"accept(DexCodeVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"accept(DexDebugVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexDebugVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode","l":"accept(DexDebugVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexDebugVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.EndLocal","l":"accept(DexDebugVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexDebugVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.Epiogue","l":"accept(DexDebugVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexDebugVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.LineNumber","l":"accept(DexDebugVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexDebugVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.Prologue","l":"accept(DexDebugVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexDebugVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.RestartLocal","l":"accept(DexDebugVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexDebugVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.StartLocalNode","l":"accept(DexDebugVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexDebugVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexFieldNode","l":"accept(DexFieldVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexFieldVisitor)"},{"p":"proguard.dexfile.reader","c":"BaseDexFileReader","l":"accept(DexFileVisitor, int, int)","url":"accept(proguard.dexfile.reader.visitors.DexFileVisitor,int,int)"},{"p":"proguard.dexfile.reader","c":"DexContainerReader","l":"accept(DexFileVisitor, int, int)","url":"accept(proguard.dexfile.reader.visitors.DexFileVisitor,int,int)"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"accept(DexFileVisitor, int, int)","url":"accept(proguard.dexfile.reader.visitors.DexFileVisitor,int,int)"},{"p":"proguard.dexfile.reader","c":"BaseDexFileReader","l":"accept(DexFileVisitor, int)","url":"accept(proguard.dexfile.reader.visitors.DexFileVisitor,int)"},{"p":"proguard.dexfile.reader","c":"DexContainerReader","l":"accept(DexFileVisitor, int)","url":"accept(proguard.dexfile.reader.visitors.DexFileVisitor,int)"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"accept(DexFileVisitor, int)","url":"accept(proguard.dexfile.reader.visitors.DexFileVisitor,int)"},{"p":"proguard.dexfile.reader","c":"BaseDexFileReader","l":"accept(DexFileVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexFileVisitor)"},{"p":"proguard.dexfile.reader","c":"DexContainerReader","l":"accept(DexFileVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexFileVisitor)"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"accept(DexFileVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexFileVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"accept(DexFileVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexFileVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexFileNode","l":"accept(DexFileVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexFileVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"accept(DexMethodVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexMethodVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexMethodNode","l":"accept(DexMethodVisitor)","url":"accept(proguard.dexfile.reader.visitors.DexMethodVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer.StackSizeConsumer","l":"accept(int, int, int)","url":"accept(int,int,int)"},{"p":"proguard.classfile.io","c":"LibraryClassReader.KotlinMetadataElementValueConsumer","l":"accept(int, int[], String[], String[], int, String, String)","url":"accept(int,int[],java.lang.String[],java.lang.String[],int,java.lang.String,java.lang.String)"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModulePackage","l":"accept(KotlinModule, KotlinModulePackageVisitor)","url":"accept(proguard.resources.kotlinmodule.KotlinModule,proguard.resources.kotlinmodule.visitor.KotlinModulePackageVisitor)"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModule","l":"accept(KotlinModuleVisitor)","url":"accept(proguard.resources.kotlinmodule.visitor.KotlinModuleVisitor)"},{"p":"proguard.classfile","c":"LibraryField","l":"accept(LibraryClass, MemberVisitor)","url":"accept(proguard.classfile.LibraryClass,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"LibraryMember","l":"accept(LibraryClass, MemberVisitor)","url":"accept(proguard.classfile.LibraryClass,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"LibraryMethod","l":"accept(LibraryClass, MemberVisitor)","url":"accept(proguard.classfile.LibraryClass,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"ProgramField","l":"accept(ProgramClass, MemberVisitor)","url":"accept(proguard.classfile.ProgramClass,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"ProgramMember","l":"accept(ProgramClass, MemberVisitor)","url":"accept(proguard.classfile.ProgramClass,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"ProgramMethod","l":"accept(ProgramClass, MemberVisitor)","url":"accept(proguard.classfile.ProgramClass,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.resources.file","c":"ResourceFile","l":"accept(ResourceFileVisitor)","url":"accept(proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModule","l":"accept(ResourceFileVisitor)","url":"accept(proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexAnnotationNode","l":"acceptAnnotationItem(DexAnnotationVisitor, String, Object)","url":"acceptAnnotationItem(proguard.dexfile.reader.visitors.DexAnnotationVisitor,java.lang.String,java.lang.Object)"},{"p":"proguard.classfile.util","c":"AccessUtil","l":"accepted(int, int, int)","url":"accepted(int,int,int)"},{"p":"proguard.classfile.io.visitor","c":"ProcessingFlagDataEntryFilter","l":"accepts(DataEntry)","url":"accepts(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DataEntryClassInfoFilter","l":"accepts(DataEntry)","url":"accepts(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DataEntryDirectoryFilter","l":"accepts(DataEntry)","url":"accepts(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DataEntryFilter","l":"accepts(DataEntry)","url":"accepts(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DataEntryNameFilter","l":"accepts(DataEntry)","url":"accepts(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DataEntryParentFilter","l":"accepts(DataEntry)","url":"accepts(proguard.io.DataEntry)"},{"p":"proguard.classfile.util","c":"WarningPrinter","l":"accepts(String, String)","url":"accepts(java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"WarningPrinter","l":"accepts(String)","url":"accepts(java.lang.String)"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"access"},{"p":"proguard.dexfile.reader.node","c":"DexFieldNode","l":"access"},{"p":"proguard.dexfile.reader.node","c":"DexMethodNode","l":"access"},{"p":"proguard.classfile","c":"AccessConstants","l":"AccessConstants()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"AccessFixer","l":"AccessFixer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"AccessUtil","l":"accessFlags(int)"},{"p":"proguard.classfile.util","c":"AccessUtil","l":"accessLevel(int)"},{"p":"proguard.classfile.util","c":"AccessUtil","l":"AccessUtil()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"aconst_null()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"aconst_null()"},{"p":"proguard.evaluation","c":"Stack","l":"actualMaxSize"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"actualOpcode()"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"ADD"},{"p":"proguard.evaluation.value","c":"CompositeDoubleValue","l":"ADD"},{"p":"proguard.evaluation.value","c":"CompositeFloatValue","l":"ADD"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"ADD"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"ADD"},{"p":"proguard.dexfile.reader","c":"Op","l":"ADD_DOUBLE"},{"p":"proguard.dexfile.reader","c":"Op","l":"ADD_DOUBLE_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"ADD_FLOAT"},{"p":"proguard.dexfile.reader","c":"Op","l":"ADD_FLOAT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"ADD_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"ADD_INT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"ADD_INT_LIT16"},{"p":"proguard.dexfile.reader","c":"Op","l":"ADD_INT_LIT8"},{"p":"proguard.dexfile.reader","c":"Op","l":"ADD_LONG"},{"p":"proguard.dexfile.reader","c":"Op","l":"ADD_LONG_2ADDR"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWaitlist","l":"add(AbstractState)","url":"add(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"ProgramLocationDependentReachedSet","l":"add(AbstractState)","url":"add(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.interfaces","c":"ReachedSet","l":"add(AbstractState)","url":"add(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.interfaces","c":"Waitlist","l":"add(AbstractState)","url":"add(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.util","c":"ArrayUtil","l":"add(byte[], int, byte)","url":"add(byte[],int,byte)"},{"p":"proguard.util","c":"ArrayUtil","l":"add(char[], int, char)","url":"add(char[],int,char)"},{"p":"proguard.io","c":"ClassPath","l":"add(ClassPathEntry)","url":"add(proguard.io.ClassPathEntry)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"add(DexStmtNode)","url":"add(proguard.dexfile.reader.node.insn.DexStmtNode)"},{"p":"proguard.util","c":"ArrayUtil","l":"add(double[], int, double)","url":"add(double[],int,double)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"add(DoubleValue)","url":"add(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"add(DoubleValue)","url":"add(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"add(DoubleValue)","url":"add(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"add(DoubleValue)","url":"add(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.util","c":"ArrayUtil","l":"add(float[], int, float)","url":"add(float[],int,float)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"add(FloatValue)","url":"add(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"add(FloatValue)","url":"add(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"add(FloatValue)","url":"add(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"add(FloatValue)","url":"add(proguard.evaluation.value.FloatValue)"},{"p":"proguard.io","c":"ClassPath","l":"add(int, ClassPathEntry)","url":"add(int,proguard.io.ClassPathEntry)"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"add(int)"},{"p":"proguard.util","c":"ArrayUtil","l":"add(int[], int, int)","url":"add(int[],int,int)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"add(IntegerValue)","url":"add(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"add(IntegerValue)","url":"add(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"add(IntegerValue)","url":"add(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"add(IntegerValue)","url":"add(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"add(IntegerValue)","url":"add(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.util","c":"ArrayUtil","l":"add(long[], int, long)","url":"add(long[],int,long)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"add(LongValue)","url":"add(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"add(LongValue)","url":"add(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"add(LongValue)","url":"add(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"add(LongValue)","url":"add(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"add(ParticularDoubleValue)","url":"add(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"add(ParticularDoubleValue)","url":"add(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"add(ParticularFloatValue)","url":"add(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"add(ParticularFloatValue)","url":"add(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"add(ParticularIntegerValue)","url":"add(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"add(ParticularIntegerValue)","url":"add(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"add(ParticularIntegerValue)","url":"add(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"add(ParticularLongValue)","url":"add(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"add(ParticularLongValue)","url":"add(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"add(RangeIntegerValue)","url":"add(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"add(RangeIntegerValue)","url":"add(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"add(RangeIntegerValue)","url":"add(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"add(RangeIntegerValue)","url":"add(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.util","c":"ArrayUtil","l":"add(short[], int, short)","url":"add(short[],int,short)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"add(SpecificDoubleValue)","url":"add(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"add(SpecificDoubleValue)","url":"add(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"add(SpecificFloatValue)","url":"add(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"add(SpecificFloatValue)","url":"add(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"add(SpecificIntegerValue)","url":"add(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"add(SpecificIntegerValue)","url":"add(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"add(SpecificLongValue)","url":"add(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"add(SpecificLongValue)","url":"add(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"add(Stmt)","url":"add(proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.dexfile.ir.ts","c":"UniqueQueue","l":"add(T)"},{"p":"proguard.util","c":"ArrayUtil","l":"add(T[], int, T)","url":"add(T[],int,T)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"add(UnknownIntegerValue)","url":"add(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.io","c":"ClassPath","l":"addAll(ClassPath)","url":"addAll(proguard.io.ClassPath)"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWaitlist","l":"addAll(Collection)","url":"addAll(java.util.Collection)"},{"p":"proguard.analysis.cpa.defaults","c":"ProgramLocationDependentReachedSet","l":"addAll(Collection)","url":"addAll(java.util.Collection)"},{"p":"proguard.analysis.cpa.interfaces","c":"ReachedSet","l":"addAll(Collection)","url":"addAll(java.util.Collection)"},{"p":"proguard.analysis.cpa.interfaces","c":"Waitlist","l":"addAll(Collection)","url":"addAll(java.util.Collection)"},{"p":"proguard.dexfile.ir.ts","c":"UniqueQueue","l":"addAll(Collection)","url":"addAll(java.util.Collection)"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"addAll(Collection)","url":"addAll(java.util.Collection)"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"addAllUses(Set)","url":"addAllUses(java.util.Set)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"addAndReturnField(int, String, String)","url":"addAndReturnField(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"addAndReturnField(int, String, String)","url":"addAndReturnField(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"addAndReturnMethod(int, String, String, int, ClassBuilder.CodeBuilder)","url":"addAndReturnMethod(int,java.lang.String,java.lang.String,int,proguard.classfile.editor.ClassBuilder.CodeBuilder)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"addAndReturnMethod(int, String, String)","url":"addAndReturnMethod(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"addAndReturnMethod(int, String, String)","url":"addAndReturnMethod(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"AnnotationsAttributeEditor","l":"addAnnotation(Annotation)","url":"addAnnotation(proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.editor","c":"ParameterAnnotationsAttributeEditor","l":"addAnnotation(int, Annotation)","url":"addAnnotation(int,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"MultiAnnotationVisitor","l":"addAnnotationVisitor(AnnotationVisitor)","url":"addAnnotationVisitor(proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.editor","c":"AttributesEditor","l":"addAttribute(Attribute)","url":"addAttribute(proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"addAttributeVisitor(AttributeVisitor)","url":"addAttributeVisitor(proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeEditor","l":"addBootstrapMethodInfo(BootstrapMethodInfo)","url":"addBootstrapMethodInfo(proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.analysis.datastructure.callgraph","c":"CallGraph","l":"addCall(Call)","url":"addCall(proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.examples.util","c":"ExampleUtil","l":"addClass(ClassPool, Class...)","url":"addClass(proguard.classfile.ClassPool,java.lang.Class...)"},{"p":"proguard.classfile","c":"ClassPool","l":"addClass(Clazz)","url":"addClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"ClassPool","l":"addClass(String, Clazz)","url":"addClass(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addClassConstant(Clazz)","url":"addClassConstant(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addClassConstant(int, Clazz)","url":"addClassConstant(int,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addClassConstant(String, Clazz)","url":"addClassConstant(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"MultiClassPoolVisitor","l":"addClassPoolVisitor(ClassPoolVisitor)","url":"addClassPoolVisitor(proguard.classfile.visitor.ClassPoolVisitor)"},{"p":"proguard.classfile.visitor","c":"MultiClassVisitor","l":"addClassVisitor(ClassVisitor)","url":"addClassVisitor(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"MultiConstantVisitor","l":"addClassVisitor(ConstantVisitor)","url":"addClassVisitor(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"addCodeAttribute(ProgramClass, ProgramMethod, ConstantPoolEditor)","url":"addCodeAttribute(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod,proguard.classfile.editor.ConstantPoolEditor)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"addCodeAttribute(ProgramClass, ProgramMethod)","url":"addCodeAttribute(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"addCodeAttribute(ProgramClass, ProgramMethod)","url":"addCodeAttribute(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"addConstant(Clazz, Constant)","url":"addConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"addConstant(Clazz, int)","url":"addConstant(proguard.classfile.Clazz,int)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addConstant(Constant)","url":"addConstant(proguard.classfile.constant.Constant)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"addDebug(DexDebugNode.DexDebugOpNode)","url":"addDebug(proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addDoubleConstant(double)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addDynamicConstant(int, int, Clazz[])","url":"addDynamicConstant(int,int,proguard.classfile.Clazz[])"},{"p":"proguard.classfile.editor","c":"ElementValuesEditor","l":"addElementValue(ElementValue)","url":"addElementValue(proguard.classfile.attribute.annotation.ElementValue)"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"addEnteringEdge(JvmCfaEdge)","url":"addEnteringEdge(proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge)"},{"p":"proguard.classfile.editor","c":"ExceptionsAttributeEditor","l":"addException(int)"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit.Builder","l":"addExecutor(Executor.Builder)","url":"addExecutor(proguard.evaluation.executor.Executor.Builder)"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit.Builder","l":"addExecutors(Executor.Builder...)","url":"addExecutors(proguard.evaluation.executor.Executor.Builder...)"},{"p":"proguard.util","c":"FeatureNamed","l":"addExtraFeatureName(String)","url":"addExtraFeatureName(java.lang.String)"},{"p":"proguard.util","c":"SimpleFeatureNamedProcessable","l":"addExtraFeatureName(String)","url":"addExtraFeatureName(java.lang.String)"},{"p":"proguard.classfile.util.renderer","c":"ProcessableViewModel","l":"addExtraProcessingFlags(Class)","url":"addExtraProcessingFlags(java.lang.Class)"},{"p":"proguard.classfile.editor","c":"ClassEditor","l":"addField(Field)","url":"addField(proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"LibraryClassEditor","l":"addField(Field)","url":"addField(proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"addField(int, String, String, MemberVisitor)","url":"addField(int,java.lang.String,java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"addField(int, String, String, MemberVisitor)","url":"addField(int,java.lang.String,java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"addField(int, String, String)","url":"addField(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"addField(int, String, String)","url":"addField(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addFieldrefConstant(Clazz, Field)","url":"addFieldrefConstant(proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addFieldrefConstant(int, int, Clazz, Field)","url":"addFieldrefConstant(int,int,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addFieldrefConstant(int, String, String, Clazz, Field)","url":"addFieldrefConstant(int,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addFieldrefConstant(String, int, Clazz, Field)","url":"addFieldrefConstant(java.lang.String,int,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addFieldrefConstant(String, String, String, Clazz, Field)","url":"addFieldrefConstant(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addFloatConstant(float)"},{"p":"proguard.analysis.cpa.jvm.cfa","c":"JvmCfa","l":"addFunctionCatchNode(MethodSignature, JvmCatchCfaNode, int)","url":"addFunctionCatchNode(proguard.classfile.MethodSignature,proguard.analysis.cpa.jvm.cfa.nodes.JvmCatchCfaNode,int)"},{"p":"proguard.analysis.cpa.defaults","c":"Cfa","l":"addFunctionEntryNode(SignatureT, CfaNodeT)","url":"addFunctionEntryNode(SignatureT,CfaNodeT)"},{"p":"proguard.analysis.cpa.defaults","c":"Cfa","l":"addFunctionNode(SignatureT, CfaNodeT, int)","url":"addFunctionNode(SignatureT,CfaNodeT,int)"},{"p":"proguard.classfile.editor","c":"InitializerEditor","l":"addInitializerInstructions(InitializerEditor.CodeBuilder)","url":"addInitializerInstructions(proguard.classfile.editor.InitializerEditor.CodeBuilder)"},{"p":"proguard.classfile.editor","c":"InitializerEditor","l":"addInitializerInstructions(Instruction[])","url":"addInitializerInstructions(proguard.classfile.instruction.Instruction[])"},{"p":"proguard.classfile.editor","c":"InnerClassesAttributeEditor","l":"addInnerClassesInfo(InnerClassesInfo)","url":"addInnerClassesInfo(proguard.classfile.attribute.InnerClassesInfo)"},{"p":"proguard.classfile.instruction.visitor","c":"MultiInstructionVisitor","l":"addInstructionVisitor(InstructionVisitor)","url":"addInstructionVisitor(proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addIntegerConstant(int)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"addInterface(Clazz)","url":"addInterface(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"addInterface(Clazz)","url":"addInterface(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ClassEditor","l":"addInterface(int)"},{"p":"proguard.classfile.editor","c":"InterfacesEditor","l":"addInterface(int)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"addInterface(String, Clazz)","url":"addInterface(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"addInterface(String, Clazz)","url":"addInterface(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"LibraryClassEditor","l":"addInterface(String, Clazz)","url":"addInterface(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"addInterface(String)","url":"addInterface(java.lang.String)"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"addInterface(String)","url":"addInterface(java.lang.String)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addInterfaceMethodrefConstant(Clazz, Method)","url":"addInterfaceMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addInterfaceMethodrefConstant(int, int, Clazz, Method)","url":"addInterfaceMethodrefConstant(int,int,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addInterfaceMethodrefConstant(int, String, String, Clazz, Method)","url":"addInterfaceMethodrefConstant(int,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addInterfaceMethodrefConstant(String, int, Clazz, Method)","url":"addInterfaceMethodrefConstant(java.lang.String,int,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addInterfaceMethodrefConstant(String, String, String, Clazz, Method)","url":"addInterfaceMethodrefConstant(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.analysis.cpa.jvm.cfa","c":"JvmCfa","l":"addInterproceduralEdge(Call)","url":"addInterproceduralEdge(proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis.cpa.jvm.util","c":"CfaUtil","l":"addInterproceduralEdgesToCfa(JvmCfa, CallGraph)","url":"addInterproceduralEdgesToCfa(proguard.analysis.cpa.jvm.cfa.JvmCfa,proguard.analysis.datastructure.callgraph.CallGraph)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addInvokeDynamicConstant(int, int, Clazz[])","url":"addInvokeDynamicConstant(int,int,proguard.classfile.Clazz[])"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addInvokeDynamicConstant(int, String, String, Clazz[])","url":"addInvokeDynamicConstant(int,java.lang.String,java.lang.String,proguard.classfile.Clazz[])"},{"p":"proguard.classfile.attribute.preverification","c":"MoreZeroFrame","l":"additionalVariables"},{"p":"proguard.classfile.attribute.preverification","c":"MoreZeroFrame","l":"additionalVariablesAccept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"additionalVariablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"MoreZeroFrame","l":"additionalVariablesCount"},{"p":"proguard.classfile.kotlin.visitor","c":"MultiKotlinMetadataVisitor","l":"addKotlinMetadataVisitor(KotlinMetadataVisitor)","url":"addKotlinMetadataVisitor(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"addLeavingEdge(JvmCfaEdge)","url":"addLeavingEdge(proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge)"},{"p":"proguard.classfile.editor","c":"LineNumberTableAttributeEditor","l":"addLineNumberInfo(LineNumberInfo)","url":"addLineNumberInfo(proguard.classfile.attribute.LineNumberInfo)"},{"p":"proguard.classfile.editor","c":"LocalVariableTableAttributeEditor","l":"addLocalVariableInfo(LocalVariableInfo)","url":"addLocalVariableInfo(proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.editor","c":"LocalVariableTypeTableAttributeEditor","l":"addLocalVariableTypeInfo(LocalVariableTypeInfo)","url":"addLocalVariableTypeInfo(proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addLongConstant(long)"},{"p":"proguard.classfile.visitor","c":"MultiMemberVisitor","l":"addMemberVisitor(MemberVisitor)","url":"addMemberVisitor(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"addMethod(int, String, String, int, ClassBuilder.CodeBuilder, MemberVisitor)","url":"addMethod(int,java.lang.String,java.lang.String,int,proguard.classfile.editor.ClassBuilder.CodeBuilder,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"addMethod(int, String, String, int, ClassBuilder.CodeBuilder)","url":"addMethod(int,java.lang.String,java.lang.String,int,proguard.classfile.editor.ClassBuilder.CodeBuilder)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"addMethod(int, String, String, MemberVisitor)","url":"addMethod(int,java.lang.String,java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"addMethod(int, String, String, MemberVisitor)","url":"addMethod(int,java.lang.String,java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"addMethod(int, String, String)","url":"addMethod(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"addMethod(int, String, String)","url":"addMethod(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"ClassEditor","l":"addMethod(Method)","url":"addMethod(proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"LibraryClassEditor","l":"addMethod(Method)","url":"addMethod(proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addMethodHandleConstant(int, int)","url":"addMethodHandleConstant(int,int)"},{"p":"proguard.examples.instrument","c":"AddMethodInvocationLogging","l":"AddMethodInvocationLogging()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addMethodrefConstant(Clazz, Method)","url":"addMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addMethodrefConstant(int, int, Clazz, Method)","url":"addMethodrefConstant(int,int,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addMethodrefConstant(int, String, String, Clazz, Method)","url":"addMethodrefConstant(int,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addMethodrefConstant(String, int, Clazz, Method)","url":"addMethodrefConstant(java.lang.String,int,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addMethodrefConstant(String, String, String, Clazz, Method)","url":"addMethodrefConstant(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addMethodTypeConstant(int, Clazz[])","url":"addMethodTypeConstant(int,proguard.classfile.Clazz[])"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addMethodTypeConstant(String, Clazz[])","url":"addMethodTypeConstant(java.lang.String,proguard.classfile.Clazz[])"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addModuleConstant(int)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addModuleConstant(String)","url":"addModuleConstant(java.lang.String)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addNameAndTypeConstant(int, int)","url":"addNameAndTypeConstant(int,int)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addNameAndTypeConstant(String, String)","url":"addNameAndTypeConstant(java.lang.String,java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.cfa","c":"JvmCfa","l":"addNodeIfAbsent(MethodSignature, int, Clazz)","url":"addNodeIfAbsent(proguard.classfile.MethodSignature,int,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addPackageConstant(int)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addPackageConstant(String)","url":"addPackageConstant(java.lang.String)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addPrimitiveArrayConstant(Object)","url":"addPrimitiveArrayConstant(java.lang.Object)"},{"p":"proguard.util","c":"SimpleProcessable","l":"addProcessingFlags(int...)"},{"p":"proguard.io","c":"D8ClassConverter.D8DexFile","l":"addProgramClassData(byte[])"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"addResourceFile(ResourceFile)","url":"addResourceFile(proguard.resources.file.ResourceFile)"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"addResourceFile(String, ResourceFile)","url":"addResourceFile(java.lang.String,proguard.resources.file.ResourceFile)"},{"p":"proguard.resources.file.visitor","c":"MultiResourceFileVisitor","l":"addResourceFileVisitor(ResourceFileVisitor)","url":"addResourceFileVisitor(proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"addSourceLocation(BamLocationDependentJvmMemoryLocation)","url":"addSourceLocation(proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation)"},{"p":"proguard.classfile.editor","c":"InitializerEditor","l":"addStaticInitializerInstructions(boolean, InitializerEditor.CodeBuilder)","url":"addStaticInitializerInstructions(boolean,proguard.classfile.editor.InitializerEditor.CodeBuilder)"},{"p":"proguard.classfile.editor","c":"InitializerEditor","l":"addStaticInitializerInstructions(boolean, Instruction[])","url":"addStaticInitializerInstructions(boolean,proguard.classfile.instruction.Instruction[])"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addStringConstant(int, Clazz, Member, int, ResourceFile)","url":"addStringConstant(int,proguard.classfile.Clazz,proguard.classfile.Member,int,proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addStringConstant(String, Clazz, Member, int, ResourceFile)","url":"addStringConstant(java.lang.String,proguard.classfile.Clazz,proguard.classfile.Member,int,proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addStringConstant(String, Clazz, Member)","url":"addStringConstant(java.lang.String,proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addStringConstant(String, ResourceFile)","url":"addStringConstant(java.lang.String,proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addStringConstant(String)","url":"addStringConstant(java.lang.String)"},{"p":"proguard.classfile","c":"Clazz","l":"addSubClass(Clazz)","url":"addSubClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"LibraryClass","l":"addSubClass(Clazz)","url":"addSubClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"ProgramClass","l":"addSubClass(Clazz)","url":"addSubClass(proguard.classfile.Clazz)"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor.Builder","l":"addSupportedModel(ReflectiveModelExecutor.SupportedModelInfo)","url":"addSupportedModel(proguard.evaluation.executor.ReflectiveModelExecutor.SupportedModelInfo)"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor.Builder","l":"addSupportedModels(Collection>>)","url":"addSupportedModels(java.util.Collection)"},{"p":"proguard.analysis.cpa.jvm.cfa","c":"JvmCfa","l":"addUnknownTargetInterproceduralEdge(Call)","url":"addUnknownTargetInterproceduralEdge(proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"addUses(String)","url":"addUses(java.lang.String)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"addUtf8Constant(String)","url":"addUtf8Constant(java.lang.String)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"afterExec(T[], Stmt)","url":"afterExec(T[],proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"afterInstructionEvaluation(Clazz, Method, int, Instruction, TracedVariables, TracedStack, BasicBranchUnit, InstructionOffsetValue)","url":"afterInstructionEvaluation(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,proguard.evaluation.BasicBranchUnit,proguard.evaluation.value.InstructionOffsetValue)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"afterInstructionEvaluation(Clazz, Method, int, Instruction, TracedVariables, TracedStack, BasicBranchUnit, InstructionOffsetValue)","url":"afterInstructionEvaluation(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,proguard.evaluation.BasicBranchUnit,proguard.evaluation.value.InstructionOffsetValue)"},{"p":"proguard.dexfile.reader","c":"Op","l":"AGET"},{"p":"proguard.dexfile.reader","c":"Op","l":"AGET_BOOLEAN"},{"p":"proguard.dexfile.reader","c":"Op","l":"AGET_BYTE"},{"p":"proguard.dexfile.reader","c":"Op","l":"AGET_CHAR"},{"p":"proguard.dexfile.reader","c":"Op","l":"AGET_OBJECT"},{"p":"proguard.dexfile.reader","c":"Op","l":"AGET_SHORT"},{"p":"proguard.dexfile.reader","c":"Op","l":"AGET_WIDE"},{"p":"proguard.dexfile.ir.ts","c":"AggTransformer","l":"AggTransformer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"aliasName"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ALL_LIB_FILE_EXPRESSION"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"AllAnnotationVisitor(AnnotationVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"AllAttributeVisitor","l":"AllAttributeVisitor(AttributeVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"AllAttributeVisitor","l":"AllAttributeVisitor(boolean, AttributeVisitor)","url":"%3Cinit%3E(boolean,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.constant.visitor","c":"AllBootstrapMethodArgumentVisitor","l":"AllBootstrapMethodArgumentVisitor(ConstantVisitor)","url":"%3Cinit%3E(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"AllBootstrapMethodInfoVisitor","l":"AllBootstrapMethodInfoVisitor(BootstrapMethodInfoVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.BootstrapMethodInfoVisitor)"},{"p":"proguard.classfile.visitor","c":"AllClassVisitor","l":"AllClassVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.constant.visitor","c":"AllConstantVisitor","l":"AllConstantVisitor(ConstantVisitor)","url":"%3Cinit%3E(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllConstructorVisitor","l":"AllConstructorVisitor(KotlinConstructorVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinConstructorVisitor)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"AllElementValueVisitor(boolean, ElementValueVisitor)","url":"%3Cinit%3E(boolean,proguard.classfile.attribute.annotation.visitor.ElementValueVisitor)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"AllElementValueVisitor(ElementValueVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.annotation.visitor.ElementValueVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"AllExceptionInfoVisitor","l":"AllExceptionInfoVisitor(ExceptionInfoVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.ExceptionInfoVisitor)"},{"p":"proguard.classfile.attribute.module.visitor","c":"AllExportsInfoVisitor","l":"AllExportsInfoVisitor(ExportsInfoVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.module.visitor.ExportsInfoVisitor)"},{"p":"proguard.classfile.visitor","c":"AllFieldVisitor","l":"AllFieldVisitor(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllFunctionVisitor","l":"AllFunctionVisitor(KotlinFunctionVisitor...)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinFunctionVisitor...)"},{"p":"proguard.classfile.attribute.visitor","c":"AllInnerClassesInfoVisitor","l":"AllInnerClassesInfoVisitor(InnerClassesInfoVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.InnerClassesInfoVisitor)"},{"p":"proguard.classfile.instruction.visitor","c":"AllInstructionVisitor","l":"AllInstructionVisitor(InstructionVisitor)","url":"%3Cinit%3E(proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllKotlinAnnotationArgumentVisitor","l":"AllKotlinAnnotationArgumentVisitor(KotlinAnnotationArgumentVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllKotlinAnnotationVisitor","l":"AllKotlinAnnotationVisitor(KotlinAnnotationVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"AllLineNumberInfoVisitor","l":"AllLineNumberInfoVisitor(LineNumberInfoVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.LineNumberInfoVisitor)"},{"p":"proguard.classfile.visitor","c":"AllMemberVisitor","l":"AllMemberVisitor(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"AllMethodVisitor","l":"AllMethodVisitor(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.attribute.module.visitor","c":"AllOpensInfoVisitor","l":"AllOpensInfoVisitor(OpensInfoVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.module.visitor.OpensInfoVisitor)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"ALLOW_INCOMPLETE_CLASS_HIERARCHY"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"allowsIncompleteClassHierarchy()"},{"p":"proguard.classfile.util","c":"AllParameterVisitor","l":"AllParameterVisitor(boolean, ParameterVisitor)","url":"%3Cinit%3E(boolean,proguard.classfile.visitor.ParameterVisitor)"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper","l":"allParticular(List)","url":"allParticular(java.util.List)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllPropertyVisitor","l":"AllPropertyVisitor(KotlinPropertyVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinPropertyVisitor)"},{"p":"proguard.classfile.attribute.module.visitor","c":"AllProvidesInfoVisitor","l":"AllProvidesInfoVisitor(ProvidesInfoVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.module.visitor.ProvidesInfoVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"AllRecordComponentInfoVisitor","l":"AllRecordComponentInfoVisitor(RecordComponentInfoVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.RecordComponentInfoVisitor)"},{"p":"proguard.classfile.attribute.module.visitor","c":"AllRequiresInfoVisitor","l":"AllRequiresInfoVisitor(RequiresInfoVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.module.visitor.RequiresInfoVisitor)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeAliasVisitor","l":"AllTypeAliasVisitor(KotlinTypeAliasVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinTypeAliasVisitor)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeParameterVisitor","l":"AllTypeParameterVisitor(KotlinTypeParameterVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"AllTypeVisitor(KotlinTypeVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllValueParameterVisitor","l":"AllValueParameterVisitor(KotlinValueParameterVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"aload_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"aload_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"aload_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"aload_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"aload_2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"aload_2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"aload_3()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"aload_3()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"aload(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"aload(int)"},{"p":"proguard.evaluation","c":"Variables","l":"aload(int)"},{"p":"proguard.evaluation.value","c":"Value","l":"ALWAYS"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_BAM_TRANSFER_RELATION_STATE_NOT_LOCATION_DEPENDENT"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_CALL_RESOLVER_SELECTIVE_PARAMETER_RECONSTRUCTION_MISSING_PARAMS"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_COMPOSITE_HEAP_JVM_COMPARE_STATE_DIFFERENT_LENGTH"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_COMPOSITE_HEAP_JVM_JOIN_STATE_DIFFERENT_LENGTH"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_COMPOSITE_HEAP_JVM_NO_REFERENCE_STATE_AT_INDEX"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_COMPOSITE_TRANSFER_RELATION_STATE_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_DOMINATOR_CALCULATOR_NO_DOMINATOR_AT_OFFSET"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_BAM_CPA_RUN_UNSUPPORTED_HEAP_MODEL"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_COMPOSITE_HEAP_EXPAND_OPERATOR_EXIT_STATE_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_COMPOSITE_HEAP_EXPAND_OPERATOR_INITIAL_STATE_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_COMPOSITE_HEAP_REDUCE_OPERATOR_STATE_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_EXIT_NODE_EXPECTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_EXIT_STATE_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_INITIAL_STATE_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_MISSING_EXPECTED_CATCH_NODE_EXPECTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_RETURN_INSTRUCTION_EXPECTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_DEFAULT_REDUCE_OPERATOR_STATE_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_INTRAPROCEDURAL_CFA_FILLER_ALL_INSTRUCTION_UNEXPECTED_SWITCH"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_INVOKE_TAINT_SINK_MISSING_TAINT"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_MEMORY_LOCATION_TRANSFER_RELATION_STATE_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_MEMORY_LOCATION_TRANSFER_RELATION_TYPE_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_REFERENCE_TRANSFER_RELATION_STATE_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_SHALLOW_HEAP_STATE_INCOMPATIBLE"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TAINT_BAM_CPA_RUN_CFA_OR_MAIN_SIGNATURE_NOT_SET"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TAINT_BAM_CPA_RUN_EXPAND_OPERATOR_HEAP_MODEL_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TAINT_BAM_CPA_RUN_HEAP_MODEL_INVALID"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TAINT_BAM_CPA_RUN_INTRAPROCEDURAL_CPA_HEAP_MODEL_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TAINT_MEMORY_LOCATION_BAM_CPA_RUN_CFA_OR_MAIN_SIGNATURE_NOT_SET"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TRANSFER_RELATION_CONSTANT_INSTRUCTION_VISITOR_OPCODE_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TRANSFER_RELATION_INSTRUCTION_PUSH_COUNT_HIGHER_THAN_TWO"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TRANSFER_RELATION_STATE_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TRANSFER_RELATION_UNEXPECTED_UNKNOWN_SIGNATURE"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TREE_HEAP_FOLLOWER_ARRAY_GET_UNSUPPORTED_REFERENCE_TYPE"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TREE_HEAP_FOLLOWER_ARRAY_SET_UNSUPPORTED_REFERENCE_TYPE"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TREE_HEAP_FOLLOWER_GET_UNSUPPORTED_REFERENCE_TYPE"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TREE_HEAP_FOLLOWER_SET_UNSUPPORTED_REFERENCE_TYPE"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_ARRAY_GET_UNSUPPORTED_REFERENCE_TYPE"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_ARRAY_SET_UNSUPPORTED_REFERENCE_TYPE"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_GET_UNSUPPORTED_REFERENCE_TYPE"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_SET_UNSUPPORTED_REFERENCE_TYPE"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_TREE_HEAP_STATE_INCOMPATIBLE"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_VALUE_BAM_CPA_RUN_SET_CFA_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_JVM_VALUE_TRANSFER_RELATION_INCORRECT_PARAMETER_COUNT"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_PROGRAM_LOCATION_DEPENDENT_TRANSFER_RELATION_STATE_UNSUPPORTED"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_STACK_STATE_OPERAND_STACK_INDEX_OUT_OF_BOUNDS"},{"p":"proguard.exception","c":"ErrorId","l":"ANALYSIS_VALUE_ABSTRACT_STATE_CONDITION_UNCHECKED"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"analyze()"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"analyze0()"},{"p":"proguard.examples","c":"AnalyzeTaints","l":"AnalyzeTaints()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer.LiveA","l":"analyzeValue()"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"analyzeValue()"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveAnalyze","l":"analyzeValue()"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"AND"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"AND"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"AND"},{"p":"proguard.dexfile.reader","c":"Op","l":"AND_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"AND_INT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"AND_INT_LIT16"},{"p":"proguard.dexfile.reader","c":"Op","l":"AND_INT_LIT8"},{"p":"proguard.dexfile.reader","c":"Op","l":"AND_LONG"},{"p":"proguard.dexfile.reader","c":"Op","l":"AND_LONG_2ADDR"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"and(IntegerValue)","url":"and(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"and(IntegerValue)","url":"and(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"and(IntegerValue)","url":"and(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"and(IntegerValue)","url":"and(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"and(IntegerValue)","url":"and(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"and(LongValue)","url":"and(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"and(LongValue)","url":"and(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"and(LongValue)","url":"and(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"and(LongValue)","url":"and(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"and(ParticularIntegerValue)","url":"and(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"and(ParticularIntegerValue)","url":"and(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"and(ParticularIntegerValue)","url":"and(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"and(ParticularLongValue)","url":"and(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"and(ParticularLongValue)","url":"and(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"and(RangeIntegerValue)","url":"and(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"and(RangeIntegerValue)","url":"and(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"and(RangeIntegerValue)","url":"and(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"and(RangeIntegerValue)","url":"and(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"and(SpecificIntegerValue)","url":"and(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"and(SpecificIntegerValue)","url":"and(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"and(SpecificLongValue)","url":"and(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"and(SpecificLongValue)","url":"and(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.analysis.cpa.util","c":"TriPredicate","l":"and(TriPredicate)","url":"and(proguard.analysis.cpa.util.TriPredicate)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"and(UnknownIntegerValue)","url":"and(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.util","c":"AndMatcher","l":"AndMatcher(StringMatcher, StringMatcher)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.util.StringMatcher)"},{"p":"proguard.util","c":"AndNotStringFunction","l":"AndNotStringFunction(StringFunction, StringFunction)","url":"%3Cinit%3E(proguard.util.StringFunction,proguard.util.StringFunction)"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectExpressionMetadata","l":"andRightHandSideAccept(Clazz, KotlinEffectMetadata, KotlinEffectExprVisitor)","url":"andRightHandSideAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectMetadata,proguard.classfile.kotlin.visitor.KotlinEffectExprVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectExpressionMetadata","l":"andRightHandSides"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_B"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_B_1_1"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_C"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_D"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_E"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_E_0_1"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_E_MR1"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_F"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_G"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_G_MR1"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_H"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_H_MR1"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_H_MR2"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_I"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_I_MR1"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_J"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_J_MR1"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_J_MR2"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_K"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_K_MR1"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_L"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_L_MR1"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_M"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_MANIFEST_XML"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_MANIFEST_XML_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_N"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_N_MR1"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_O"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_O_MR1"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_P"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_Q"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_R"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_S"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_S_V2"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_TIRAMISU"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ANDROID_UPSIDE_DOWN_CAKE"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"AndroidConstants()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"AndStringFunction","l":"AndStringFunction(StringFunction, StringFunction)","url":"%3Cinit%3E(proguard.util.StringFunction,proguard.util.StringFunction)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"anewarray(Clazz)","url":"anewarray(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"anewarray(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"anewarray(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"anewarray(String, Clazz)","url":"anewarray(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"anewarray(String, Clazz)","url":"anewarray(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"AccessConstants","l":"ANNOTATION"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"ANNOTATION"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"ANNOTATION_DEFAULT"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ANNOTATION_DEFAULT_TYPE"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ANNOTATION_ENCLOSING_CLASS_TYPE"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ANNOTATION_ENCLOSING_METHOD_TYPE"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ANNOTATION_INNER_CLASS_TYPE"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ANNOTATION_MEMBER_CLASSES_TYPE"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ANNOTATION_SIGNATURE_TYPE"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"ANNOTATION_THROWS_TYPE"},{"p":"proguard.classfile.attribute.annotation","c":"Annotation","l":"Annotation()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"Annotation","l":"Annotation(int, int, ElementValue[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.annotation.ElementValue[])"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationElementValue","l":"annotationAccept(Clazz, AnnotationVisitor)","url":"annotationAccept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationsAttribute","l":"annotationAccept(Clazz, Field, int, AnnotationVisitor)","url":"annotationAccept(proguard.classfile.Clazz,proguard.classfile.Field,int,proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationsAttribute","l":"annotationAccept(Clazz, int, AnnotationVisitor)","url":"annotationAccept(proguard.classfile.Clazz,int,proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.AnnotationValue","l":"annotationAccept(Clazz, KotlinAnnotatable, KotlinAnnotationVisitor)","url":"annotationAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationsAttribute","l":"annotationAccept(Clazz, Method, int, AnnotationVisitor)","url":"annotationAccept(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.editor","c":"AnnotationAdder","l":"AnnotationAdder(ProgramClass, AnnotationElementValue)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.editor","c":"AnnotationAdder","l":"AnnotationAdder(ProgramClass, AnnotationsAttribute)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.annotation.AnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"AnnotationAdder","l":"AnnotationAdder(ProgramClass, ParameterAnnotationsAttribute)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationDefaultAttribute","l":"AnnotationDefaultAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationDefaultAttribute","l":"AnnotationDefaultAttribute(int, ElementValue)","url":"%3Cinit%3E(int,proguard.classfile.attribute.annotation.ElementValue)"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationElementValue","l":"AnnotationElementValue()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationElementValue","l":"AnnotationElementValue(int, Annotation)","url":"%3Cinit%3E(int,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationsAttribute","l":"annotations"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"annotations"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"annotations"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"annotations"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationsAttribute","l":"annotationsAccept(Clazz, AnnotationVisitor)","url":"annotationsAccept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationsAttribute","l":"annotationsAccept(Clazz, Field, AnnotationVisitor)","url":"annotationsAccept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotatable","l":"annotationsAccept(Clazz, KotlinAnnotationVisitor)","url":"annotationsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"annotationsAccept(Clazz, KotlinAnnotationVisitor)","url":"annotationsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"annotationsAccept(Clazz, KotlinAnnotationVisitor)","url":"annotationsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"annotationsAccept(Clazz, KotlinAnnotationVisitor)","url":"annotationsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationsAttribute","l":"annotationsAccept(Clazz, Method, AnnotationVisitor)","url":"annotationsAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"ParameterAnnotationsAttribute","l":"annotationsAccept(Clazz, Method, AnnotationVisitor)","url":"annotationsAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationsAttribute","l":"annotationsAccept(Clazz, Method, CodeAttribute, AnnotationVisitor)","url":"annotationsAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationsAttribute","l":"AnnotationsAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationsAttribute","l":"AnnotationsAttribute(int, int, Annotation[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.annotation.Annotation[])"},{"p":"proguard.classfile.editor","c":"AnnotationsAttributeEditor","l":"AnnotationsAttributeEditor(AnnotationsAttribute)","url":"%3Cinit%3E(proguard.classfile.attribute.annotation.AnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationToAnnotatedClassVisitor","l":"AnnotationToAnnotatedClassVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationToAnnotatedMemberVisitor","l":"AnnotationToAnnotatedMemberVisitor(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationTypeFilter","l":"AnnotationTypeFilter(String, AnnotationVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationTypeFilter","l":"AnnotationTypeFilter(String, WildcardManager, AnnotationVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.util.WildcardManager,proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationTypeFilter","l":"AnnotationTypeFilter(StringMatcher, AnnotationVisitor)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.classfile.attribute.annotation.visitor.AnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationElementValue","l":"annotationValue"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.AnnotationValue","l":"AnnotationValue(KotlinAnnotation)","url":"%3Cinit%3E(proguard.classfile.kotlin.KotlinAnnotation)"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"anns"},{"p":"proguard.dexfile.reader.node","c":"DexFieldNode","l":"anns"},{"p":"proguard.dexfile.reader.node","c":"DexMethodNode","l":"anns"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"anonymousObjectOriginClass"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"anonymousObjectOriginName"},{"p":"proguard.classfile.constant","c":"AnyMethodrefConstant","l":"AnyMethodrefConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"AnyMethodrefConstant","l":"AnyMethodrefConstant(int, int, Clazz, Method)","url":"%3Cinit%3E(int,int,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"APK_AAR_LIB_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"APK_ASSETS_DEX_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"APK_ASSETS_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"APK_ASSETS_PREFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"APK_CLASSES_DEX_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"APK_DYLIB_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"APK_FILE_EXTENSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"APK_LIB_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"APK_LIB_PREFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"APK_RES_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"APK_RES_PREFIX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"APK_RES_XML_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"APK_XML_FILE_EXPRESSION"},{"p":"proguard.evaluation","c":"Stack","l":"apop()"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"appendException(ExceptionInfo)","url":"appendException(proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.editor","c":"ExceptionInfoEditor","l":"appendException(ExceptionInfo)","url":"appendException(proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"appendInstruction(Instruction)","url":"appendInstruction(proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendInstruction(Instruction)","url":"appendInstruction(proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"appendInstruction(Instruction)","url":"appendInstruction(proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"appendInstruction(int, Instruction)","url":"appendInstruction(int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"appendInstructions(Instruction[])","url":"appendInstructions(proguard.classfile.instruction.Instruction[])"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendInstructions(Instruction[])","url":"appendInstructions(proguard.classfile.instruction.Instruction[])"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"appendInstructions(Instruction[])","url":"appendInstructions(proguard.classfile.instruction.Instruction[])"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"appendLabel(int)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"appendLineNumber(LineNumberInfo)","url":"appendLineNumber(proguard.classfile.attribute.LineNumberInfo)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendPrintInstructions(String)","url":"appendPrintInstructions(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendPrintIntegerHexInstructions()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendPrintIntegerHexInstructions(String)","url":"appendPrintIntegerHexInstructions(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendPrintIntegerInstructions()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendPrintIntegerInstructions(String)","url":"appendPrintIntegerInstructions(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendPrintLongInstructions()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendPrintLongInstructions(String)","url":"appendPrintLongInstructions(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendPrintObjectInstructions()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendPrintObjectInstructions(String)","url":"appendPrintObjectInstructions(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendPrintStackTraceInstructions()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendPrintStackTraceInstructions(String)","url":"appendPrintStackTraceInstructions(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendPrintStringInstructions()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"appendPrintStringInstructions(String)","url":"appendPrintStringInstructions(java.lang.String)"},{"p":"proguard.dexfile.ir","c":"Util","l":"appendString(StringBuffer, String)","url":"appendString(java.lang.StringBuffer,java.lang.String)"},{"p":"proguard.evaluation","c":"ValueCalculator","l":"apply(String, Clazz, boolean, Object, boolean, Object)","url":"apply(java.lang.String,proguard.classfile.Clazz,boolean,java.lang.Object,boolean,java.lang.Object)"},{"p":"proguard.analysis.cpa.util","c":"TriFunction","l":"apply(T, U, V)","url":"apply(T,U,V)"},{"p":"proguard.examples","c":"ApplyPeepholeOptimizations","l":"ApplyPeepholeOptimizations()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader","c":"Op","l":"APUT"},{"p":"proguard.dexfile.reader","c":"Op","l":"APUT_BOOLEAN"},{"p":"proguard.dexfile.reader","c":"Op","l":"APUT_BYTE"},{"p":"proguard.dexfile.reader","c":"Op","l":"APUT_CHAR"},{"p":"proguard.dexfile.reader","c":"Op","l":"APUT_OBJECT"},{"p":"proguard.dexfile.reader","c":"Op","l":"APUT_SHORT"},{"p":"proguard.dexfile.reader","c":"Op","l":"APUT_WIDE"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper","l":"areInstanceAndParametersParticular(MethodExecutionInfo)","url":"areInstanceAndParametersParticular(proguard.evaluation.executor.MethodExecutionInfo)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"areturn()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"areturn()"},{"p":"proguard.dexfile.ir","c":"IrMethod","l":"args"},{"p":"proguard.dexfile.reader.node.insn","c":"AbstractMethodStmtNode","l":"args"},{"p":"proguard.dexfile.reader.node.insn","c":"FilledNewArrayStmtNode","l":"args"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"arguments"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"argumentsAccept(Clazz, KotlinAnnotatable, KotlinAnnotationArgumentVisitor)","url":"argumentsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"argumentTypes"},{"p":"proguard.dexfile.reader.node.insn","c":"FillArrayDataStmtNode","l":"array"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"ARRAY"},{"p":"proguard.classfile","c":"TypeConstants","l":"ARRAY"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"ARRAY"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"ARRAY_EXCEPTIONS"},{"p":"proguard.exception","c":"ErrorId","l":"ARRAY_INDEX_OUT_OF_BOUND"},{"p":"proguard.dexfile.reader","c":"Op","l":"ARRAY_LENGTH"},{"p":"proguard.exception","c":"ErrorId","l":"ARRAY_STORE_TYPE_EXCEPTION"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"ARRAY_T_BOOLEAN"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"ARRAY_T_BYTE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"ARRAY_T_CHAR"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"ARRAY_T_DOUBLE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"ARRAY_T_FLOAT"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"ARRAY_T_INT"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"ARRAY_T_LONG"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"ARRAY_T_SHORT"},{"p":"proguard.classfile.util","c":"ArrayInitializationMatcher","l":"array()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ClassValue","l":"arrayDimensionsCount"},{"p":"proguard.classfile.attribute.annotation","c":"ArrayElementValue","l":"ArrayElementValue()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"ArrayElementValue","l":"ArrayElementValue(int, int, ElementValue[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.annotation.ElementValue[])"},{"p":"proguard.dexfile.ir.expr","c":"ArrayExpr","l":"ArrayExpr()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.expr","c":"ArrayExpr","l":"ArrayExpr(Value, Value, String)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.evaluation.exception","c":"ArrayIndexOutOfBounds","l":"ArrayIndexOutOfBounds(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.classfile.util","c":"ArrayInitializationMatcher","l":"arrayInitializationEnd()"},{"p":"proguard.classfile.util","c":"ArrayInitializationMatcher","l":"ArrayInitializationMatcher()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"ArrayInitializationMatcher","l":"ArrayInitializationMatcher(PartialEvaluator)","url":"%3Cinit%3E(proguard.evaluation.PartialEvaluator)"},{"p":"proguard.classfile.util","c":"ArrayInitializationReplacer","l":"ArrayInitializationReplacer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"ArrayInitializationMatcher","l":"arrayInitializationStart()"},{"p":"proguard.evaluation.value","c":"ArrayReferenceValue","l":"arrayLength"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"arraylength()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"arraylength()"},{"p":"proguard.evaluation.value","c":"ArrayReferenceValue","l":"arrayLength(ValueFactory)","url":"arrayLength(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"arrayLength(ValueFactory)","url":"arrayLength(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"arrayLength(ValueFactory)","url":"arrayLength(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value.object.model","c":"ArrayModel","l":"ArrayModel(Value[], String)","url":"%3Cinit%3E(proguard.evaluation.value.Value[],java.lang.String)"},{"p":"proguard.evaluation.value","c":"ArrayReferenceValue","l":"ArrayReferenceValue(String, Clazz, boolean, IntegerValue)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.Clazz,boolean,proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ArrayReferenceValueFactory","l":"ArrayReferenceValueFactory()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"arrayRoots"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"arrayStore(IntegerValue, Value)","url":"arrayStore(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"arrayStore(IntegerValue, Value)","url":"arrayStore(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"arrayStore(IntegerValue, Value)","url":"arrayStore(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"arrayStore(IntegerValue, Value)","url":"arrayStore(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.exception","c":"ArrayStoreTypeException","l":"ArrayStoreTypeException(TypedReferenceValue, Value)","url":"%3Cinit%3E(proguard.evaluation.value.TypedReferenceValue,proguard.evaluation.value.Value)"},{"p":"proguard.classfile.instruction","c":"InstructionUtil","l":"arrayTypeFromInternalType(char)"},{"p":"proguard.util","c":"ArrayUtil","l":"ArrayUtil()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ArrayValue","l":"ArrayValue(List)","url":"%3Cinit%3E(java.util.List)"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ARSC_EXPRESSION"},{"p":"proguard.analysis.cpa.defaults","c":"DefaultReachedSet","l":"asCollection()"},{"p":"proguard.analysis.cpa.defaults","c":"ProgramLocationDependentReachedSet","l":"asCollection()"},{"p":"proguard.analysis.cpa.interfaces","c":"ReachedSet","l":"asCollection()"},{"p":"proguard.util.kotlin.asserter","c":"AssertUtil","l":"AssertUtil(String, Reporter, ClassPool, ClassPool)","url":"%3Cinit%3E(java.lang.String,proguard.util.kotlin.asserter.Reporter,proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ASSETS_DEX_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ASSETS_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ASSETS_PB"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"ASSIGN"},{"p":"proguard.dexfile.ir.stmt","c":"AssignStmt","l":"AssignStmt(Stmt.ST, Value, Value)","url":"%3Cinit%3E(proguard.dexfile.ir.stmt.Stmt.ST,proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"astore_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"astore_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"astore_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"astore_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"astore_2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"astore_2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"astore_3()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"astore_3()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"astore(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"astore(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"AT_CATCH_ENTRY"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"AT_METHOD_ENTRY"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"athrow()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"athrow()"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"Attribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"Attribute(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile","c":"Clazz","l":"attributeAccept(String, AttributeVisitor)","url":"attributeAccept(java.lang.String,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"attributeAccept(String, AttributeVisitor)","url":"attributeAccept(java.lang.String,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"attributeAccept(String, AttributeVisitor)","url":"attributeAccept(java.lang.String,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"AttributeAdder(ProgramClass, boolean)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,boolean)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"AttributeAdder(ProgramClass, ProgramMember, boolean)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember,boolean)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"AttributeAdder(ProgramClass, ProgramMember, CodeAttribute, boolean)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember,proguard.classfile.attribute.CodeAttribute,boolean)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeConstantVisitor","l":"AttributeConstantVisitor(ConstantVisitor)","url":"%3Cinit%3E(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeCounter","l":"AttributeCounter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"AttributeNameFilter(List, AttributeVisitor)","url":"%3Cinit%3E(java.util.List,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"AttributeNameFilter(String, AttributeVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"AttributeNameFilter(StringMatcher, AttributeVisitor)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeProcessingFlagFilter","l":"AttributeProcessingFlagFilter(int, int, AttributeVisitor)","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"attributes"},{"p":"proguard.classfile","c":"ProgramMember","l":"attributes"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"attributes"},{"p":"proguard.classfile.attribute","c":"RecordComponentInfo","l":"attributes"},{"p":"proguard.classfile","c":"Clazz","l":"attributesAccept(AttributeVisitor)","url":"attributesAccept(proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"attributesAccept(AttributeVisitor)","url":"attributesAccept(proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"attributesAccept(AttributeVisitor)","url":"attributesAccept(proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"RecordComponentInfo","l":"attributesAccept(Clazz, AttributeVisitor)","url":"attributesAccept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"attributesAccept(Clazz, Method, AttributeVisitor)","url":"attributesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile","c":"ProgramField","l":"attributesAccept(ProgramClass, AttributeVisitor)","url":"attributesAccept(proguard.classfile.ProgramClass,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile","c":"ProgramMember","l":"attributesAccept(ProgramClass, AttributeVisitor)","url":"attributesAccept(proguard.classfile.ProgramClass,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile","c":"ProgramMethod","l":"attributesAccept(ProgramClass, AttributeVisitor)","url":"attributesAccept(proguard.classfile.ProgramClass,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.editor","c":"AttributesEditor","l":"AttributesEditor(ProgramClass, boolean)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,boolean)"},{"p":"proguard.classfile.editor","c":"AttributesEditor","l":"AttributesEditor(ProgramClass, ProgramMember, boolean)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember,boolean)"},{"p":"proguard.classfile.editor","c":"AttributesEditor","l":"AttributesEditor(ProgramClass, ProgramMember, CodeAttribute, boolean)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember,proguard.classfile.attribute.CodeAttribute,boolean)"},{"p":"proguard.classfile.editor","c":"AttributeSorter","l":"AttributeSorter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeToClassVisitor","l":"AttributeToClassVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"aValues"},{"p":"proguard.dexfile.reader.node.insn","c":"FieldStmtNode","l":"b"},{"p":"proguard.dexfile.reader.node.insn","c":"JumpStmtNode","l":"b"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt2RNode","l":"b"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt3RNode","l":"b"},{"p":"proguard.dexfile.reader.node.insn","c":"TypeStmtNode","l":"b"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"B"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"B"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"B"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"backingFieldSignature"},{"p":"proguard.dexfile.reader","c":"Op","l":"BAD_OP"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"baload()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"baload()"},{"p":"proguard.analysis.cpa.bam","c":"BamCacheImpl","l":"BamCacheImpl()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.bam","c":"BamCpa","l":"BamCpa(BamTransferRelation)","url":"%3Cinit%3E(proguard.analysis.cpa.bam.BamTransferRelation)"},{"p":"proguard.analysis.cpa.bam","c":"BamCpa","l":"BamCpa(CpaWithBamOperators, Cfa, SignatureT, BamCache, int, AbortOperator)","url":"%3Cinit%3E(proguard.analysis.cpa.bam.CpaWithBamOperators,proguard.analysis.cpa.defaults.Cfa,SignatureT,proguard.analysis.cpa.bam.BamCache,int,proguard.analysis.cpa.interfaces.AbortOperator)"},{"p":"proguard.analysis.cpa.bam","c":"BamCpa","l":"BamCpa(CpaWithBamOperators, Cfa, SignatureT, BamCache)","url":"%3Cinit%3E(proguard.analysis.cpa.bam.CpaWithBamOperators,proguard.analysis.cpa.defaults.Cfa,SignatureT,proguard.analysis.cpa.bam.BamCache)"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun","l":"BamCpaRun(AbortOperator, int, boolean)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.AbortOperator,int,boolean)"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun","l":"BamCpaRun(AbortOperator, int)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.AbortOperator,int)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"BamLocationDependentJvmMemoryLocation","l":"BamLocationDependentJvmMemoryLocation(JvmMemoryLocation, JvmCfaNode, ProgramLocationDependentReachedSet)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.witness.JvmMemoryLocation,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"BamLocationDependentJvmMemoryLocation","l":"BamLocationDependentJvmMemoryLocation(JvmMemoryLocation)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.witness.JvmMemoryLocation)"},{"p":"proguard.analysis.cpa.bam","c":"BamTransferRelation","l":"BamTransferRelation(CpaWithBamOperators, Cfa, SignatureT, BamCache, int, AbortOperator)","url":"%3Cinit%3E(proguard.analysis.cpa.bam.CpaWithBamOperators,proguard.analysis.cpa.defaults.Cfa,SignatureT,proguard.analysis.cpa.bam.BamCache,int,proguard.analysis.cpa.interfaces.AbortOperator)"},{"p":"proguard.analysis.cpa.bam","c":"BamTransferRelation","l":"BamTransferRelation(CpaWithBamOperators, Cfa, SignatureT, BamCache)","url":"%3Cinit%3E(proguard.analysis.cpa.bam.CpaWithBamOperators,proguard.analysis.cpa.defaults.Cfa,SignatureT,proguard.analysis.cpa.bam.BamCache)"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"BASE_ANDROID_MANIFEST_XML_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"BASE_RESOURCES_EXPRESSION"},{"p":"proguard.util","c":"Base64Util","l":"Base64Util()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"BaseAnalyze(IrMethod, boolean)","url":"%3Cinit%3E(proguard.dexfile.ir.IrMethod,boolean)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"BaseAnalyze(IrMethod)","url":"%3Cinit%3E(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.stmt","c":"BaseSwitchStmt","l":"BaseSwitchStmt(Stmt.ST, Value)","url":"%3Cinit%3E(proguard.dexfile.ir.stmt.Stmt.ST,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.reader.node.insn","c":"BaseSwitchStmtNode","l":"BaseSwitchStmtNode(Op, int, DexLabel[])","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int,proguard.dexfile.reader.DexLabel[])"},{"p":"proguard.dexfile.ir.expr","c":"NewMutiArrayExpr","l":"baseType"},{"p":"proguard.evaluation","c":"BasicBranchUnit","l":"BasicBranchUnit()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"BasicHierarchyProvider","l":"BasicHierarchyProvider(ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"BasicInvocationUnit(ValueFactory)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.classfile","c":"BasicMethodInfo","l":"BasicMethodInfo(MethodInfo)","url":"%3Cinit%3E(proguard.classfile.MethodInfo)"},{"p":"proguard.classfile","c":"BasicMethodInfo","l":"BasicMethodInfo(String, MethodDescriptor)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.MethodDescriptor)"},{"p":"proguard.evaluation.value","c":"BasicRangeValueFactory","l":"BasicRangeValueFactory()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"BasicRangeValueFactory","l":"BasicRangeValueFactory(ValueFactory, ValueFactory)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"BasicValueFactory()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"bastore()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"bastore()"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"beginCodeFragment(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"beginCodeFragment(int)"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmInterpreter","l":"binaryOperation(DexStmtNode, V, V)","url":"binaryOperation(proguard.dexfile.reader.node.insn.DexStmtNode,V,V)"},{"p":"proguard.dexfile.ir.expr","c":"BinopExpr","l":"BinopExpr(Value.VT, Value, Value, String)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"bipush(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"bipush(int)"},{"p":"proguard.analysis.cpa.bam","c":"BlockAbstraction","l":"BlockAbstraction(ReachedSet, Waitlist)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.ReachedSet,proguard.analysis.cpa.interfaces.Waitlist)"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"BOOLEAN"},{"p":"proguard.classfile","c":"TypeConstants","l":"BOOLEAN"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"BOOLEAN"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"BOOLEAN_A_STRING"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"BOOLEAN_B_STRING"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.BooleanValue","l":"BooleanValue(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"BOOTSTRAP_METHODS"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodsAttribute","l":"bootstrapMethodEntriesAccept(Clazz, BootstrapMethodInfoVisitor)","url":"bootstrapMethodEntriesAccept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.BootstrapMethodInfoVisitor)"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodsAttribute","l":"bootstrapMethodEntryAccept(Clazz, int, BootstrapMethodInfoVisitor)","url":"bootstrapMethodEntryAccept(proguard.classfile.Clazz,int,proguard.classfile.attribute.visitor.BootstrapMethodInfoVisitor)"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"bootstrapMethodHandleAccept(Clazz, ConstantVisitor)","url":"bootstrapMethodHandleAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"bootstrapMethodHandleAccept(Clazz, ConstantVisitor)","url":"bootstrapMethodHandleAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant.visitor","c":"BootstrapMethodHandleTraveler","l":"BootstrapMethodHandleTraveler(ConstantVisitor)","url":"%3Cinit%3E(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.backport","c":"LambdaExpression","l":"bootstrapMethodIndex"},{"p":"proguard.backport","c":"LambdaExpression","l":"bootstrapMethodInfo"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodInfo","l":"BootstrapMethodInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodInfo","l":"BootstrapMethodInfo(int, int, int[])","url":"%3Cinit%3E(int,int,int[])"},{"p":"proguard.classfile.editor","c":"BootstrapMethodInfoAdder","l":"BootstrapMethodInfoAdder(ProgramClass, BootstrapMethodsAttribute)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodRemapper","l":"BootstrapMethodRemapper()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"BootstrapMethodRemapper","l":"BootstrapMethodRemapper(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodsAttribute","l":"bootstrapMethods"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodsAttribute","l":"BootstrapMethodsAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodsAttribute","l":"BootstrapMethodsAttribute(int, int, BootstrapMethodInfo[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.BootstrapMethodInfo[])"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeAdder","l":"BootstrapMethodsAttributeAdder(ProgramClass)","url":"%3Cinit%3E(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeEditor","l":"BootstrapMethodsAttributeEditor(BootstrapMethodsAttribute)","url":"%3Cinit%3E(proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeShrinker","l":"BootstrapMethodsAttributeShrinker()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.defaults","c":"SetAbstractState","l":"bottom"},{"p":"proguard.classfile.visitor","c":"BottomClassFilter","l":"BottomClassFilter(ClassVisitor, ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"BottomClassFilter","l":"BottomClassFilter(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"boxPrimitiveType(char)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"boxPrimitiveType(char)"},{"p":"proguard.evaluation","c":"BasicBranchUnit","l":"branch(Clazz, CodeAttribute, int, int)","url":"branch(proguard.classfile.Clazz,proguard.classfile.attribute.CodeAttribute,int,int)"},{"p":"proguard.evaluation","c":"BranchUnit","l":"branch(Clazz, CodeAttribute, int, int)","url":"branch(proguard.classfile.Clazz,proguard.classfile.attribute.CodeAttribute,int,int)"},{"p":"proguard.evaluation","c":"BasicBranchUnit","l":"branchConditionally(Clazz, CodeAttribute, int, int, int)","url":"branchConditionally(proguard.classfile.Clazz,proguard.classfile.attribute.CodeAttribute,int,int,int)"},{"p":"proguard.evaluation","c":"BranchUnit","l":"branchConditionally(Clazz, CodeAttribute, int, int, int)","url":"branchConditionally(proguard.classfile.Clazz,proguard.classfile.attribute.CodeAttribute,int,int,int)"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"BranchInstruction()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"BranchInstruction(byte, int)","url":"%3Cinit%3E(byte,int)"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"branchOffset"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"branchOrigins(int)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"BranchTargetFinder()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"branchTargets(int)"},{"p":"proguard.analysis.cpa.defaults","c":"BreadthFirstWaitlist","l":"BreadthFirstWaitlist()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"AccessConstants","l":"BRIDGE"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"BRIDGE"},{"p":"proguard.backport","c":"LambdaExpression","l":"bridgeMethodDescriptors"},{"p":"proguard.classfile.editor","c":"BridgeMethodFixer","l":"BridgeMethodFixer()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodCustomStmtNode","l":"bsm"},{"p":"proguard.dexfile.ir.expr","c":"InvokeCustomExpr","l":"bsmArgs"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodCustomStmtNode","l":"bsmArgs"},{"p":"proguard.dexfile.reader","c":"Visibility","l":"BUILD"},{"p":"proguard.analysis","c":"CallResolver.Builder","l":"build()"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun.Builder","l":"build()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink.Builder","l":"build()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"build()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"build()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun.Builder","l":"build()"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun.Builder","l":"build()"},{"p":"proguard.evaluation","c":"MethodResult.Builder","l":"build()"},{"p":"proguard.evaluation","c":"PartialEvaluator.Builder","l":"build()"},{"p":"proguard.evaluation.executor","c":"Executor.Builder","l":"build()"},{"p":"proguard.evaluation.executor","c":"JavaReflectionApiExecutor.Builder","l":"build()"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor.Builder","l":"build()"},{"p":"proguard.evaluation.executor","c":"StringReflectionExecutor.Builder","l":"build()"},{"p":"proguard.exception","c":"ProguardCoreException.Builder","l":"build()"},{"p":"proguard.classfile.editor","c":"InitializerEditor.CodeBuilder","l":"build(InstructionSequenceBuilder)","url":"build(proguard.classfile.editor.InstructionSequenceBuilder)"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit.Builder","l":"build(ValueFactory, ClassPool)","url":"build(proguard.evaluation.value.ValueFactory,proguard.classfile.ClassPool)"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation","c":"MethodResult.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"proguard.analysis","c":"CallResolver.Builder","l":"Builder(ClassPool, ClassPool, CallGraph, CallHandler...)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.analysis.datastructure.callgraph.CallGraph,proguard.analysis.CallHandler...)"},{"p":"proguard.evaluation.executor","c":"JavaReflectionApiExecutor.Builder","l":"Builder(ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.evaluation.executor","c":"StringReflectionExecutor.Builder","l":"Builder(ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool)"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor.Builder","l":"Builder(HierarchyProvider)","url":"%3Cinit%3E(proguard.util.HierarchyProvider)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun.Builder","l":"Builder(JvmCfa, MethodSignature, ClassPool)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.JvmCfa,proguard.classfile.MethodSignature,proguard.classfile.ClassPool)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink.Builder","l":"Builder(Signature)","url":"%3Cinit%3E(proguard.classfile.Signature)"},{"p":"proguard.exception","c":"ProguardCoreException.Builder","l":"Builder(String, int)","url":"%3Cinit%3E(java.lang.String,int)"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit.Builder","l":"buildWithoutDefaults(ValueFactory)","url":"buildWithoutDefaults(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"BUNDLE_CONFIG_PB"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"BUNDLE_METADATA_EXPRESSION"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataType","l":"bv"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"BYTE"},{"p":"proguard.classfile","c":"TypeConstants","l":"BYTE"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ByteValue","l":"ByteValue(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt3RNode","l":"c"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"C"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"C"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"C"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceTransferRelation","l":"calculateArithmeticInstruction(Instruction, List>)","url":"calculateArithmeticInstruction(proguard.classfile.instruction.Instruction,java.util.List)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"calculateArithmeticInstruction(Instruction, List)","url":"calculateArithmeticInstruction(proguard.classfile.instruction.Instruction,java.util.List)"},{"p":"proguard.classfile","c":"ClassSignature","l":"calculateFqn()"},{"p":"proguard.classfile","c":"FieldSignature","l":"calculateFqn()"},{"p":"proguard.classfile","c":"MethodSignature","l":"calculateFqn()"},{"p":"proguard.classfile","c":"Signature","l":"calculateFqn()"},{"p":"proguard.classfile","c":"ClassSignature","l":"calculatePrettyFqn()"},{"p":"proguard.classfile","c":"FieldSignature","l":"calculatePrettyFqn()"},{"p":"proguard.classfile","c":"MethodSignature","l":"calculatePrettyFqn()"},{"p":"proguard.classfile","c":"Signature","l":"calculatePrettyFqn()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintExpandOperator","l":"calculateReturnValues(AbstractState, Instruction, Call)","url":"calculateReturnValues(proguard.analysis.cpa.interfaces.AbstractState,proguard.classfile.instruction.Instruction,proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis.cpa.jvm.operators","c":"JvmDefaultExpandOperator","l":"calculateReturnValues(AbstractState, Instruction, Call)","url":"calculateReturnValues(proguard.analysis.cpa.interfaces.AbstractState,proguard.classfile.instruction.Instruction,proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"CALL_GRAPH_RECONSTRUCTION_MAX_DEPTH_REACHED"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"CALL_GRAPH_RECONSTRUCTION_MAX_WIDTH_REACHED"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"CALL_TO_ABSTRACT_METHOD"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"Call(CodeLocation, Value, List, Value, int, Instruction, boolean, boolean)","url":"%3Cinit%3E(proguard.analysis.datastructure.CodeLocation,proguard.evaluation.value.Value,java.util.List,proguard.evaluation.value.Value,int,proguard.classfile.instruction.Instruction,boolean,boolean)"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"CALLABLE_REFERENCE_CLASS_NAME"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata","l":"callableReferenceInfo"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata","l":"callableReferenceInfoAccept(CallableReferenceInfoVisitor)","url":"callableReferenceInfoAccept(proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoVisitor)"},{"p":"proguard.classfile.kotlin.reflect.visitor","c":"CallableReferenceInfoToOwnerVisitor","l":"CallableReferenceInfoToOwnerVisitor(KotlinMetadataVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.evaluation.value","c":"ReflectiveMethodCallUtil","l":"callConstructor(String, Class[], Object[])","url":"callConstructor(java.lang.String,java.lang.Class[],java.lang.Object[])"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"caller"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState.StackEntry","l":"callerState"},{"p":"proguard.analysis.datastructure.callgraph","c":"CallGraph","l":"CallGraph()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.datastructure.callgraph","c":"CallGraph","l":"CallGraph(Map>, Map>, boolean)","url":"%3Cinit%3E(java.util.Map,java.util.Map,boolean)"},{"p":"proguard.util","c":"CallGraphWalker","l":"CallGraphWalker()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink","l":"callMatcher"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink.Builder","l":"callMatcher"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSource","l":"callMatcher"},{"p":"proguard.evaluation.value","c":"ReflectiveMethodCallUtil","l":"callMethod(String, String, Object, Class[], Object[])","url":"callMethod(java.lang.String,java.lang.String,java.lang.Object,java.lang.Class[],java.lang.Object[])"},{"p":"proguard.analysis","c":"CallResolver","l":"CallResolver(ClassPool, ClassPool, CallGraph, boolean, boolean, boolean, boolean, int, Supplier, boolean, ValueFactory, boolean, ExecutingInvocationUnit.Builder, boolean, Set, Set>, CallHandler...)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.analysis.datastructure.callgraph.CallGraph,boolean,boolean,boolean,boolean,int,java.util.function.Supplier,boolean,proguard.evaluation.value.ValueFactory,boolean,proguard.evaluation.ExecutingInvocationUnit.Builder,boolean,java.util.Set,java.util.Set,proguard.analysis.CallHandler...)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"callStackContains(MethodSignature)","url":"callStackContains(proguard.classfile.MethodSignature)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"caload()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"caload()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"CAN_BRNANCH"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"CAN_CONTINUE"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"CAN_SWITCH"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"CAN_THROW"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"CAN_THROW"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadataVersion","l":"canBeWritten()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"canBranch()"},{"p":"proguard.dexfile.reader","c":"Op","l":"canBranch()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"canContinue()"},{"p":"proguard.dexfile.reader","c":"Op","l":"canContinue()"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit","l":"canExecute(MethodSignature)","url":"canExecute(proguard.classfile.MethodSignature)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"canonicalClassName(String)","url":"canonicalClassName(java.lang.String)"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"canonicalOpcode()"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"canonicalOpcode()"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"canonicalOpcode()"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"canonicalOpcode()"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"canonicalOpcode()"},{"p":"proguard.dexfile.reader","c":"Op","l":"canReturn()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"canSwitch()"},{"p":"proguard.dexfile.reader","c":"Op","l":"canSwitch()"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"canThrow()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"canThrow()"},{"p":"proguard.dexfile.reader","c":"Op","l":"canThrow()"},{"p":"proguard.classfile.util.kotlin","c":"KotlinStringUtil","l":"capitializeFirstCharacterAsciiOnly(String)","url":"capitializeFirstCharacterAsciiOnly(java.lang.String)"},{"p":"proguard.io","c":"CascadingDataEntryWriter","l":"CascadingDataEntryWriter(DataEntryWriter, DataEntryWriter)","url":"%3Cinit%3E(proguard.io.DataEntryWriter,proguard.io.DataEntryWriter)"},{"p":"proguard.classfile.instruction","c":"LookUpSwitchInstruction","l":"cases"},{"p":"proguard.dexfile.reader.node.insn","c":"SparseSwitchStmtNode","l":"cases"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"CAST"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"CAST"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"cast(String, Clazz, ValueFactory, boolean)","url":"cast(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.ValueFactory,boolean)"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"cast(String, Clazz, ValueFactory, boolean)","url":"cast(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.ValueFactory,boolean)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"cast(String, Clazz, ValueFactory, boolean)","url":"cast(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.ValueFactory,boolean)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"cast(String, Clazz, ValueFactory, boolean)","url":"cast(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.ValueFactory,boolean)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"cast(String, Clazz, ValueFactory, boolean)","url":"cast(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.ValueFactory,boolean)"},{"p":"proguard.evaluation.value","c":"UnknownReferenceValue","l":"cast(String, Clazz, ValueFactory, boolean)","url":"cast(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.ValueFactory,boolean)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"cast(TracedReferenceValue, String, Clazz, boolean)","url":"cast(proguard.evaluation.value.TracedReferenceValue,java.lang.String,proguard.classfile.Clazz,boolean)"},{"p":"proguard.dexfile.ir.expr","c":"CastExpr","l":"CastExpr(Value, String, String)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"castore()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"castore()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"catch_(CompactCodeAttributeComposer.Label, CompactCodeAttributeComposer.Label, CompactCodeAttributeComposer.Label, String, Clazz)","url":"catch_(proguard.classfile.editor.CompactCodeAttributeComposer.Label,proguard.classfile.editor.CompactCodeAttributeComposer.Label,proguard.classfile.editor.CompactCodeAttributeComposer.Label,java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"catch_(CompactCodeAttributeComposer.Label, CompactCodeAttributeComposer.Label, String, Clazz)","url":"catch_(proguard.classfile.editor.CompactCodeAttributeComposer.Label,proguard.classfile.editor.CompactCodeAttributeComposer.Label,java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"catch_(Instruction)","url":"catch_(proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"catch_(int, int, int, int)","url":"catch_(int,int,int,int)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"catch_(int, int, int)","url":"catch_(int,int,int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"catch_(int, int, int)","url":"catch_(int,int,int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"catchAll(CompactCodeAttributeComposer.Label, CompactCodeAttributeComposer.Label, CompactCodeAttributeComposer.Label)","url":"catchAll(proguard.classfile.editor.CompactCodeAttributeComposer.Label,proguard.classfile.editor.CompactCodeAttributeComposer.Label,proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"catchAll(CompactCodeAttributeComposer.Label, CompactCodeAttributeComposer.Label)","url":"catchAll(proguard.classfile.editor.CompactCodeAttributeComposer.Label,proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.attribute.annotation.target","c":"CatchTargetInfo","l":"CatchTargetInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.target","c":"CatchTargetInfo","l":"CatchTargetInfo(byte, int)","url":"%3Cinit%3E(byte,int)"},{"p":"proguard.classfile.attribute.annotation.target","c":"CatchTargetInfo","l":"CatchTargetInfo(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.evaluation.value","c":"Category1Value","l":"category1Value()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"category1Value()"},{"p":"proguard.evaluation.value","c":"Value","l":"category1Value()"},{"p":"proguard.evaluation.value","c":"Category1Value","l":"Category1Value()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"Category2Value","l":"category2Value()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"category2Value()"},{"p":"proguard.evaluation.value","c":"Value","l":"category2Value()"},{"p":"proguard.evaluation.value","c":"Category2Value","l":"Category2Value()","url":"%3Cinit%3E()"},{"p":"proguard.exception","c":"ProguardCoreException.Builder","l":"cause(Throwable)","url":"cause(java.lang.Throwable)"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun","l":"cfa"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun.Builder","l":"cfa"},{"p":"proguard.analysis.cpa.defaults","c":"Cfa","l":"Cfa()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.util","c":"CfaUtil","l":"CfaUtil()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"Cfg()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader","c":"Op","l":"changeFrame"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"CHAR"},{"p":"proguard.classfile","c":"TypeConstants","l":"CHAR"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"CHAR_A_STRING"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"CHAR_B_STRING"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"CHARACTER_RANGE_TABLE"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.CharValue","l":"CharValue(char)","url":"%3Cinit%3E(char)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"CHECK_CAST"},{"p":"proguard.dexfile.reader","c":"Op","l":"CHECK_CAST"},{"p":"proguard.util.kotlin.asserter.constraint","c":"AbstractKotlinMetadataConstraint","l":"check(Reporter, ClassPool, ClassPool, Clazz, KotlinMetadata)","url":"check(proguard.util.kotlin.asserter.Reporter,proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KotlinAsserterConstraint","l":"check(Reporter, ClassPool, ClassPool, Clazz, KotlinMetadata)","url":"check(proguard.util.kotlin.asserter.Reporter,proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KotlinModuleIntegrity","l":"check(Reporter, ClassPool, ClassPool, Clazz, KotlinMetadata)","url":"check(proguard.util.kotlin.asserter.Reporter,proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"AbstractKotlinMetadataConstraint","l":"check(Reporter, KotlinModule)","url":"check(proguard.util.kotlin.asserter.Reporter,proguard.resources.kotlinmodule.KotlinModule)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KotlinAsserterConstraint","l":"check(Reporter, KotlinModule)","url":"check(proguard.util.kotlin.asserter.Reporter,proguard.resources.kotlinmodule.KotlinModule)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KotlinModuleIntegrity","l":"check(Reporter, KotlinModule)","url":"check(proguard.util.kotlin.asserter.Reporter,proguard.resources.kotlinmodule.KotlinModule)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"checkcast(Clazz)","url":"checkcast(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"checkcast(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"checkcast(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"checkcast(String, Clazz)","url":"checkcast(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"checkcast(String, Clazz)","url":"checkcast(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"checkcast(String)","url":"checkcast(java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"checkcast(String)","url":"checkcast(java.lang.String)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"checkCreationLocation(CodeLocation)","url":"checkCreationLocation(proguard.analysis.datastructure.CodeLocation)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"checkMagicNumber(int)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"checkReferenceValue(AnalyzedObject)","url":"checkReferenceValue(proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"checkVersionNumbers(int)"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"children"},{"p":"proguard.classfile.attribute.preverification","c":"LessZeroFrame","l":"choppedVariablesCount"},{"p":"proguard.util","c":"CircularIntBuffer","l":"CircularIntBuffer(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.constant","c":"Constant","l":"CLASS"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"CLASS_A_NAME"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"CLASS_A_SIMPLE_NAME"},{"p":"proguard.classfile","c":"TypeConstants","l":"CLASS_END"},{"p":"proguard.classfile","c":"ClassConstants","l":"CLASS_FILE_EXTENSION"},{"p":"proguard.classfile","c":"ClassConstants","l":"CLASS_FOR_NAME_SIGNATURE"},{"p":"proguard.classfile","c":"ClassConstants","l":"CLASS_FOR_NAME_SIGNATURE2"},{"p":"proguard.classfile","c":"ClassConstants","l":"CLASS_GET_CANONICAL_NAME_SIGNATURE"},{"p":"proguard.classfile","c":"ClassConstants","l":"CLASS_GET_METHOD_SIGNATURE"},{"p":"proguard.classfile","c":"ClassConstants","l":"CLASS_GET_NAME_SIGNATURE"},{"p":"proguard.classfile","c":"ClassConstants","l":"CLASS_GET_PACKAGE_NAME_SIGNATURE"},{"p":"proguard.classfile","c":"ClassConstants","l":"CLASS_GET_SIMPLE_NAME_SIGNATURE"},{"p":"proguard.classfile","c":"ClassConstants","l":"CLASS_GET_SUPERCLASS_SIGNATURE"},{"p":"proguard.classfile","c":"ClassConstants","l":"CLASS_GET_TYPE_NAME_SIGNATURE"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"CLASS_NAME"},{"p":"proguard.exception","c":"ErrorId","l":"CLASS_REFERENCE_FIXER_ERROR"},{"p":"proguard.classfile","c":"TypeConstants","l":"CLASS_START"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_0"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_0"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_0_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_0_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_1"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_2"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_2"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_2_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_2_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_3"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_3"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_3_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_3_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_4"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_4"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_4_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_4_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_5"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_5"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_5_ALIAS"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_5_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_5_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_6"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_6"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_6_ALIAS"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_6_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_6_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_7"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_7"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_7_ALIAS"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_7_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_7_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_8"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_8"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_8_ALIAS"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_8_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_8_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_9"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_9"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_1_9_ALIAS"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_9_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_1_9_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_10"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_10"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_10_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_10_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_11"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_11"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_11_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_11_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_12"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_12"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_12_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_12_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_13"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_13"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_13_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_13_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_14"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_14"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_14_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_14_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_15"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_15"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_15_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_15_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_16"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_16"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_16_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_16_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_17"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_17"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_17_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_17_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_18"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_18"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_18_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_18_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_19"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_19"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_19_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_19_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_20"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_20"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_20_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_20_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_21"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_21"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_21_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_21_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_22"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_22"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_22_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_22_MINOR"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"CLASS_VERSION_23"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_23"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_23_MAJOR"},{"p":"proguard.classfile","c":"VersionConstants","l":"CLASS_VERSION_23_MINOR"},{"p":"proguard.evaluation.exception","c":"PartialEvaluatorException","l":"classAccept(ClassVisitor)","url":"classAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"ClassPool","l":"classAccept(String, ClassVisitor)","url":"classAccept(java.lang.String,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassAccessFilter","l":"ClassAccessFilter(int, int, ClassVisitor)","url":"%3Cinit%3E(int,int,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"ClassBuilder(int, int, String, String, String, int, Object)","url":"%3Cinit%3E(int,int,java.lang.String,java.lang.String,java.lang.String,int,java.lang.Object)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"ClassBuilder(int, int, String, String)","url":"%3Cinit%3E(int,int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"ClassBuilder(ProgramClass, ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"ClassBuilder(ProgramClass)","url":"%3Cinit%3E(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"ClassCleaner()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.visitor","c":"ClassCollector","l":"ClassCollector(Collection)","url":"%3Cinit%3E(java.util.Collection)"},{"p":"proguard.classfile.constant","c":"ClassConstant","l":"ClassConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"ClassConstant","l":"ClassConstant(int, Clazz)","url":"%3Cinit%3E(int,proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassConstantClassFilter","l":"ClassConstantClassFilter(String, ClassVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassConstantClassFilter","l":"ClassConstantClassFilter(StringMatcher, ClassVisitor)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"ClassConstants","l":"ClassConstants()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation","c":"ClassConstantValueFactory","l":"ClassConstantValueFactory(ValueFactory)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.classfile.util","c":"DescriptorClassEnumeration","l":"classCount()"},{"p":"proguard.classfile.visitor","c":"ClassCounter","l":"ClassCounter()","url":"%3Cinit%3E()"},{"p":"proguard.io","c":"ClassDataEntryWriter","l":"ClassDataEntryWriter(ClassPool, DataEntryWriter, ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.io.DataEntryWriter,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.io","c":"ClassDataEntryWriter","l":"ClassDataEntryWriter(ClassPool, DataEntryWriter)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.io.DataEntryWriter)"},{"p":"proguard.classfile.editor","c":"ClassEditor","l":"ClassEditor(ProgramClass)","url":"%3Cinit%3E(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"ClassElementSorter","l":"ClassElementSorter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"ClassElementSorter","l":"ClassElementSorter(boolean, boolean, boolean, boolean)","url":"%3Cinit%3E(boolean,boolean,boolean,boolean)"},{"p":"proguard.classfile.attribute.annotation","c":"ClassElementValue","l":"ClassElementValue()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"ClassElementValue","l":"ClassElementValue(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.classfile.attribute","c":"InnerClassesAttribute","l":"classes"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"CLASSES_DEX"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"CLASSES_DEX_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"CLASSES_PREFIX"},{"p":"proguard.classfile","c":"ClassPool","l":"classes()"},{"p":"proguard.classfile","c":"ClassPool","l":"classesAccept(ClassVisitor)","url":"classesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"ClassPool","l":"classesAccept(List, ClassVisitor)","url":"classesAccept(java.util.List,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"ClassPool","l":"classesAccept(String, ClassVisitor)","url":"classesAccept(java.lang.String,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"ClassPool","l":"classesAccept(StringMatcher, ClassVisitor)","url":"classesAccept(proguard.util.StringMatcher,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"ClassPool","l":"classesAcceptAlphabetically(ClassVisitor)","url":"classesAcceptAlphabetically(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.editor","c":"ClassEstimates","l":"ClassEstimates()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.visitor","c":"ClassFeatureNameCollector","l":"ClassFeatureNameCollector(Collection)","url":"%3Cinit%3E(java.util.Collection)"},{"p":"proguard.io","c":"ClassFilter","l":"ClassFilter(DataEntryReader, DataEntryReader)","url":"%3Cinit%3E(proguard.io.DataEntryReader,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"ClassFilter","l":"ClassFilter(DataEntryReader)","url":"%3Cinit%3E(proguard.io.DataEntryReader)"},{"p":"proguard.classfile.visitor","c":"ClassHierarchyTraveler","l":"ClassHierarchyTraveler(boolean, boolean, boolean, boolean, ClassVisitor)","url":"%3Cinit%3E(boolean,boolean,boolean,boolean,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.util","c":"ClassInitializer","l":"ClassInitializer(ClassPool, ClassPool, boolean, InvalidReferenceVisitor, InvalidClassReferenceVisitor)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,boolean,proguard.classfile.util.InvalidReferenceVisitor,proguard.classfile.util.InvalidClassReferenceVisitor)"},{"p":"proguard.classfile.util","c":"ClassInitializer","l":"ClassInitializer(ClassPool, ClassPool, boolean, WarningPrinter, WarningPrinter, WarningPrinter, WarningPrinter)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,boolean,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter)"},{"p":"proguard.classfile.util","c":"ClassInitializer","l":"ClassInitializer(ClassPool, ClassPool, WarningPrinter, WarningPrinter, WarningPrinter, WarningPrinter)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter)"},{"p":"proguard.classfile.util","c":"ClassInitializer","l":"ClassInitializer(ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"ClassIntegrity","l":"ClassIntegrity()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"ClassConstants","l":"CLASSLOADER_FIND_LOADED_CLASS_SIGNATURE"},{"p":"proguard.classfile","c":"ClassConstants","l":"CLASSLOADER_LOAD_CLASS_SIGNATURE"},{"p":"proguard.classfile","c":"ClassConstants","l":"CLASSLOADER_LOAD_CLASS_SIGNATURE2"},{"p":"proguard.io","c":"ClassMapDataEntryWriter","l":"ClassMapDataEntryWriter(ClassPool, DataEntryWriter)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.io.DataEntryWriter)"},{"p":"proguard.classfile.editor","c":"ClassMemberSorter","l":"ClassMemberSorter()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value.object.model","c":"ClassModel","l":"ClassModel(Clazz)","url":"%3Cinit%3E(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"Signature","l":"className"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"className"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ClassValue","l":"className"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.EnumValue","l":"className"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"className"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"className"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"className"},{"p":"proguard.classfile.visitor","c":"ClassNameCollector","l":"ClassNameCollector(Collection)","url":"%3Cinit%3E(java.util.Collection)"},{"p":"proguard.classfile.visitor","c":"ClassNameFilter","l":"ClassNameFilter(List, ClassVisitor, ClassVisitor)","url":"%3Cinit%3E(java.util.List,proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassNameFilter","l":"ClassNameFilter(List, ClassVisitor)","url":"%3Cinit%3E(java.util.List,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassNameFilter","l":"ClassNameFilter(List, WildcardManager, ClassVisitor, ClassVisitor)","url":"%3Cinit%3E(java.util.List,proguard.util.WildcardManager,proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassNameFilter","l":"ClassNameFilter(List, WildcardManager, ClassVisitor)","url":"%3Cinit%3E(java.util.List,proguard.util.WildcardManager,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassNameFilter","l":"ClassNameFilter(String, ClassVisitor, ClassVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassNameFilter","l":"ClassNameFilter(String, ClassVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassNameFilter","l":"ClassNameFilter(String, WildcardManager, ClassVisitor, ClassVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.util.WildcardManager,proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassNameFilter","l":"ClassNameFilter(String, WildcardManager, ClassVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.util.WildcardManager,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassNameFilter","l":"ClassNameFilter(StringMatcher, ClassVisitor, ClassVisitor)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassNameFilter","l":"ClassNameFilter(StringMatcher, ClassVisitor)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.util","c":"ClassNameParser","l":"ClassNameParser()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"ClassNameParser","l":"ClassNameParser(WildcardManager)","url":"%3Cinit%3E(proguard.util.WildcardManager)"},{"p":"proguard.classfile","c":"ClassPool","l":"classNames()"},{"p":"proguard.io","c":"ClassPath","l":"ClassPath(ClassPathEntry...)","url":"%3Cinit%3E(proguard.io.ClassPathEntry...)"},{"p":"proguard.io","c":"ClassPathDataEntry","l":"ClassPathDataEntry(Class)","url":"%3Cinit%3E(java.lang.Class)"},{"p":"proguard.io","c":"ClassPathDataEntry","l":"ClassPathDataEntry(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.io","c":"ClassPathEntry","l":"ClassPathEntry(File, boolean, String)","url":"%3Cinit%3E(java.io.File,boolean,java.lang.String)"},{"p":"proguard.io","c":"ClassPathEntry","l":"ClassPathEntry(File, boolean)","url":"%3Cinit%3E(java.io.File,boolean)"},{"p":"proguard.classfile","c":"ClassPool","l":"ClassPool()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"ClassPool","l":"ClassPool(ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool)"},{"p":"proguard.classfile","c":"ClassPool","l":"ClassPool(Clazz...)","url":"%3Cinit%3E(proguard.classfile.Clazz...)"},{"p":"proguard.classfile","c":"ClassPool","l":"ClassPool(Iterable)","url":"%3Cinit%3E(java.lang.Iterable)"},{"p":"proguard.classfile.util","c":"ClassPoolClassLoader","l":"ClassPoolClassLoader(ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool)"},{"p":"proguard.classfile.visitor","c":"ClassPoolClassVisitor","l":"ClassPoolClassVisitor(ClassPoolVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassPoolVisitor)"},{"p":"proguard.util","c":"ClassPoolFeatureNameFunction","l":"ClassPoolFeatureNameFunction(ClassPool, String)","url":"%3Cinit%3E(proguard.classfile.ClassPool,java.lang.String)"},{"p":"proguard.util","c":"ClassPoolFeatureNameFunction","l":"ClassPoolFeatureNameFunction(ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool)"},{"p":"proguard.classfile.visitor","c":"ClassPoolFiller","l":"ClassPoolFiller(ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool)"},{"p":"proguard.classfile.visitor","c":"ClassPoolRemover","l":"ClassPoolRemover(ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool)"},{"p":"proguard.classfile.visitor","c":"ClassPresenceFilter","l":"ClassPresenceFilter(ClassPool, ClassVisitor, ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassPresenceFilter","l":"ClassPresenceFilter(ClassPool, ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"ClassPrinter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"ClassPrinter(PrintWriter)","url":"%3Cinit%3E(java.io.PrintWriter)"},{"p":"proguard.classfile.visitor","c":"ClassProcessingFlagFilter","l":"ClassProcessingFlagFilter(int, int, ClassVisitor)","url":"%3Cinit%3E(int,int,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassProcessingInfoFilter","l":"ClassProcessingInfoFilter(Predicate, ClassVisitor, ClassVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassProcessingInfoFilter","l":"ClassProcessingInfoFilter(Predicate, ClassVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.io","c":"ClassReader","l":"ClassReader(boolean, boolean, boolean, boolean, boolean, WarningPrinter, ClassVisitor)","url":"%3Cinit%3E(boolean,boolean,boolean,boolean,boolean,proguard.classfile.util.WarningPrinter,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.io","c":"ClassReader","l":"ClassReader(boolean, boolean, boolean, boolean, WarningPrinter, ClassVisitor)","url":"%3Cinit%3E(boolean,boolean,boolean,boolean,proguard.classfile.util.WarningPrinter,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"ClassReferenceFixer(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"ClassReferenceFixer(ClassReferenceFixer.NameGenerationStrategy)","url":"%3Cinit%3E(proguard.classfile.editor.ClassReferenceFixer.NameGenerationStrategy)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"ClassReferenceInitializer(ClassPool, ClassPool, boolean, InvalidReferenceVisitor)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,boolean,proguard.classfile.util.InvalidReferenceVisitor)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"ClassReferenceInitializer(ClassPool, ClassPool, boolean, WarningPrinter, WarningPrinter, WarningPrinter, WarningPrinter)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,boolean,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"ClassReferenceInitializer(ClassPool, ClassPool, boolean)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,boolean)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"ClassReferenceInitializer(ClassPool, ClassPool, WarningPrinter, WarningPrinter, WarningPrinter, WarningPrinter)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"ClassReferenceInitializer(ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.classfile.util","c":"ClassRenamer","l":"ClassRenamer(Function, BiFunction, ClassVisitor, MemberVisitor)","url":"%3Cinit%3E(java.util.function.Function,java.util.function.BiFunction,proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.util","c":"ClassRenamer","l":"ClassRenamer(Function, BiFunction)","url":"%3Cinit%3E(java.util.function.Function,java.util.function.BiFunction)"},{"p":"proguard.classfile.util","c":"ClassRenamer","l":"ClassRenamer(Function, ClassVisitor, MemberVisitor)","url":"%3Cinit%3E(java.util.function.Function,proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.util","c":"ClassRenamer","l":"ClassRenamer(Function)","url":"%3Cinit%3E(java.util.function.Function)"},{"p":"proguard.classfile","c":"ClassSignature","l":"ClassSignature(Clazz)","url":"%3Cinit%3E(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"ClassSignature","l":"ClassSignature(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassSubHierarchyInitializer","l":"ClassSubHierarchyInitializer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"ClassSuperHierarchyInitializer","l":"ClassSuperHierarchyInitializer(ClassPool, ClassPool, InvalidClassReferenceVisitor)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.classfile.util.InvalidClassReferenceVisitor)"},{"p":"proguard.classfile.util","c":"ClassSuperHierarchyInitializer","l":"ClassSuperHierarchyInitializer(ClassPool, ClassPool, WarningPrinter, WarningPrinter)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter)"},{"p":"proguard.classfile.util","c":"ClassSuperHierarchyInitializer","l":"ClassSuperHierarchyInitializer(ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ClassValue","l":"ClassValue(String, int)","url":"%3Cinit%3E(java.lang.String,int)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ClassValue","l":"ClassValue(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.classfile.visitor","c":"ClassVersionFilter","l":"ClassVersionFilter(int, ClassVisitor)","url":"%3Cinit%3E(int,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassVersionFilter","l":"ClassVersionFilter(int, int, ClassVisitor)","url":"%3Cinit%3E(int,int,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ClassVersionSetter","l":"ClassVersionSetter(int, Set)","url":"%3Cinit%3E(int,java.util.Set)"},{"p":"proguard.classfile.visitor","c":"ClassVersionSetter","l":"ClassVersionSetter(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.visitor","c":"DynamicReturnedClassVisitor","l":"classVisitor"},{"p":"proguard.analysis.datastructure","c":"CodeLocation","l":"clazz"},{"p":"proguard.classfile.kotlin.reflect","c":"JavaReferenceInfo","l":"clazz"},{"p":"proguard.dexfile.ir.ts","c":"CleanLabel","l":"CleanLabel()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWaitlist","l":"clear()"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"clear()"},{"p":"proguard.analysis.cpa.interfaces","c":"Waitlist","l":"clear()"},{"p":"proguard.analysis.cpa.jvm.cfa","c":"JvmCfa","l":"clear()"},{"p":"proguard.analysis.datastructure.callgraph","c":"CallGraph","l":"clear()"},{"p":"proguard.classfile","c":"ClassPool","l":"clear()"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"clear()"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"clear()"},{"p":"proguard.evaluation","c":"Stack","l":"clear()"},{"p":"proguard.evaluation","c":"TracedStack","l":"clear()"},{"p":"proguard.io","c":"ClassPath","l":"clear()"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"clear()"},{"p":"proguard.util","c":"MultiValueMap","l":"clear()"},{"p":"proguard.classfile","c":"ClassSignature","l":"clearCache()"},{"p":"proguard.classfile","c":"FieldSignature","l":"clearCache()"},{"p":"proguard.classfile","c":"MethodSignature","l":"clearCache()"},{"p":"proguard.classfile","c":"Signature","l":"clearCache()"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"clearModifications(int)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"clearOperandStack()"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer.LiveA","l":"clearUnUsedFromFrame()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"clearValues()"},{"p":"proguard.dexfile.ir","c":"IrMethod","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"ArrayExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"BinopExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"CastExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"Constant","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"FieldExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"FilledArrayExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"InvokeCustomExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"InvokeExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"InvokeNewExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"InvokePolymorphicExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"Local","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"NewExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"NewMutiArrayExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"PhiExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"RefExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"StaticFieldExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"TypeExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"UnopExpr","l":"clone()"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"clone()"},{"p":"proguard.dexfile.ir","c":"LocalVar","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir","c":"Trap","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"ArrayExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"BinopExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"CastExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"Constant","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"FieldExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"FilledArrayExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"InvokeCustomExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"InvokeExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"InvokeNewExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"InvokePolymorphicExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"Local","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"NewExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"NewMutiArrayExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"PhiExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"RefExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"StaticFieldExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"TypeExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"UnopExpr","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.stmt","c":"AssignStmt","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.stmt","c":"GotoStmt","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.stmt","c":"IfStmt","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.stmt","c":"LabelStmt","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.stmt","c":"LookupSwitchStmt","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.stmt","c":"NopStmt","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.stmt","c":"ReturnVoidStmt","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.stmt","c":"TableSwitchStmt","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.stmt","c":"UnopStmt","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.stmt","c":"VoidInvokeStmt","l":"clone(LabelAndLocalMapper)","url":"clone(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.dexfile.ir.expr","c":"Value.EnExpr","l":"cloneOps()"},{"p":"proguard.dexfile.ir.expr","c":"Value.EnExpr","l":"cloneOps(LabelAndLocalMapper)","url":"cloneOps(proguard.dexfile.ir.LabelAndLocalMapper)"},{"p":"proguard.util","c":"ArrayUtil","l":"cloneOrNull(T[])"},{"p":"proguard.classfile.util.renderer.core","c":"StringListWriter","l":"close()"},{"p":"proguard.io","c":"CascadingDataEntryWriter","l":"close()"},{"p":"proguard.io","c":"ClassDataEntryWriter","l":"close()"},{"p":"proguard.io","c":"ClassMapDataEntryWriter","l":"close()"},{"p":"proguard.io","c":"DataEntryWriter","l":"close()"},{"p":"proguard.io","c":"DexDataEntryWriter","l":"close()"},{"p":"proguard.io","c":"DirectoryWriter","l":"close()"},{"p":"proguard.io","c":"FilteredDataEntryWriter","l":"close()"},{"p":"proguard.io","c":"FixedFileWriter","l":"close()"},{"p":"proguard.io","c":"JarWriter","l":"close()"},{"p":"proguard.io","c":"JarWriter.MyMultiDigestOutputStream","l":"close()"},{"p":"proguard.io","c":"NonClosingDataEntryWriter","l":"close()"},{"p":"proguard.io","c":"ParentDataEntryWriter","l":"close()"},{"p":"proguard.io","c":"PrefixAddingDataEntryWriter","l":"close()"},{"p":"proguard.io","c":"RenamedDataEntryWriter","l":"close()"},{"p":"proguard.io","c":"RenamedParentDataEntryWriter","l":"close()"},{"p":"proguard.io","c":"ZipOutput","l":"close()"},{"p":"proguard.io","c":"ZipWriter","l":"close()"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleDataEntryWriter","l":"close()"},{"p":"proguard.io","c":"ZipOutput","l":"close(long)"},{"p":"proguard.io","c":"ClassPathDataEntry","l":"closeInputStream()"},{"p":"proguard.io","c":"DataEntry","l":"closeInputStream()"},{"p":"proguard.io","c":"DummyDataEntry","l":"closeInputStream()"},{"p":"proguard.io","c":"FileDataEntry","l":"closeInputStream()"},{"p":"proguard.io","c":"NamedDataEntry","l":"closeInputStream()"},{"p":"proguard.io","c":"StreamingDataEntry","l":"closeInputStream()"},{"p":"proguard.io","c":"WrappedDataEntry","l":"closeInputStream()"},{"p":"proguard.io","c":"ZipDataEntry","l":"closeInputStream()"},{"p":"proguard.io","c":"ZipFileDataEntry","l":"closeInputStream()"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"clz"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"clzOf(String)","url":"clzOf(java.lang.String)"},{"p":"proguard.dexfile.reader.node","c":"DexFileNode","l":"clzs"},{"p":"proguard.dexfile.reader","c":"Op","l":"CMP_LONG"},{"p":"proguard.dexfile.reader","c":"Op","l":"CMPG_DOUBLE"},{"p":"proguard.dexfile.reader","c":"Op","l":"CMPG_FLOAT"},{"p":"proguard.dexfile.reader","c":"Op","l":"CMPL_DOUBLE"},{"p":"proguard.dexfile.reader","c":"Op","l":"CMPL_FLOAT"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"code"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"CODE"},{"p":"proguard.exception","c":"ErrorId","l":"CODE_ATTRIBUTE_EDITOR_ERROR"},{"p":"proguard.exception","c":"ErrorId","l":"CODE_PREVERIFIER_ERROR"},{"p":"proguard.exception","c":"ErrorId","l":"CODE_SUBROUTINE_INLINER_ERROR"},{"p":"proguard.dexfile.converter","c":"IR2ProConverter","l":"code(CompactCodeAttributeComposer)","url":"code(proguard.classfile.editor.CompactCodeAttributeComposer)"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"CodeAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"CodeAttribute(int, int, int, int, byte[], int, ExceptionInfo[], int, Attribute[])","url":"%3Cinit%3E(int,int,int,int,byte[],int,proguard.classfile.attribute.ExceptionInfo[],int,proguard.classfile.attribute.Attribute[])"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"CodeAttribute(int, int, int, int, byte[])","url":"%3Cinit%3E(int,int,int,int,byte[])"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"CodeAttribute(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"CodeAttributeComposer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"CodeAttributeComposer(boolean, boolean, boolean, boolean)","url":"%3Cinit%3E(boolean,boolean,boolean,boolean)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"CodeAttributeComposer(boolean, boolean, boolean)","url":"%3Cinit%3E(boolean,boolean,boolean)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"CodeAttributeEditor()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"CodeAttributeEditor(boolean, boolean)","url":"%3Cinit%3E(boolean,boolean)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditorResetter","l":"CodeAttributeEditorResetter(CodeAttributeEditor)","url":"%3Cinit%3E(proguard.classfile.editor.CodeAttributeEditor)"},{"p":"proguard.classfile.attribute.visitor","c":"CodeAttributeToMethodVisitor","l":"CodeAttributeToMethodVisitor(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.analysis.datastructure","c":"CodeLocation","l":"CodeLocation(Clazz, Member, int, int)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.Member,int,int)"},{"p":"proguard.analysis.datastructure","c":"CodeLocation","l":"CodeLocation(Clazz, Member, int)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.Member,int)"},{"p":"proguard.dexfile.reader.node","c":"DexMethodNode","l":"codeNode"},{"p":"proguard.preverify","c":"CodePreverifier","l":"CodePreverifier(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.preverify","c":"CodeSubroutineInliner","l":"CodeSubroutineInliner()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"collapse()"},{"p":"proguard.util","c":"CollectionMatcher","l":"CollectionMatcher(Set)","url":"%3Cinit%3E(java.util.Set)"},{"p":"proguard.util","c":"CollectionMatcher","l":"CollectionMatcher(String...)","url":"%3Cinit%3E(java.lang.String...)"},{"p":"proguard.util","c":"CollectionParser","l":"CollectionParser()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"collectTos(Stmt, Set)","url":"collectTos(proguard.dexfile.ir.stmt.Stmt,java.util.Set)"},{"p":"proguard.util","c":"ListUtil","l":"commaSeparatedList(String)","url":"commaSeparatedList(java.lang.String)"},{"p":"proguard.util","c":"ListUtil","l":"commaSeparatedString(List, boolean)","url":"commaSeparatedString(java.util.List,boolean)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"CompactCodeAttributeComposer(ConstantPoolEditor, boolean, boolean, boolean)","url":"%3Cinit%3E(proguard.classfile.editor.ConstantPoolEditor,boolean,boolean,boolean)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"CompactCodeAttributeComposer(ConstantPoolEditor, CodeAttributeComposer)","url":"%3Cinit%3E(proguard.classfile.editor.ConstantPoolEditor,proguard.classfile.editor.CodeAttributeComposer)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"CompactCodeAttributeComposer(ProgramClass, boolean, boolean, boolean, ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,boolean,boolean,boolean,proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"CompactCodeAttributeComposer(ProgramClass, boolean, boolean, boolean)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,boolean,boolean,boolean)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"CompactCodeAttributeComposer(ProgramClass, ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"CompactCodeAttributeComposer(ProgramClass)","url":"%3Cinit%3E(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"companionAccept(KotlinMetadataVisitor)","url":"companionAccept(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"companionObjectName"},{"p":"proguard.util","c":"ArrayUtil","l":"compare(boolean[], int, boolean[], int)","url":"compare(boolean[],int,boolean[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"compare(byte[], int, byte[], int)","url":"compare(byte[],int,byte[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"compare(char[], int, char[], int)","url":"compare(char[],int,char[],int)"},{"p":"proguard.util","c":"ObjectUtil","l":"compare(Comparable, Comparable)","url":"compare(java.lang.Comparable,java.lang.Comparable)"},{"p":"proguard.util","c":"ArrayUtil","l":"compare(Comparable[], int, Comparable[], int)","url":"compare(java.lang.Comparable[],int,java.lang.Comparable[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"compare(double[], int, double[], int)","url":"compare(double[],int,double[],int)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"compare(DoubleValue)","url":"compare(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"compare(DoubleValue)","url":"compare(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"compare(DoubleValue)","url":"compare(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"compare(DoubleValue)","url":"compare(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.util","c":"ArrayUtil","l":"compare(float[], int, float[], int)","url":"compare(float[],int,float[],int)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"compare(FloatValue)","url":"compare(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"compare(FloatValue)","url":"compare(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"compare(FloatValue)","url":"compare(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"compare(FloatValue)","url":"compare(proguard.evaluation.value.FloatValue)"},{"p":"proguard.util","c":"ArrayUtil","l":"compare(int[], int, int[], int)","url":"compare(int[],int,int[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"compare(long[], int, long[], int)","url":"compare(long[],int,long[],int)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"compare(LongValue)","url":"compare(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"compare(LongValue)","url":"compare(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"compare(LongValue)","url":"compare(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"compare(LongValue)","url":"compare(proguard.evaluation.value.LongValue)"},{"p":"proguard.classfile.editor","c":"AttributeSorter","l":"compare(Object, Object)","url":"compare(java.lang.Object,java.lang.Object)"},{"p":"proguard.classfile.editor","c":"ClassMemberSorter","l":"compare(Object, Object)","url":"compare(java.lang.Object,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"compare(ParticularDoubleValue)","url":"compare(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"compare(ParticularDoubleValue)","url":"compare(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"compare(ParticularFloatValue)","url":"compare(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"compare(ParticularFloatValue)","url":"compare(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"compare(ParticularLongValue)","url":"compare(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.util","c":"ArrayUtil","l":"compare(short[], int, short[], int)","url":"compare(short[],int,short[],int)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"compare(SpecificDoubleValue)","url":"compare(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"compare(SpecificDoubleValue)","url":"compare(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"compare(SpecificFloatValue)","url":"compare(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"compare(SpecificFloatValue)","url":"compare(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"compare(SpecificLongValue)","url":"compare(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"compare(SpecificLongValue)","url":"compare(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"compare(Stmt, Stmt)","url":"compare(proguard.dexfile.ir.stmt.Stmt,proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"compareReverse(DoubleValue)","url":"compareReverse(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"compareReverse(FloatValue)","url":"compareReverse(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"compareReverse(LongValue)","url":"compareReverse(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"compareReverse(ParticularDoubleValue)","url":"compareReverse(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"compareReverse(ParticularFloatValue)","url":"compareReverse(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"compareReverse(ParticularLongValue)","url":"compareReverse(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"compareReverse(SpecificDoubleValue)","url":"compareReverse(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"compareReverse(SpecificFloatValue)","url":"compareReverse(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"compareReverse(SpecificLongValue)","url":"compareReverse(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.analysis.datastructure","c":"CodeLocation","l":"compareTo(Location)","url":"compareTo(proguard.analysis.datastructure.Location)"},{"p":"proguard.analysis.datastructure","c":"FileLocation","l":"compareTo(Location)","url":"compareTo(proguard.analysis.datastructure.Location)"},{"p":"proguard.classfile.attribute","c":"LocalVariableInfo","l":"compareTo(Object)","url":"compareTo(java.lang.Object)"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeInfo","l":"compareTo(Object)","url":"compareTo(java.lang.Object)"},{"p":"proguard.classfile","c":"Signature","l":"compareTo(Signature)","url":"compareTo(proguard.classfile.Signature)"},{"p":"proguard.evaluation.value","c":"ComparisonValue","l":"ComparisonValue(Value, Value)","url":"%3Cinit%3E(proguard.evaluation.value.Value,proguard.evaluation.value.Value)"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"COMPILATION_I_D"},{"p":"proguard.classfile.attribute","c":"RecordAttribute","l":"components"},{"p":"proguard.classfile.attribute","c":"RecordAttribute","l":"componentsAccept(Clazz, RecordComponentInfoVisitor)","url":"componentsAccept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.RecordComponentInfoVisitor)"},{"p":"proguard.classfile.editor","c":"ClassBuilder.CodeBuilder","l":"compose(CompactCodeAttributeComposer)","url":"compose(proguard.classfile.editor.CompactCodeAttributeComposer)"},{"p":"proguard.evaluation.value","c":"CompositeDoubleValue","l":"CompositeDoubleValue(DoubleValue, byte, DoubleValue)","url":"%3Cinit%3E(proguard.evaluation.value.DoubleValue,byte,proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"CompositeFloatValue","l":"CompositeFloatValue(FloatValue, byte, FloatValue)","url":"%3Cinit%3E(proguard.evaluation.value.FloatValue,byte,proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"CompositeIntegerValue(IntegerValue, byte, IntegerValue)","url":"%3Cinit%3E(proguard.evaluation.value.IntegerValue,byte,proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"CompositeLongValue(LongValue, byte, Value)","url":"%3Cinit%3E(proguard.evaluation.value.LongValue,byte,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"computationalType()"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"computationalType()"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"computationalType()"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"computationalType()"},{"p":"proguard.evaluation.value","c":"LongValue","l":"computationalType()"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"computationalType()"},{"p":"proguard.evaluation.value","c":"TopValue","l":"computationalType()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"computationalType()"},{"p":"proguard.evaluation.value","c":"UnknownValue","l":"computationalType()"},{"p":"proguard.evaluation.value","c":"Value","l":"computationalType()"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMap","l":"compute(K, BiFunction)","url":"compute(K,java.util.function.BiFunction)"},{"p":"proguard.classfile","c":"FieldSignature","l":"computeIfAbsent(Clazz, Field)","url":"computeIfAbsent(proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile","c":"Signature","l":"computeIfAbsent(Clazz, Member)","url":"computeIfAbsent(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile","c":"MethodSignature","l":"computeIfAbsent(Clazz, Method)","url":"computeIfAbsent(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile","c":"ClassSignature","l":"computeIfAbsent(Clazz)","url":"computeIfAbsent(proguard.classfile.Clazz)"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMap","l":"computeIfAbsent(K, Function)","url":"computeIfAbsent(K,java.util.function.Function)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceTransferRelation","l":"computeIncrement(SetAbstractState, int)","url":"computeIncrement(proguard.analysis.cpa.defaults.SetAbstractState,int)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"computeIncrement(StateT, int)","url":"computeIncrement(StateT,int)"},{"p":"proguard.util","c":"ArrayUtil","l":"concat(T[], T[])","url":"concat(T[],T[])"},{"p":"proguard.util","c":"ListUtil","l":"concatenate(List, List)","url":"concatenate(java.util.List,java.util.List)"},{"p":"proguard.util","c":"ConcatenatingStringFunction","l":"ConcatenatingStringFunction(StringFunction, StringFunction)","url":"%3Cinit%3E(proguard.util.StringFunction,proguard.util.StringFunction)"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectMetadata","l":"conclusionOfConditionalEffect"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectMetadata","l":"conclusionOfConditionalEffectAccept(Clazz, KotlinEffectExprVisitor)","url":"conclusionOfConditionalEffectAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinEffectExprVisitor)"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"CONCRETE_CALL"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"CONCRETE_CALL_NO_CODE_ATTRIBUTE"},{"p":"proguard.analysis.datastructure.callgraph","c":"ConcreteCall","l":"ConcreteCall(CodeLocation, Clazz, Method, int, Instruction, boolean, boolean)","url":"%3Cinit%3E(proguard.analysis.datastructure.CodeLocation,proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,boolean,boolean)"},{"p":"proguard.analysis.datastructure.callgraph","c":"ConcreteCall","l":"ConcreteCall(CodeLocation, Clazz, Method, Value, List, Value, int, Instruction, boolean, boolean)","url":"%3Cinit%3E(proguard.analysis.datastructure.CodeLocation,proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.value.Value,java.util.List,proguard.evaluation.value.Value,int,proguard.classfile.instruction.Instruction,boolean,boolean)"},{"p":"proguard.classfile.visitor","c":"ConcreteClassDownTraveler","l":"ConcreteClassDownTraveler(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.analysis.datastructure.callgraph","c":"CallGraph","l":"concurrentCallGraph()"},{"p":"proguard.dexfile.reader","c":"Op","l":"CONST"},{"p":"proguard.dexfile.reader","c":"Op","l":"CONST_16"},{"p":"proguard.dexfile.reader","c":"Op","l":"CONST_4"},{"p":"proguard.dexfile.reader","c":"Op","l":"CONST_CLASS"},{"p":"proguard.dexfile.reader","c":"Op","l":"CONST_HIGH16"},{"p":"proguard.dexfile.reader","c":"Op","l":"CONST_STRING"},{"p":"proguard.dexfile.reader","c":"Op","l":"CONST_STRING_JUMBO"},{"p":"proguard.dexfile.reader","c":"Op","l":"CONST_WIDE"},{"p":"proguard.dexfile.reader","c":"Op","l":"CONST_WIDE_16"},{"p":"proguard.dexfile.reader","c":"Op","l":"CONST_WIDE_32"},{"p":"proguard.dexfile.reader","c":"Op","l":"CONST_WIDE_HIGH16"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"constant"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"constant"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"constant"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"CONSTANT"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"CONSTANT_VALUE"},{"p":"proguard.classfile.constant","c":"Constant","l":"Constant()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.expr","c":"Constant","l":"Constant(Object)","url":"%3Cinit%3E(java.lang.Object)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"ConstantAdder(ProgramClass)","url":"%3Cinit%3E(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantCounter","l":"ConstantCounter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"ConstantElementValue","l":"ConstantElementValue(char, int, int)","url":"%3Cinit%3E(char,int,int)"},{"p":"proguard.classfile.attribute.annotation","c":"ConstantElementValue","l":"ConstantElementValue(char)","url":"%3Cinit%3E(char)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"constantIndex"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"ConstantInstruction()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"ConstantInstruction(byte, int, int)","url":"%3Cinit%3E(byte,int,int)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"ConstantInstruction(byte, int)","url":"%3Cinit%3E(byte,int)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation.InstructionAbstractInterpreter","l":"constantLookupVisitor"},{"p":"proguard.analysis.cpa.jvm.util","c":"ConstantLookupVisitor","l":"ConstantLookupVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"ConstantMatcher","l":"ConstantMatcher(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.classfile","c":"ProgramClass","l":"constantPool"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"ConstantPoolEditor(ProgramClass, ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"ConstantPoolEditor(ProgramClass)","url":"%3Cinit%3E(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile","c":"Clazz","l":"constantPoolEntriesAccept(ConstantVisitor)","url":"constantPoolEntriesAccept(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"constantPoolEntriesAccept(ConstantVisitor)","url":"constantPoolEntriesAccept(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"constantPoolEntriesAccept(ConstantVisitor)","url":"constantPoolEntriesAccept(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"Clazz","l":"constantPoolEntryAccept(int, ConstantVisitor)","url":"constantPoolEntryAccept(int,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"constantPoolEntryAccept(int, ConstantVisitor)","url":"constantPoolEntryAccept(int,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"constantPoolEntryAccept(int, ConstantVisitor)","url":"constantPoolEntryAccept(int,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"ConstantPoolRemapper()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"ConstantPoolShrinker()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"ConstantPoolSorter","l":"ConstantPoolSorter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.visitor","c":"ConstantProcessingFlagFilter","l":"ConstantProcessingFlagFilter(int, int, ConstantVisitor)","url":"%3Cinit%3E(int,int,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"constants()"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"ConstantStringBuilder(StringBuilder)","url":"%3Cinit%3E(java.lang.StringBuilder)"},{"p":"proguard.util","c":"ConstantStringFunction","l":"ConstantStringFunction(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantTagFilter","l":"ConstantTagFilter(int, ConstantVisitor)","url":"%3Cinit%3E(int,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantTagFilter","l":"ConstantTagFilter(int[], ConstantVisitor)","url":"%3Cinit%3E(int[],proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectExpressionMetadata","l":"constantValue"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"constantValue(Clazz, int)","url":"constantValue(proguard.classfile.Clazz,int)"},{"p":"proguard.classfile.attribute","c":"ConstantValueAttribute","l":"ConstantValueAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"ConstantValueAttribute","l":"ConstantValueAttribute(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"ConstantValueFactory(ValueFactory)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.classfile.util.renderer","c":"ConstantViewModel","l":"ConstantViewModel(Clazz, Constant)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectMetadata","l":"constructorArgumentAccept(Clazz, KotlinEffectExprVisitor)","url":"constructorArgumentAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinEffectExprVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectMetadata","l":"constructorArguments"},{"p":"proguard.util.kotlin.asserter.constraint","c":"ConstructorIntegrity","l":"ConstructorIntegrity()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.visitor","c":"ConstructorMethodFilter","l":"ConstructorMethodFilter(MemberVisitor, MemberVisitor, MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor,proguard.classfile.visitor.MemberVisitor,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"ConstructorMethodFilter","l":"ConstructorMethodFilter(MemberVisitor, MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"ConstructorMethodFilter","l":"ConstructorMethodFilter(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"constructors"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"constructorsAccept(Clazz, KotlinConstructorVisitor)","url":"constructorsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinConstructorVisitor)"},{"p":"proguard.dexfile.reader.node.insn","c":"ConstStmtNode","l":"ConstStmtNode(Op, int, Object)","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int,java.lang.Object)"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWaitlist","l":"contains(AbstractState)","url":"contains(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.interfaces","c":"Waitlist","l":"contains(AbstractState)","url":"contains(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.classfile","c":"ClassPool","l":"contains(Clazz)","url":"contains(proguard.classfile.Clazz)"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"contains(int)"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"contains(Stmt)","url":"contains(proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.analysis.cpa.jvm.cfa","c":"JvmCfa","l":"containsFunctionCatchNode(MethodSignature, int)","url":"containsFunctionCatchNode(proguard.classfile.MethodSignature,int)"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"containsKey(Object)","url":"containsKey(java.lang.Object)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"containsSubroutines()"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"containsValue(Object)","url":"containsValue(java.lang.Object)"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt2R1NNode","l":"content"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"contentEquals(PrimitiveArrayConstant)","url":"contentEquals(proguard.classfile.constant.PrimitiveArrayConstant)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"contextReceivers"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"contextReceivers"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"contextReceivers"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"contextReceiverTypesAccept(Clazz, KotlinMetadata, KotlinTypeVisitor)","url":"contextReceiverTypesAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"contextReceiverTypesAccept(Clazz, KotlinMetadata, KotlinTypeVisitor)","url":"contextReceiverTypesAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"contextReceiverTypesAccept(Clazz, KotlinTypeVisitor)","url":"contextReceiverTypesAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"contracts"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"contractsAccept(Clazz, KotlinMetadata, KotlinContractVisitor)","url":"contractsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.visitor.KotlinContractVisitor)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"controlFlowDependent"},{"p":"proguard.analysis.cpa.defaults","c":"ControllableAbortOperator","l":"ControllableAbortOperator()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.converter","c":"IR2ProConverter","l":"convert()"},{"p":"proguard.dexfile.converter","c":"Dex2IRConverter","l":"convert(boolean, Method, DexCodeNode)","url":"convert(boolean,proguard.dexfile.reader.Method,proguard.dexfile.reader.node.DexCodeNode)"},{"p":"proguard.dexfile.converter","c":"Dex2Pro","l":"convertDex(DexFileNode, ClassVisitor)","url":"convertDex(proguard.dexfile.reader.node.DexFileNode,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.evaluation.value","c":"ConvertedByteValue","l":"ConvertedByteValue(IntegerValue)","url":"%3Cinit%3E(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ConvertedCharacterValue","l":"ConvertedCharacterValue(IntegerValue)","url":"%3Cinit%3E(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ConvertedDoubleValue","l":"ConvertedDoubleValue(Value)","url":"%3Cinit%3E(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"ConvertedFloatValue","l":"ConvertedFloatValue(Value)","url":"%3Cinit%3E(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"ConvertedIntegerValue","l":"ConvertedIntegerValue(Value)","url":"%3Cinit%3E(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"ConvertedLongValue","l":"ConvertedLongValue(Value)","url":"%3Cinit%3E(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"ConvertedShortValue","l":"ConvertedShortValue(IntegerValue)","url":"%3Cinit%3E(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"convertPrimitiveType(char, char)","url":"convertPrimitiveType(char,char)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSink","l":"convertSinksToMemoryLocations(Collection)","url":"convertSinksToMemoryLocations(java.util.Collection)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"convertToByte()"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"convertToByte()"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"convertToByte()"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"convertToByte()"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"convertToByte()"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"convertToCharacter()"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"convertToCharacter()"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"convertToCharacter()"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"convertToCharacter()"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"convertToCharacter()"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"convertToDouble()"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"convertToDouble()"},{"p":"proguard.evaluation.value","c":"LongValue","l":"convertToDouble()"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"convertToDouble()"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"convertToDouble()"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"convertToDouble()"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"convertToDouble()"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"convertToDouble()"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"convertToDouble()"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"convertToDouble()"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"convertToDouble()"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"convertToDouble()"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"convertToDouble()"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"convertToFloat()"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"convertToFloat()"},{"p":"proguard.evaluation.value","c":"LongValue","l":"convertToFloat()"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"convertToFloat()"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"convertToFloat()"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"convertToFloat()"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"convertToFloat()"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"convertToFloat()"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"convertToFloat()"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"convertToFloat()"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"convertToFloat()"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"convertToFloat()"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"convertToFloat()"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"convertToInteger()"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"convertToInteger()"},{"p":"proguard.evaluation.value","c":"LongValue","l":"convertToInteger()"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"convertToInteger()"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"convertToInteger()"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"convertToInteger()"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"convertToInteger()"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"convertToInteger()"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"convertToInteger()"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"convertToInteger()"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"convertToInteger()"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"convertToInteger()"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"convertToLong()"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"convertToLong()"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"convertToLong()"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"convertToLong()"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"convertToLong()"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"convertToLong()"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"convertToLong()"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"convertToLong()"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"convertToLong()"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"convertToLong()"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"convertToLong()"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"convertToLong()"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"convertToLong()"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"convertToShort()"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"convertToShort()"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"convertToShort()"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"convertToShort()"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"convertToShort()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"convertToTargetType(String, String)","url":"convertToTargetType(java.lang.String,java.lang.String)"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractSingleWrapperState","l":"copy()"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMapAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.defaults","c":"HashMapAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMapAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.defaults","c":"ListAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.defaults","c":"MapAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.defaults","c":"SetAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.defaults","c":"StackAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.interfaces","c":"AbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"BamLocationDependentJvmMemoryLocation","l":"copy()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"ValueAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmForgetfulHeapAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmHeapAbstractState","l":"copy()"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"copy()"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"copy(BranchInstruction)","url":"copy(proguard.classfile.instruction.BranchInstruction)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"copy(ConstantInstruction)","url":"copy(proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.instruction","c":"LookUpSwitchInstruction","l":"copy(LookUpSwitchInstruction)","url":"copy(proguard.classfile.instruction.LookUpSwitchInstruction)"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"copy(SimpleInstruction)","url":"copy(proguard.classfile.instruction.SimpleInstruction)"},{"p":"proguard.evaluation","c":"Stack","l":"copy(Stack)","url":"copy(proguard.evaluation.Stack)"},{"p":"proguard.classfile.instruction","c":"SwitchInstruction","l":"copy(SwitchInstruction)","url":"copy(proguard.classfile.instruction.SwitchInstruction)"},{"p":"proguard.classfile.instruction","c":"TableSwitchInstruction","l":"copy(TableSwitchInstruction)","url":"copy(proguard.classfile.instruction.TableSwitchInstruction)"},{"p":"proguard.evaluation","c":"TracedStack","l":"copy(TracedStack)","url":"copy(proguard.evaluation.TracedStack)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"copy(Value[])","url":"copy(proguard.dexfile.ir.expr.Value[])"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"copy(VariableInstruction)","url":"copy(proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.util","c":"ProcessingFlags","l":"COPYABLE_PROCESSING_FLAGS"},{"p":"proguard.io","c":"DataEntryCopier","l":"copyData(InputStream, OutputStream)","url":"copyData(java.io.InputStream,java.io.OutputStream)"},{"p":"proguard.io","c":"DataEntryRewriter","l":"copyData(InputStream, OutputStream)","url":"copyData(java.io.InputStream,java.io.OutputStream)"},{"p":"proguard.io","c":"DataEntryRewriter","l":"copyData(Reader, Writer)","url":"copyData(java.io.Reader,java.io.Writer)"},{"p":"proguard.io","c":"ManifestRewriter","l":"copyData(Reader, Writer)","url":"copyData(java.io.Reader,java.io.Writer)"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"copyIfMutable()"},{"p":"proguard.evaluation.value","c":"Value","l":"copyIfMutable()"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmInterpreter","l":"copyOperation(DexStmtNode, V)","url":"copyOperation(proguard.dexfile.reader.node.insn.DexStmtNode,V)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"copyStack()"},{"p":"proguard.classfile.util","c":"MemberFinder","l":"correspondingClass()"},{"p":"proguard.classfile.visitor","c":"CounterConditionalClassVisitor","l":"CounterConditionalClassVisitor(Counter, BiPredicate, ClassVisitor, ClassVisitor)","url":"%3Cinit%3E(proguard.util.Counter,java.util.function.BiPredicate,proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"countLocalReads(IrMethod)","url":"countLocalReads(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.analysis","c":"Metrics","l":"counts"},{"p":"proguard.analysis.cpa.defaults","c":"CpaRun","l":"cpa"},{"p":"proguard.analysis.cpa.algorithms","c":"CpaAlgorithm","l":"CpaAlgorithm(ConfigurableProgramAnalysis)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.ConfigurableProgramAnalysis)"},{"p":"proguard.analysis.cpa.algorithms","c":"CpaAlgorithm","l":"CpaAlgorithm(TransferRelation, MergeOperator, StopOperator, PrecisionAdjustment)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.TransferRelation,proguard.analysis.cpa.interfaces.MergeOperator,proguard.analysis.cpa.interfaces.StopOperator,proguard.analysis.cpa.interfaces.PrecisionAdjustment)"},{"p":"proguard.analysis.cpa.defaults","c":"CpaRun","l":"CpaRun()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.bam","c":"CpaWithBamOperators","l":"CpaWithBamOperators(AbstractDomain, ProgramLocationDependentTransferRelation, MergeOperator, StopOperator, PrecisionAdjustment, ReduceOperator, ExpandOperator, RebuildOperator)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.AbstractDomain,proguard.analysis.cpa.interfaces.ProgramLocationDependentTransferRelation,proguard.analysis.cpa.interfaces.MergeOperator,proguard.analysis.cpa.interfaces.StopOperator,proguard.analysis.cpa.interfaces.PrecisionAdjustment,proguard.analysis.cpa.bam.ReduceOperator,proguard.analysis.cpa.bam.ExpandOperator,proguard.analysis.cpa.bam.RebuildOperator)"},{"p":"proguard.analysis.cpa.bam","c":"CpaWithBamOperators","l":"CpaWithBamOperators(ConfigurableProgramAnalysis, ReduceOperator, ExpandOperator, RebuildOperator)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.ConfigurableProgramAnalysis,proguard.analysis.cpa.bam.ReduceOperator,proguard.analysis.cpa.bam.ExpandOperator,proguard.analysis.cpa.bam.RebuildOperator)"},{"p":"proguard.evaluation","c":"PartialEvaluator.Builder","l":"create()"},{"p":"proguard.classfile.instruction","c":"InstructionFactory","l":"create(byte, boolean)","url":"create(byte,boolean)"},{"p":"proguard.classfile.instruction","c":"InstructionFactory","l":"create(byte)"},{"p":"proguard.classfile.instruction","c":"InstructionFactory","l":"create(byte[], int)","url":"create(byte[],int)"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObjectFactory","l":"create(Object, String, Clazz)","url":"create(java.lang.Object,java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"create(String, Clazz, boolean, IntegerValue, ValueFactory, int)","url":"create(java.lang.String,proguard.classfile.Clazz,boolean,proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory,int)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue, Object)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ArrayReferenceValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue, Object)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue, Object)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"DetailedArrayValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue, Object)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue, Object)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue, Object)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue, Object)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue, Object)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue,java.lang.Object)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ArrayReferenceValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"DetailedArrayValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"PrimitiveTypedReferenceValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createArrayReferenceValue(String, Clazz, IntegerValue)","url":"createArrayReferenceValue(java.lang.String,proguard.classfile.Clazz,proguard.evaluation.value.IntegerValue)"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun","l":"createCache()"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"createCFG(IrMethod)","url":"createCFG(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"createCfgWithoutEx(IrMethod)","url":"createCfgWithoutEx(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.io","c":"D8BasedDexDataEntryWriter","l":"createClassConverter()"},{"p":"proguard.examples.util","c":"ExampleUtil","l":"createClassPool(Class...)","url":"createClassPool(java.lang.Class...)"},{"p":"proguard.classfile.visitor","c":"ParallelAllClassVisitor.ClassVisitorFactory","l":"createClassVisitor()"},{"p":"proguard.io","c":"DataEntryReaderFactory","l":"createDataEntryReader(ClassPathEntry, DataEntryReader)","url":"createDataEntryReader(proguard.io.ClassPathEntry,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"DataEntryWriterFactory","l":"createDataEntryWriter(ClassPath, int, int, DataEntryWriter)","url":"createDataEntryWriter(proguard.io.ClassPath,int,int,proguard.io.DataEntryWriter)"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper","l":"createDefaultBuilderResult(ModelHelper.MethodExecutionContext, Object)","url":"createDefaultBuilderResult(proguard.evaluation.value.object.model.reflective.ModelHelper.MethodExecutionContext,java.lang.Object)"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper","l":"createDefaultConstructorResult(ModelHelper.MethodExecutionContext, Model)","url":"createDefaultConstructorResult(proguard.evaluation.value.object.model.reflective.ModelHelper.MethodExecutionContext,proguard.evaluation.value.object.model.Model)"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper","l":"createDefaultReturnResult(ModelHelper.MethodExecutionContext, Object)","url":"createDefaultReturnResult(proguard.evaluation.value.object.model.reflective.ModelHelper.MethodExecutionContext,java.lang.Object)"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObjectFactory","l":"createDetailedArray(Value[], String)","url":"createDetailedArray(proguard.evaluation.value.Value[],java.lang.String)"},{"p":"proguard.io","c":"CascadingDataEntryWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"ClassDataEntryWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"ClassMapDataEntryWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DataEntryWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DexDataEntryWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DirectoryWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"FilteredDataEntryWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"FixedFileWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"JarWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"NonClosingDataEntryWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"ParentDataEntryWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"PrefixAddingDataEntryWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"RenamedDataEntryWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"RenamedParentDataEntryWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.io","c":"ZipWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleDataEntryWriter","l":"createDirectory(DataEntry)","url":"createDirectory(proguard.io.DataEntry)"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationTypeFactory","l":"createDoubleType()"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createDoubleValue()"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createDoubleValue()"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"createDoubleValue()"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createDoubleValue()"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createDoubleValue(double)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createDoubleValue(double)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createDoubleValue(double)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createDoubleValue(double)"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun","l":"createExpandOperator()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun","l":"createExpandOperator()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun","l":"createExpandOperator()"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationTypeFactory","l":"createFloatType()"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createFloatValue()"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createFloatValue()"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"createFloatValue()"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createFloatValue()"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createFloatValue(float)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createFloatValue(float)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createFloatValue(float)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createFloatValue(float)"},{"p":"proguard.examples","c":"CreateHelloWorldClass","l":"CreateHelloWorldClass()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationTypeFactory","l":"createIntegerType()"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createIntegerValue()"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createIntegerValue()"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"createIntegerValue()"},{"p":"proguard.evaluation.value","c":"RangeValueFactory","l":"createIntegerValue()"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createIntegerValue()"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createIntegerValue(int, int)","url":"createIntegerValue(int,int)"},{"p":"proguard.evaluation.value","c":"BasicRangeValueFactory","l":"createIntegerValue(int, int)","url":"createIntegerValue(int,int)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createIntegerValue(int, int)","url":"createIntegerValue(int,int)"},{"p":"proguard.evaluation.value","c":"RangeValueFactory","l":"createIntegerValue(int, int)","url":"createIntegerValue(int,int)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createIntegerValue(int, int)","url":"createIntegerValue(int,int)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createIntegerValue(int)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createIntegerValue(int)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createIntegerValue(int)"},{"p":"proguard.evaluation.value","c":"RangeValueFactory","l":"createIntegerValue(int)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createIntegerValue(int)"},{"p":"proguard.analysis.cpa.jvm.util","c":"CfaUtil","l":"createInterproceduralCfa(ClassPool, CallGraph)","url":"createInterproceduralCfa(proguard.classfile.ClassPool,proguard.analysis.datastructure.callgraph.CallGraph)"},{"p":"proguard.analysis.cpa.jvm.util","c":"CfaUtil","l":"createInterproceduralCfa(ClassPool, ClassPool)","url":"createInterproceduralCfa(proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.analysis.cpa.jvm.util","c":"CfaUtil","l":"createInterproceduralCfa(ClassPool)","url":"createInterproceduralCfa(proguard.classfile.ClassPool)"},{"p":"proguard.analysis.cpa.jvm.util","c":"CfaUtil","l":"createInterproceduralCfaFromClassPool(ClassPool, ClassPool)","url":"createInterproceduralCfaFromClassPool(proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.analysis.cpa.jvm.util","c":"CfaUtil","l":"createInterproceduralCfaFromClassPool(ClassPool)","url":"createInterproceduralCfaFromClassPool(proguard.classfile.ClassPool)"},{"p":"proguard.analysis.cpa.jvm.util","c":"CfaUtil","l":"createInterproceduralCfaFromClassPoolAndCallGraph(ClassPool, CallGraph)","url":"createInterproceduralCfaFromClassPoolAndCallGraph(proguard.classfile.ClassPool,proguard.analysis.datastructure.callgraph.CallGraph)"},{"p":"proguard.analysis.cpa.jvm.util","c":"CfaUtil","l":"createIntraproceduralCfa(ClassPool, Supplier)","url":"createIntraproceduralCfa(proguard.classfile.ClassPool,java.util.function.Supplier)"},{"p":"proguard.analysis.cpa.jvm.util","c":"CfaUtil","l":"createIntraproceduralCfa(ClassPool)","url":"createIntraproceduralCfa(proguard.classfile.ClassPool)"},{"p":"proguard.analysis.cpa.jvm.util","c":"CfaUtil","l":"createIntraproceduralCfaFromClassPool(ClassPool, Supplier)","url":"createIntraproceduralCfaFromClassPool(proguard.classfile.ClassPool,java.util.function.Supplier)"},{"p":"proguard.analysis.cpa.jvm.util","c":"CfaUtil","l":"createIntraproceduralCfaFromClassPool(ClassPool)","url":"createIntraproceduralCfaFromClassPool(proguard.classfile.ClassPool)"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun","l":"createIntraproceduralCPA()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun","l":"createIntraproceduralCPA()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun","l":"createIntraproceduralCPA()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueExpandOperator","l":"createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState, JvmHeapAbstractState, MapAbstractState)","url":"createJvmAbstractState(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.state.JvmFrameAbstractState,proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueReduceOperator","l":"createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState, JvmHeapAbstractState, MapAbstractState)","url":"createJvmAbstractState(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.state.JvmFrameAbstractState,proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintExpandOperator","l":"createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState>, JvmHeapAbstractState>, MapAbstractState>)","url":"createJvmAbstractState(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.state.JvmFrameAbstractState,proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintReduceOperator","l":"createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState>, JvmHeapAbstractState>, MapAbstractState>)","url":"createJvmAbstractState(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.state.JvmFrameAbstractState,proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceExpandOperator","l":"createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState>, JvmHeapAbstractState>, MapAbstractState>)","url":"createJvmAbstractState(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.state.JvmFrameAbstractState,proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceReduceOperator","l":"createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState>, JvmHeapAbstractState>, MapAbstractState>)","url":"createJvmAbstractState(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.state.JvmFrameAbstractState,proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractStateFactory","l":"createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState, JvmHeapAbstractState, MapAbstractState)","url":"createJvmAbstractState(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.state.JvmFrameAbstractState,proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.util","c":"MultiValueMap","l":"createKeyMap()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"createLabel()"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationTypeFactory","l":"createLongType()"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createLongValue()"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createLongValue()"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"createLongValue()"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createLongValue()"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createLongValue(long)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createLongValue(long)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createLongValue(long)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createLongValue(long)"},{"p":"proguard.io","c":"JarWriter","l":"createManifestOutputStream(DataEntry)","url":"createManifestOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"SignedJarWriter","l":"createManifestOutputStream(DataEntry)","url":"createManifestOutputStream(proguard.io.DataEntry)"},{"p":"proguard.analysis.cpa.state","c":"DifferentialMapAbstractStateFactory","l":"createMapAbstractState()"},{"p":"proguard.analysis.cpa.state","c":"HashMapAbstractStateFactory","l":"createMapAbstractState()"},{"p":"proguard.analysis.cpa.state","c":"LimitedHashMapAbstractStateFactory","l":"createMapAbstractState()"},{"p":"proguard.analysis.cpa.state","c":"MapAbstractStateFactory","l":"createMapAbstractState()"},{"p":"proguard.util","c":"WildcardManager","l":"createMatchedStringFunction(String)","url":"createMatchedStringFunction(java.lang.String)"},{"p":"proguard.util","c":"WildcardManager","l":"createMatchedStringMatcher(int, StringMatcher)","url":"createMatchedStringMatcher(int,proguard.util.StringMatcher)"},{"p":"proguard.examples","c":"CreateHelloWorldClass","l":"createMessagePrintingClass(String, String)","url":"createMessagePrintingClass(java.lang.String,java.lang.String)"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObjectFactory","l":"createModeled(Model)","url":"createModeled(proguard.evaluation.value.object.model.Model)"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObjectFactory","l":"createNull()"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObjectFactory","l":"createNullOfType(String)","url":"createNullOfType(java.lang.String)"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationTypeFactory","l":"createNullType()"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationTypeFactory","l":"createObjectType(int)"},{"p":"proguard.io","c":"CascadingDataEntryWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"ClassDataEntryWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"ClassMapDataEntryWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DataEntryWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DexDataEntryWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DirectoryWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"FilteredDataEntryWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"FixedFileWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"JarWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"NonClosingDataEntryWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"ParentDataEntryWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"PrefixAddingDataEntryWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"RenamedDataEntryWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"RenamedParentDataEntryWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"SignedJarWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"ZipWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleDataEntryWriter","l":"createOutputStream(DataEntry)","url":"createOutputStream(proguard.io.DataEntry)"},{"p":"proguard.io","c":"ZipOutput","l":"createOutputStream(String, boolean, int, int, byte[], String)","url":"createOutputStream(java.lang.String,boolean,int,int,byte[],java.lang.String)"},{"p":"proguard.io","c":"ZipOutput","l":"createOutputStream(String, boolean, int, int)","url":"createOutputStream(java.lang.String,boolean,int,int)"},{"p":"proguard.io","c":"ZipOutput","l":"createOutputStream(String, boolean, int)","url":"createOutputStream(java.lang.String,boolean,int)"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObjectFactory","l":"createPrecise(Object)","url":"createPrecise(java.lang.Object)"},{"p":"proguard.analysis.cpa.defaults","c":"CpaRun","l":"createReachedSet()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationBamCpaRun","l":"createReachedSet()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun","l":"createReachedSet()"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun","l":"createReachedSet()"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun","l":"createRebuildOperator()"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun","l":"createReduceOperator()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun","l":"createReduceOperator()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun","l":"createReduceOperator()"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun","l":"createReduceOperator()"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createReferenceValue()"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createReferenceValue()"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createReferenceValue()"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValue()"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValue(Clazz, AnalyzedObject)","url":"createReferenceValue(proguard.classfile.Clazz,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation","c":"ParticularReferenceValueFactory","l":"createReferenceValue(Clazz, boolean, boolean, AnalyzedObject)","url":"createReferenceValue(proguard.classfile.Clazz,boolean,boolean,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createReferenceValue(Clazz, boolean, boolean, AnalyzedObject)","url":"createReferenceValue(proguard.classfile.Clazz,boolean,boolean,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createReferenceValue(Clazz, boolean, boolean, AnalyzedObject)","url":"createReferenceValue(proguard.classfile.Clazz,boolean,boolean,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createReferenceValue(Clazz, boolean, boolean, AnalyzedObject)","url":"createReferenceValue(proguard.classfile.Clazz,boolean,boolean,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValue(Clazz, boolean, boolean, AnalyzedObject)","url":"createReferenceValue(proguard.classfile.Clazz,boolean,boolean,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmCfaReferenceValueFactory","l":"createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject)","url":"createReferenceValue(proguard.classfile.Clazz,boolean,boolean,proguard.analysis.datastructure.CodeLocation,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation","c":"ParticularReferenceValueFactory","l":"createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject)","url":"createReferenceValue(proguard.classfile.Clazz,boolean,boolean,proguard.analysis.datastructure.CodeLocation,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject)","url":"createReferenceValue(proguard.classfile.Clazz,boolean,boolean,proguard.analysis.datastructure.CodeLocation,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject)","url":"createReferenceValue(proguard.classfile.Clazz,boolean,boolean,proguard.analysis.datastructure.CodeLocation,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject)","url":"createReferenceValue(proguard.classfile.Clazz,boolean,boolean,proguard.analysis.datastructure.CodeLocation,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject)","url":"createReferenceValue(proguard.classfile.Clazz,boolean,boolean,proguard.analysis.datastructure.CodeLocation,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValue(Clazz, Object)","url":"createReferenceValue(proguard.classfile.Clazz,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValue(Clazz)","url":"createReferenceValue(proguard.classfile.Clazz)"},{"p":"proguard.evaluation","c":"ParticularReferenceValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int,java.lang.Object)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int,java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmCfaReferenceValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int)"},{"p":"proguard.evaluation","c":"ParticularReferenceValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int)"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int)"},{"p":"proguard.evaluation","c":"ParticularReferenceValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Object)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Object)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Object)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Object)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Object)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean, Object)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object)"},{"p":"proguard.evaluation","c":"ParticularReferenceValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation.value","c":"PrimitiveTypedReferenceValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValue(String, Clazz, boolean, boolean)","url":"createReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation","c":"ParticularReferenceValueFactory","l":"createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject)","url":"createReferenceValueForId(proguard.classfile.Clazz,boolean,boolean,java.lang.Object,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject)","url":"createReferenceValueForId(proguard.classfile.Clazz,boolean,boolean,java.lang.Object,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject)","url":"createReferenceValueForId(proguard.classfile.Clazz,boolean,boolean,java.lang.Object,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject)","url":"createReferenceValueForId(proguard.classfile.Clazz,boolean,boolean,java.lang.Object,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject)","url":"createReferenceValueForId(proguard.classfile.Clazz,boolean,boolean,java.lang.Object,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation","c":"ParticularReferenceValueFactory","l":"createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object)","url":"createReferenceValueForId(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object,java.lang.Object)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object)","url":"createReferenceValueForId(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object)","url":"createReferenceValueForId(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object)","url":"createReferenceValueForId(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object)","url":"createReferenceValueForId(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object)","url":"createReferenceValueForId(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object,java.lang.Object)"},{"p":"proguard.evaluation","c":"ParticularReferenceValueFactory","l":"createReferenceValueForId(String, Clazz, boolean, boolean, Object)","url":"createReferenceValueForId(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createReferenceValueForId(String, Clazz, boolean, boolean, Object)","url":"createReferenceValueForId(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createReferenceValueForId(String, Clazz, boolean, boolean, Object)","url":"createReferenceValueForId(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"createReferenceValueForId(String, Clazz, boolean, boolean, Object)","url":"createReferenceValueForId(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createReferenceValueForId(String, Clazz, boolean, boolean, Object)","url":"createReferenceValueForId(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValueForId(String, Clazz, boolean, boolean, Object)","url":"createReferenceValueForId(java.lang.String,proguard.classfile.Clazz,boolean,boolean,java.lang.Object)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createReferenceValueNull()"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createReferenceValueNull()"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValueFactory","l":"createReferenceValueNull()"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"createReferenceValueNull()"},{"p":"proguard.evaluation.value","c":"PrimitiveTypedReferenceValueFactory","l":"createReferenceValueNull()"},{"p":"proguard.evaluation.value","c":"TypedReferenceValueFactory","l":"createReferenceValueNull()"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createReferenceValueNull()"},{"p":"proguard.dexfile.reader","c":"DexReaderFactory","l":"createSingleReader(byte[])"},{"p":"proguard.dexfile.reader","c":"DexReaderFactory","l":"createSingleReader(ByteBuffer)","url":"createSingleReader(java.nio.ByteBuffer)"},{"p":"proguard.dexfile.reader","c":"DexReaderFactory","l":"createSingleReader(InputStream)","url":"createSingleReader(java.io.InputStream)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintCpa","l":"createSourcesMap(Set)","url":"createSourcesMap(java.util.Set)"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationTypeFactory","l":"createTopType()"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationTypeFactory","l":"createUninitializedThisType()"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationTypeFactory","l":"createUninitializedType(int)"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper","l":"createUnknownBuilderResult(ModelHelper.MethodExecutionContext)","url":"createUnknownBuilderResult(proguard.evaluation.value.object.model.reflective.ModelHelper.MethodExecutionContext)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"createValue(String, Clazz, boolean, boolean)","url":"createValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"createValue(String, Clazz, boolean, boolean)","url":"createValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValueFactory","l":"createValue(String, Clazz, boolean, boolean)","url":"createValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation.value","c":"ValueFactory","l":"createValue(String, Clazz, boolean, boolean)","url":"createValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation.value","c":"InitialValueFactory","l":"createValue(String)","url":"createValue(java.lang.String)"},{"p":"proguard.util","c":"MultiValueMap","l":"createValueSet()"},{"p":"proguard.util","c":"WildcardManager","l":"createVariableStringMatcher(char[], char[], int, int, StringMatcher)","url":"createVariableStringMatcher(char[],char[],int,int,proguard.util.StringMatcher)"},{"p":"proguard.analysis.cpa.defaults","c":"CpaRun","l":"createWaitlist()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationBamCpaRun","l":"createWaitlist()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun","l":"createWaitlist()"},{"p":"proguard.io","c":"ZipWriter","l":"createZipOutput(OutputStream, byte[], int, boolean, String)","url":"createZipOutput(java.io.OutputStream,byte[],int,boolean,java.lang.String)"},{"p":"proguard.evaluation","c":"InitializationFinder","l":"creationOffset(int)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"Reference","l":"creationSite"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"Reference","l":"creationTime"},{"p":"proguard.io","c":"JarWriter","l":"creator"},{"p":"proguard.dexfile.reader.node","c":"DexFieldNode","l":"cst"},{"p":"proguard.io","c":"JarWriter","l":"currentManifestEntry"},{"p":"proguard.evaluation","c":"Stack","l":"currentSize"},{"p":"proguard.io","c":"ZipWriter","l":"currentZipOutput"},{"p":"proguard.examples","c":"CyclomaticComplexity","l":"CyclomaticComplexity()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"D"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"D"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"D"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataType","l":"d1"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataType","l":"d2"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"d2f()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"d2f()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"d2i()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"d2i()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"d2l()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"d2l()"},{"p":"proguard.io","c":"D8BasedDexDataEntryWriter","l":"D8BasedDexDataEntryWriter(ClassPool, StringMatcher, ClassPath, String, boolean, int, boolean, DataEntryReader, DataEntryWriter, DataEntryWriter)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.util.StringMatcher,proguard.io.ClassPath,java.lang.String,boolean,int,boolean,proguard.io.DataEntryReader,proguard.io.DataEntryWriter,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"D8ClassConverter","l":"D8ClassConverter(D8ClassConverter.D8DexFile)","url":"%3Cinit%3E(proguard.io.D8ClassConverter.D8DexFile)"},{"p":"proguard.io","c":"D8ClassConverter.D8DexFile","l":"D8DexFile(ClassPath, int, boolean)","url":"%3Cinit%3E(proguard.io.ClassPath,int,boolean)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dadd()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dadd()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"daload()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"daload()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dastore()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dastore()"},{"p":"proguard.io","c":"DataEntryClassInfoFilter","l":"DataEntryClassInfoFilter(ClassPool, Object)","url":"%3Cinit%3E(proguard.classfile.ClassPool,java.lang.Object)"},{"p":"proguard.io","c":"DataEntryClassWriter","l":"DataEntryClassWriter(DataEntry, DataEntryWriter)","url":"%3Cinit%3E(proguard.io.DataEntry,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"DataEntryClassWriter","l":"DataEntryClassWriter(DataEntryWriter)","url":"%3Cinit%3E(proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"DataEntryCopier","l":"DataEntryCopier(DataEntryWriter)","url":"%3Cinit%3E(proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"DataEntryDirectoryFilter","l":"DataEntryDirectoryFilter()","url":"%3Cinit%3E()"},{"p":"proguard.io","c":"DataEntryNameFilter","l":"DataEntryNameFilter(StringMatcher)","url":"%3Cinit%3E(proguard.util.StringMatcher)"},{"p":"proguard.io","c":"DataEntryParentFilter","l":"DataEntryParentFilter(DataEntryFilter)","url":"%3Cinit%3E(proguard.io.DataEntryFilter)"},{"p":"proguard.io","c":"DataEntryReaderFactory","l":"DataEntryReaderFactory(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.io","c":"DataEntryRewriter","l":"DataEntryRewriter(ClassPool, Charset, DataEntryWriter)","url":"%3Cinit%3E(proguard.classfile.ClassPool,java.nio.charset.Charset,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"DataEntryToken","l":"DataEntryToken(String, DataEntryTokenType)","url":"%3Cinit%3E(java.lang.String,proguard.io.DataEntryTokenType)"},{"p":"proguard.io","c":"DataEntryTokenizer","l":"DataEntryTokenizer(Reader)","url":"%3Cinit%3E(java.io.Reader)"},{"p":"proguard.io","c":"DataEntryWriterFactory","l":"DataEntryWriterFactory(ClassPool, ResourceFilePool, int, StringMatcher, int, boolean, boolean, KeyStore.PrivateKeyEntry[], Function)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.resources.file.ResourceFilePool,int,proguard.util.StringMatcher,int,boolean,boolean,java.security.KeyStore.PrivateKeyEntry[],java.util.function.Function)"},{"p":"proguard.io","c":"DataEntryWriterFactory","l":"DataEntryWriterFactory(ClassPool, ResourceFilePool, int, StringMatcher, int, boolean, boolean, KeyStore.PrivateKeyEntry[])","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.resources.file.ResourceFilePool,int,proguard.util.StringMatcher,int,boolean,boolean,java.security.KeyStore.PrivateKeyEntry[])"},{"p":"proguard.io","c":"DataEntryWriterFactory","l":"DataEntryWriterFactory(ClassPool, ResourceFilePool, StringMatcher, int, boolean, boolean, KeyStore.PrivateKeyEntry[], Function)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.resources.file.ResourceFilePool,proguard.util.StringMatcher,int,boolean,boolean,java.security.KeyStore.PrivateKeyEntry[],java.util.function.Function)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"DCMPG"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dcmpg()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dcmpg()"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"DCMPL"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dcmpl()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dcmpl()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dconst_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dconst_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dconst_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dconst_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dconst(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dconst(int)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"DDIV"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ddiv()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ddiv()"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"DEBUG"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"DebugAttributeVisitor(AttributeVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"DebugAttributeVisitor(String, AttributeVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"DebugAttributeVisitor(String, long, AttributeVisitor)","url":"%3Cinit%3E(java.lang.String,long,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.dexfile.ir.expr","c":"Local","l":"debugName"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"debugNode"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"debugNodes"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"DebugPrinter(boolean, boolean)","url":"%3Cinit%3E(boolean,boolean)"},{"p":"proguard.examples.instrument","c":"DebugStackTop","l":"DebugStackTop()","url":"%3Cinit%3E()"},{"p":"proguard.examples.instrument","c":"DebugStackTopExample","l":"DebugStackTopExample()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util.kotlin","c":"KotlinStringUtil","l":"decapitializeFirstCharacterAsciiOnly(String)","url":"decapitializeFirstCharacterAsciiOnly(java.lang.String)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinStringUtil","l":"decapitializeForKotlinCompiler(String)","url":"decapitializeForKotlinCompiler(java.lang.String)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"DeclarationContainerIntegrity","l":"DeclarationContainerIntegrity()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.util","c":"Mutf8","l":"decode(ByteBuffer, StringBuilder)","url":"decode(java.nio.ByteBuffer,java.lang.StringBuilder)"},{"p":"proguard.io","c":"JarWriter","l":"DEFAULT_DIGEST_ALGORITHM"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"DEFAULT_FIELD"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"DEFAULT_IMPLEMENTATIONS_SUFFIX"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata.Flavor","l":"DEFAULT_IMPLS"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"DEFAULT_METHOD_SUFFIX"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"DEFAULT_MISSING_REF_INDICATOR"},{"p":"proguard.classfile.instruction","c":"SwitchInstruction","l":"defaultOffset"},{"p":"proguard.analysis.cpa.defaults","c":"DefaultReachedSet","l":"DefaultReachedSet()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.stmt","c":"BaseSwitchStmt","l":"defaultTarget"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"defaultValue"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationDefaultAttribute","l":"defaultValue"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationDefaultAttribute","l":"defaultValueAccept(Clazz, ElementValueVisitor)","url":"defaultValueAccept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.visitor.ElementValueVisitor)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"definitiveBranch(Clazz, Method, int, Instruction, TracedVariables, TracedStack, InstructionOffsetValue)","url":"definitiveBranch(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,proguard.evaluation.value.InstructionOffsetValue)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"definitiveBranch(Clazz, Method, int, Instruction, TracedVariables, TracedStack, InstructionOffsetValue)","url":"definitiveBranch(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,proguard.evaluation.value.InstructionOffsetValue)"},{"p":"proguard.analysis.cpa.defaults","c":"DelegateAbstractDomain","l":"DelegateAbstractDomain()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"delegatedPropertiesAccept(Clazz, KotlinPropertyVisitor)","url":"delegatedPropertiesAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinPropertyVisitor)"},{"p":"proguard.classfile.editor","c":"AnnotationsAttributeEditor","l":"deleteAnnotation(Annotation)","url":"deleteAnnotation(proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.editor","c":"ParameterAnnotationsAttributeEditor","l":"deleteAnnotation(int, Annotation)","url":"deleteAnnotation(int,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.editor","c":"ParameterAnnotationsAttributeEditor","l":"deleteAnnotation(int, int)","url":"deleteAnnotation(int,int)"},{"p":"proguard.classfile.editor","c":"AnnotationsAttributeEditor","l":"deleteAnnotation(int)"},{"p":"proguard.classfile.editor","c":"AttributesEditor","l":"deleteAttribute(String)","url":"deleteAttribute(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"deleted"},{"p":"proguard.classfile.editor","c":"ElementValuesEditor","l":"deleteElementValue(String)","url":"deleteElementValue(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"deleteInstruction(int)"},{"p":"proguard.classfile.editor","c":"InterfacesEditor","l":"deleteInterface(int)"},{"p":"proguard.classfile.editor","c":"VariableEditor","l":"deleteVariable(int)"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"DEPRECATED"},{"p":"proguard.classfile.attribute","c":"DeprecatedAttribute","l":"DeprecatedAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"DeprecatedAttribute","l":"DeprecatedAttribute(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.analysis.cpa.defaults","c":"DepthFirstWaitlist","l":"DepthFirstWaitlist()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader","c":"DexType","l":"desc"},{"p":"proguard.classfile","c":"FieldSignature","l":"descriptor"},{"p":"proguard.classfile","c":"LibraryMember","l":"descriptor"},{"p":"proguard.classfile","c":"MethodSignature","l":"descriptor"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModeledConstructor","l":"descriptor()"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModeledInstanceMethod","l":"descriptor()"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModeledStaticMethod","l":"descriptor()"},{"p":"proguard.classfile.util","c":"DescriptorClassEnumeration","l":"DescriptorClassEnumeration(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmFrame","l":"descriptorLength(String[])","url":"descriptorLength(java.lang.String[])"},{"p":"proguard.evaluation.value","c":"DetailedArrayValueFactory","l":"DetailedArrayValueFactory()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"DetailedArrayValueFactory","l":"DetailedArrayValueFactory(ValueFactory)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.io.util","c":"ClassPathUtil","l":"determineCompressionMethod(ClassPath)","url":"determineCompressionMethod(proguard.io.ClassPath)"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"DEX_035"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"DEX_036"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"DEX_037"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"DEX_038"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"DEX_039"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"DEX_040"},{"p":"proguard.dexfile.reader","c":"DexConstants","l":"DEX_041"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"DEX_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"DEX_FILE_EXTENSION"},{"p":"proguard.dexfile.converter","c":"Dex2IRConverter","l":"Dex2IRConverter()","url":"%3Cinit%3E()"},{"p":"proguard.io","c":"ParallelDexClassReader","l":"dex2pro"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"DEX2PRO_INVALID_INNER_CLASS"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"DEX2PRO_UNPARSEABLE_METHOD_SKIPPED"},{"p":"proguard.dexfile.converter","c":"Dex2Pro","l":"Dex2Pro()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.converter","c":"Dex2Pro","l":"Dex2Pro(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.dexfile.reader.node","c":"DexAnnotationNode","l":"DexAnnotationNode(String, Visibility)","url":"%3Cinit%3E(java.lang.String,proguard.dexfile.reader.Visibility)"},{"p":"proguard.dexfile.reader.visitors","c":"DexAnnotationVisitor","l":"DexAnnotationVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.visitors","c":"DexAnnotationVisitor","l":"DexAnnotationVisitor(DexAnnotationVisitor)","url":"%3Cinit%3E(proguard.dexfile.reader.visitors.DexAnnotationVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"DexClassNode(DexClassVisitor, int, String, String, String[])","url":"%3Cinit%3E(proguard.dexfile.reader.visitors.DexClassVisitor,int,java.lang.String,java.lang.String,java.lang.String[])"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"DexClassNode(int, String, String, String[])","url":"%3Cinit%3E(int,java.lang.String,java.lang.String,java.lang.String[])"},{"p":"proguard.io","c":"DexClassReader","l":"DexClassReader(boolean, boolean, ClassVisitor)","url":"%3Cinit%3E(boolean,boolean,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.io","c":"DexClassReader","l":"DexClassReader(boolean, ClassVisitor)","url":"%3Cinit%3E(boolean,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.dexfile.reader.visitors","c":"DexClassVisitor","l":"DexClassVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.visitors","c":"DexClassVisitor","l":"DexClassVisitor(DexClassVisitor)","url":"%3Cinit%3E(proguard.dexfile.reader.visitors.DexClassVisitor)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"DexCodeNode()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"DexCodeNode(DexCodeVisitor)","url":"%3Cinit%3E(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"DexCodeVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"DexCodeVisitor(DexCodeVisitor)","url":"%3Cinit%3E(proguard.dexfile.reader.visitors.DexCodeVisitor)"},{"p":"proguard.dexfile.reader","c":"DexContainerReader","l":"DexContainerReader(Collection)","url":"%3Cinit%3E(java.util.Collection)"},{"p":"proguard.io","c":"DexDataEntryWriter","l":"dexDataEntryWriter"},{"p":"proguard.io","c":"DexDataEntryWriter","l":"DexDataEntryWriter(ClassPool, StringMatcher, String, boolean, DataEntryReader, DataEntryWriter, DataEntryWriter)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.util.StringMatcher,java.lang.String,boolean,proguard.io.DataEntryReader,proguard.io.DataEntryWriter,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"DexDataEntryWriterFactory","l":"DexDataEntryWriterFactory(ClassPool, ClassPath, boolean, int, int, boolean, DataEntryReader)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.io.ClassPath,boolean,int,int,boolean,proguard.io.DataEntryReader)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"DexDebugNode()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode","l":"DexDebugOpNode(DexLabel)","url":"%3Cinit%3E(proguard.dexfile.reader.DexLabel)"},{"p":"proguard.dexfile.reader.visitors","c":"DexDebugVisitor","l":"DexDebugVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.visitors","c":"DexDebugVisitor","l":"DexDebugVisitor(DexDebugVisitor)","url":"%3Cinit%3E(proguard.dexfile.reader.visitors.DexDebugVisitor)"},{"p":"proguard.dexfile.reader","c":"DexException","l":"DexException()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader","c":"DexException","l":"DexException(String, Object...)","url":"%3Cinit%3E(java.lang.String,java.lang.Object...)"},{"p":"proguard.dexfile.reader","c":"DexException","l":"DexException(String, Throwable)","url":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"proguard.dexfile.reader","c":"DexException","l":"DexException(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.dexfile.reader","c":"DexException","l":"DexException(Throwable, String, Object...)","url":"%3Cinit%3E(java.lang.Throwable,java.lang.String,java.lang.Object...)"},{"p":"proguard.dexfile.reader","c":"DexException","l":"DexException(Throwable)","url":"%3Cinit%3E(java.lang.Throwable)"},{"p":"proguard.dexfile.reader.node","c":"DexFieldNode","l":"DexFieldNode(DexFieldVisitor, int, Field, Object)","url":"%3Cinit%3E(proguard.dexfile.reader.visitors.DexFieldVisitor,int,proguard.dexfile.reader.Field,java.lang.Object)"},{"p":"proguard.dexfile.reader.node","c":"DexFieldNode","l":"DexFieldNode(int, Field, Object)","url":"%3Cinit%3E(int,proguard.dexfile.reader.Field,java.lang.Object)"},{"p":"proguard.dexfile.reader.visitors","c":"DexFieldVisitor","l":"DexFieldVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.visitors","c":"DexFieldVisitor","l":"DexFieldVisitor(DexFieldVisitor)","url":"%3Cinit%3E(proguard.dexfile.reader.visitors.DexFieldVisitor)"},{"p":"proguard.io","c":"DexDataEntryWriter","l":"dexFileName"},{"p":"proguard.dexfile.reader.node","c":"DexFileNode","l":"DexFileNode()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"DexFileReader(byte[])","url":"%3Cinit%3E(byte[])"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"DexFileReader(ByteBuffer, int)","url":"%3Cinit%3E(java.nio.ByteBuffer,int)"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"DexFileReader(ByteBuffer)","url":"%3Cinit%3E(java.nio.ByteBuffer)"},{"p":"proguard.dexfile.reader.visitors","c":"DexFileVisitor","l":"DexFileVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.visitors","c":"DexFileVisitor","l":"DexFileVisitor(DexFileVisitor)","url":"%3Cinit%3E(proguard.dexfile.reader.visitors.DexFileVisitor)"},{"p":"proguard.dexfile.converter","c":"DexFix","l":"DexFix()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader","c":"DexLabel","l":"DexLabel()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader","c":"DexLabel","l":"DexLabel(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.dexfile.reader.node.insn","c":"DexLabelStmtNode","l":"DexLabelStmtNode(DexLabel)","url":"%3Cinit%3E(proguard.dexfile.reader.DexLabel)"},{"p":"proguard.dexfile.reader.node","c":"DexMethodNode","l":"DexMethodNode(DexMethodVisitor, int, Method)","url":"%3Cinit%3E(proguard.dexfile.reader.visitors.DexMethodVisitor,int,proguard.dexfile.reader.Method)"},{"p":"proguard.dexfile.reader.node","c":"DexMethodNode","l":"DexMethodNode(int, Method)","url":"%3Cinit%3E(int,proguard.dexfile.reader.Method)"},{"p":"proguard.dexfile.reader.visitors","c":"DexMethodVisitor","l":"DexMethodVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.visitors","c":"DexMethodVisitor","l":"DexMethodVisitor(DexMethodVisitor)","url":"%3Cinit%3E(proguard.dexfile.reader.visitors.DexMethodVisitor)"},{"p":"proguard.dexfile.reader","c":"DexReaderFactory","l":"DexReaderFactory()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.node.insn","c":"DexStmtNode","l":"DexStmtNode(Op)","url":"%3Cinit%3E(proguard.dexfile.reader.Op)"},{"p":"proguard.dexfile.reader","c":"DexType","l":"DexType(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.dexfile.reader.node","c":"DexFileNode","l":"dexVersion"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"dfs(StmtList, Cfg.FrameVisitor)","url":"dfs(proguard.dexfile.ir.stmt.StmtList,proguard.dexfile.ir.ts.Cfg.FrameVisitor)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"dfsVisit(IrMethod, Cfg.DfsVisitor)","url":"dfsVisit(proguard.dexfile.ir.IrMethod,proguard.dexfile.ir.ts.Cfg.DfsVisitor)"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"DifferentialMap()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"DifferentialMap(Map, Predicate>)","url":"%3Cinit%3E(java.util.Map,java.util.function.Predicate)"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"DifferentialMap(Map)","url":"%3Cinit%3E(java.util.Map)"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMapAbstractState","l":"DifferentialMapAbstractState()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMapAbstractState","l":"DifferentialMapAbstractState(Map)","url":"%3Cinit%3E(java.util.Map)"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMapAbstractState","l":"DifferentialMapAbstractState(Predicate>)","url":"%3Cinit%3E(java.util.function.Predicate)"},{"p":"proguard.analysis.cpa.state","c":"DifferentialMapAbstractStateFactory","l":"DifferentialMapAbstractStateFactory(Predicate>)","url":"%3Cinit%3E(java.util.function.Predicate)"},{"p":"proguard.io","c":"JarWriter","l":"digestAlgorithms"},{"p":"proguard.dexfile.ir.expr","c":"NewMutiArrayExpr","l":"dimension"},{"p":"proguard.io","c":"DirectoryFilter","l":"DirectoryFilter(DataEntryReader, DataEntryReader)","url":"%3Cinit%3E(proguard.io.DataEntryReader,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"DirectoryFilter","l":"DirectoryFilter(DataEntryReader)","url":"%3Cinit%3E(proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"DirectorySource","l":"DirectorySource(File)","url":"%3Cinit%3E(java.io.File)"},{"p":"proguard.io","c":"DirectoryWriter","l":"DirectoryWriter(File)","url":"%3Cinit%3E(java.io.File)"},{"p":"proguard.evaluation","c":"PartialEvaluator.Builder","l":"disablePrettyPrinting()"},{"p":"proguard.dexfile.ir.stmt","c":"LabelStmt","l":"displayName"},{"p":"proguard.dexfile.reader","c":"Op","l":"displayName"},{"p":"proguard.dexfile.reader","c":"Visibility","l":"displayName()"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt2R1NNode","l":"distReg"},{"p":"proguard.dexfile.reader","c":"Op","l":"DIV_DOUBLE"},{"p":"proguard.dexfile.reader","c":"Op","l":"DIV_DOUBLE_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"DIV_FLOAT"},{"p":"proguard.dexfile.reader","c":"Op","l":"DIV_FLOAT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"DIV_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"DIV_INT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"DIV_INT_LIT16"},{"p":"proguard.dexfile.reader","c":"Op","l":"DIV_INT_LIT8"},{"p":"proguard.dexfile.reader","c":"Op","l":"DIV_LONG"},{"p":"proguard.dexfile.reader","c":"Op","l":"DIV_LONG_2ADDR"},{"p":"proguard.evaluation.value","c":"CompositeDoubleValue","l":"DIVIDE"},{"p":"proguard.evaluation.value","c":"CompositeFloatValue","l":"DIVIDE"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"DIVIDE"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"DIVIDE"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"divide(DoubleValue)","url":"divide(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"divide(DoubleValue)","url":"divide(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"divide(DoubleValue)","url":"divide(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"divide(DoubleValue)","url":"divide(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"divide(FloatValue)","url":"divide(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"divide(FloatValue)","url":"divide(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"divide(FloatValue)","url":"divide(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"divide(FloatValue)","url":"divide(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"divide(IntegerValue)","url":"divide(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"divide(IntegerValue)","url":"divide(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"divide(IntegerValue)","url":"divide(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"divide(IntegerValue)","url":"divide(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"divide(IntegerValue)","url":"divide(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"divide(LongValue)","url":"divide(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"divide(LongValue)","url":"divide(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"divide(LongValue)","url":"divide(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"divide(LongValue)","url":"divide(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"divide(ParticularDoubleValue)","url":"divide(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"divide(ParticularDoubleValue)","url":"divide(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"divide(ParticularFloatValue)","url":"divide(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"divide(ParticularFloatValue)","url":"divide(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"divide(ParticularIntegerValue)","url":"divide(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"divide(ParticularIntegerValue)","url":"divide(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"divide(ParticularIntegerValue)","url":"divide(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"divide(ParticularLongValue)","url":"divide(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"divide(ParticularLongValue)","url":"divide(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"divide(RangeIntegerValue)","url":"divide(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"divide(RangeIntegerValue)","url":"divide(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"divide(RangeIntegerValue)","url":"divide(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"divide(RangeIntegerValue)","url":"divide(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"divide(SpecificDoubleValue)","url":"divide(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"divide(SpecificDoubleValue)","url":"divide(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"divide(SpecificFloatValue)","url":"divide(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"divide(SpecificFloatValue)","url":"divide(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"divide(SpecificIntegerValue)","url":"divide(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"divide(SpecificIntegerValue)","url":"divide(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"divide(SpecificLongValue)","url":"divide(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"divide(SpecificLongValue)","url":"divide(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"divide(UnknownIntegerValue)","url":"divide(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"divideOf(DoubleValue)","url":"divideOf(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"divideOf(DoubleValue)","url":"divideOf(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"divideOf(DoubleValue)","url":"divideOf(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"divideOf(DoubleValue)","url":"divideOf(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"divideOf(FloatValue)","url":"divideOf(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"divideOf(FloatValue)","url":"divideOf(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"divideOf(FloatValue)","url":"divideOf(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"divideOf(FloatValue)","url":"divideOf(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"divideOf(IntegerValue)","url":"divideOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"divideOf(IntegerValue)","url":"divideOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"divideOf(IntegerValue)","url":"divideOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"divideOf(IntegerValue)","url":"divideOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"divideOf(IntegerValue)","url":"divideOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"divideOf(LongValue)","url":"divideOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"divideOf(LongValue)","url":"divideOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"divideOf(LongValue)","url":"divideOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"divideOf(LongValue)","url":"divideOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"divideOf(ParticularDoubleValue)","url":"divideOf(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"divideOf(ParticularDoubleValue)","url":"divideOf(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"divideOf(ParticularFloatValue)","url":"divideOf(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"divideOf(ParticularFloatValue)","url":"divideOf(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"divideOf(ParticularIntegerValue)","url":"divideOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"divideOf(ParticularIntegerValue)","url":"divideOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"divideOf(ParticularIntegerValue)","url":"divideOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"divideOf(ParticularLongValue)","url":"divideOf(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"divideOf(ParticularLongValue)","url":"divideOf(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"divideOf(RangeIntegerValue)","url":"divideOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"divideOf(RangeIntegerValue)","url":"divideOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"divideOf(RangeIntegerValue)","url":"divideOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"divideOf(RangeIntegerValue)","url":"divideOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"divideOf(SpecificDoubleValue)","url":"divideOf(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"divideOf(SpecificDoubleValue)","url":"divideOf(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"divideOf(SpecificFloatValue)","url":"divideOf(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"divideOf(SpecificFloatValue)","url":"divideOf(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"divideOf(SpecificIntegerValue)","url":"divideOf(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"divideOf(SpecificIntegerValue)","url":"divideOf(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"divideOf(SpecificLongValue)","url":"divideOf(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"divideOf(SpecificLongValue)","url":"divideOf(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"divideOf(UnknownIntegerValue)","url":"divideOf(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dload_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dload_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dload_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dload_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dload_2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dload_2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dload_3()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dload_3()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dload(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dload(int)"},{"p":"proguard.evaluation","c":"Variables","l":"dload(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dmul()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dmul()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dneg()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dneg()"},{"p":"proguard.analysis","c":"DominatorCalculator","l":"dominates(int, int)","url":"dominates(int,int)"},{"p":"proguard.analysis","c":"DominatorCalculator","l":"DominatorCalculator()","url":"%3Cinit%3E()"},{"p":"proguard.analysis","c":"DominatorCalculator","l":"DominatorCalculator(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.util","c":"ProcessingFlags","l":"DONT_OBFUSCATE"},{"p":"proguard.util","c":"ProcessingFlags","l":"DONT_OPTIMIZE"},{"p":"proguard.util","c":"ProcessingFlags","l":"DONT_OPTIMIZE_OR_OBFUSCATE"},{"p":"proguard.util","c":"ProcessingFlags","l":"DONT_PROCESS_KOTLIN_MODULE"},{"p":"proguard.util","c":"ProcessingFlags","l":"DONT_SHRINK"},{"p":"proguard.util","c":"ProcessingFlags","l":"DONT_SHRINK_OR_OBFUSCATE"},{"p":"proguard.util","c":"ProcessingFlags","l":"DONT_SHRINK_OR_OPTIMIZE"},{"p":"proguard.util","c":"ProcessingFlags","l":"DONT_SHRINK_OR_OPTIMIZE_OR_OBFUSCATE"},{"p":"proguard.classfile.visitor","c":"DotClassClassVisitor","l":"DotClassClassVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"DOUBLE"},{"p":"proguard.classfile","c":"TypeConstants","l":"DOUBLE"},{"p":"proguard.classfile.constant","c":"Constant","l":"DOUBLE"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"DOUBLE"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"DOUBLE_A_STRING"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"DOUBLE_B_STRING"},{"p":"proguard.dexfile.reader","c":"Op","l":"DOUBLE_TO_FLOAT"},{"p":"proguard.dexfile.reader","c":"Op","l":"DOUBLE_TO_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"DOUBLE_TO_LONG"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"DOUBLE_TYPE"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"DOUBLE_VALUE"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"doubleArrayLoad(IntegerValue, ValueFactory)","url":"doubleArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"doubleArrayLoad(IntegerValue, ValueFactory)","url":"doubleArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"doubleArrayLoad(IntegerValue, ValueFactory)","url":"doubleArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"doubleArrayLoad(IntegerValue, ValueFactory)","url":"doubleArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.classfile.constant","c":"DoubleConstant","l":"DoubleConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"DoubleConstant","l":"DoubleConstant(double)","url":"%3Cinit%3E(double)"},{"p":"proguard.classfile.attribute.preverification","c":"DoubleType","l":"DoubleType()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"doubleValue()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"doubleValue()"},{"p":"proguard.evaluation.value","c":"Value","l":"doubleValue()"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"DoubleValue()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.DoubleValue","l":"DoubleValue(double)","url":"%3Cinit%3E(double)"},{"p":"proguard.evaluation","c":"Stack","l":"dpop()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"drem()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"drem()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dreturn()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dreturn()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dstore_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dstore_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dstore_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dstore_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dstore_2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dstore_2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dstore_3()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dstore_3()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dstore(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dstore(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dsub()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dsub()"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"dummyClassPool"},{"p":"proguard.io","c":"DummyDataEntry","l":"DummyDataEntry(DataEntry, String, long, boolean)","url":"%3Cinit%3E(proguard.io.DataEntry,java.lang.String,long,boolean)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dup_x1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dup_x1()"},{"p":"proguard.evaluation","c":"Stack","l":"dup_x1()"},{"p":"proguard.evaluation","c":"TracedStack","l":"dup_x1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dup_x2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dup_x2()"},{"p":"proguard.evaluation","c":"Stack","l":"dup_x2()"},{"p":"proguard.evaluation","c":"TracedStack","l":"dup_x2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dup()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dup()"},{"p":"proguard.evaluation","c":"Stack","l":"dup()"},{"p":"proguard.evaluation","c":"TracedStack","l":"dup()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dup2_x1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dup2_x1()"},{"p":"proguard.evaluation","c":"Stack","l":"dup2_x1()"},{"p":"proguard.evaluation","c":"TracedStack","l":"dup2_x1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dup2_x2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dup2_x2()"},{"p":"proguard.evaluation","c":"Stack","l":"dup2_x2()"},{"p":"proguard.evaluation","c":"TracedStack","l":"dup2_x2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"dup2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"dup2()"},{"p":"proguard.evaluation","c":"Stack","l":"dup2()"},{"p":"proguard.evaluation","c":"TracedStack","l":"dup2()"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmFrame","l":"DvmFrame(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmInterpreter","l":"DvmInterpreter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"Constant","l":"DYNAMIC"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"DynamicClassReferenceInitializer(ClassPool, ClassPool, WarningPrinter, WarningPrinter, WarningPrinter, StringMatcher, ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter,proguard.util.StringMatcher,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"DynamicClassReferenceInitializer(ClassPool, ClassPool, WarningPrinter, WarningPrinter, WarningPrinter, StringMatcher)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter,proguard.classfile.util.WarningPrinter,proguard.util.StringMatcher)"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"DynamicConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"DynamicConstant(int, int, Clazz[])","url":"%3Cinit%3E(int,int,proguard.classfile.Clazz[])"},{"p":"proguard.classfile.util","c":"DynamicMemberReferenceInitializer","l":"DynamicMemberReferenceInitializer(ClassPool, ClassPool, WarningPrinter, StringMatcher, StringMatcher, MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.classfile.util.WarningPrinter,proguard.util.StringMatcher,proguard.util.StringMatcher,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.util","c":"DynamicMemberReferenceInitializer","l":"DynamicMemberReferenceInitializer(ClassPool, ClassPool, WarningPrinter, StringMatcher, StringMatcher)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.classfile.util.WarningPrinter,proguard.util.StringMatcher,proguard.util.StringMatcher)"},{"p":"proguard.classfile.visitor","c":"DynamicReturnedClassVisitor","l":"DynamicReturnedClassVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"E"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"E"},{"p":"proguard.dexfile.ir","c":"ET","l":"E0"},{"p":"proguard.dexfile.ir.expr","c":"Value.E0Expr","l":"E0Expr(Value.VT)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.E0Stmt","l":"E0Stmt(Stmt.ST)","url":"%3Cinit%3E(proguard.dexfile.ir.stmt.Stmt.ST)"},{"p":"proguard.dexfile.ir","c":"ET","l":"E1"},{"p":"proguard.dexfile.ir.expr","c":"Value.E1Expr","l":"E1Expr(Value.VT, Value)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.E1Stmt","l":"E1Stmt(Stmt.ST, Value)","url":"%3Cinit%3E(proguard.dexfile.ir.stmt.Stmt.ST,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir","c":"ET","l":"E2"},{"p":"proguard.dexfile.ir.expr","c":"Value.E2Expr","l":"E2Expr(Value.VT, Value, Value)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.E2Stmt","l":"E2Stmt(Stmt.ST, Value, Value)","url":"%3Cinit%3E(proguard.dexfile.ir.stmt.Stmt.ST,proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.examples.modify","c":"EditClass","l":"EditClass()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinContractMetadata","l":"effects"},{"p":"proguard.classfile.kotlin","c":"KotlinContractMetadata","l":"effectsAccept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinEffectVisitor)","url":"effectsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.visitor.KotlinEffectVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectMetadata","l":"effectType"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ArrayValue","l":"elements"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ArrayValue","l":"elementsAccept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgumentVisitor)","url":"elementsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.dexfile.ir.expr","c":"ArrayExpr","l":"elementType"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"ElementValue()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"ElementValue(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.attribute.annotation","c":"ArrayElementValue","l":"elementValueAccept(Clazz, Annotation, int, ElementValueVisitor)","url":"elementValueAccept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,int,proguard.classfile.attribute.annotation.visitor.ElementValueVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"Annotation","l":"elementValueAccept(Clazz, int, ElementValueVisitor)","url":"elementValueAccept(proguard.classfile.Clazz,int,proguard.classfile.attribute.annotation.visitor.ElementValueVisitor)"},{"p":"proguard.classfile.editor","c":"ElementValueAdder","l":"ElementValueAdder(ProgramClass, Annotation, boolean)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.annotation.Annotation,boolean)"},{"p":"proguard.classfile.editor","c":"ElementValueAdder","l":"ElementValueAdder(ProgramClass, AnnotationDefaultAttribute, boolean)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute,boolean)"},{"p":"proguard.classfile.editor","c":"ElementValueAdder","l":"ElementValueAdder(ProgramClass, ArrayElementValue, boolean)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.annotation.ArrayElementValue,boolean)"},{"p":"proguard.classfile.attribute.annotation","c":"Annotation","l":"elementValues"},{"p":"proguard.classfile.attribute.annotation","c":"ArrayElementValue","l":"elementValues"},{"p":"proguard.classfile.attribute.annotation","c":"ArrayElementValue","l":"elementValuesAccept(Clazz, Annotation, ElementValueVisitor)","url":"elementValuesAccept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.visitor.ElementValueVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"Annotation","l":"elementValuesAccept(Clazz, ElementValueVisitor)","url":"elementValuesAccept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.visitor.ElementValueVisitor)"},{"p":"proguard.classfile.editor","c":"ElementValuesEditor","l":"ElementValuesEditor(ProgramClass, Annotation, boolean)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.annotation.Annotation,boolean)"},{"p":"proguard.classfile.editor","c":"ElementValuesEditor","l":"ElementValuesEditor(ProgramClass, ArrayElementValue, boolean)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.annotation.ArrayElementValue,boolean)"},{"p":"proguard.exception","c":"ErrorId","l":"EMPTY_CODE_ATTRIBUTE"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"EMPTY_VALUE"},{"p":"proguard.evaluation.exception","c":"EmptyCodeAttributeException","l":"EmptyCodeAttributeException(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.util","c":"EmptyStringMatcher","l":"EmptyStringMatcher()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.target","c":"EmptyTargetInfo","l":"EmptyTargetInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.target","c":"EmptyTargetInfo","l":"EmptyTargetInfo(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.dexfile.ir","c":"ET","l":"En"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"ENABLE_NEW_EXCEPTIONS"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit.Builder","l":"enableSameInstanceIdApproximation"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"ENCLOSING_METHOD"},{"p":"proguard.classfile.attribute","c":"EnclosingMethodAttribute","l":"EnclosingMethodAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"EnclosingMethodAttribute","l":"EnclosingMethodAttribute(int, int, int)","url":"%3Cinit%3E(int,int,int)"},{"p":"proguard.dexfile.reader.util","c":"Mutf8","l":"encode(byte[], int, String)","url":"encode(byte[],int,java.lang.String)"},{"p":"proguard.util","c":"Base64Util","l":"encode(byte[])"},{"p":"proguard.dexfile.reader.util","c":"Mutf8","l":"encode(String)","url":"encode(java.lang.String)"},{"p":"proguard.dexfile.ir","c":"LocalVar","l":"end"},{"p":"proguard.dexfile.ir","c":"Trap","l":"end"},{"p":"proguard.dexfile.reader.node","c":"TryCatchNode","l":"end"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"endCodeFragment()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"endCodeFragment()"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.EndLocal","l":"EndLocal(DexLabel, int)","url":"%3Cinit%3E(proguard.dexfile.reader.DexLabel,int)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"endSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int)","url":"endSubroutine(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int,int)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"endSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int)","url":"endSubroutine(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int,int)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"endSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int)","url":"endSubroutine(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int,int)"},{"p":"proguard.dexfile.ir.expr","c":"Value.EnExpr","l":"EnExpr(Value.VT, Value[])","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.expr.Value[])"},{"p":"proguard.util","c":"ArrayUtil","l":"ensureArraySize(boolean[], int, boolean)","url":"ensureArraySize(boolean[],int,boolean)"},{"p":"proguard.util","c":"ArrayUtil","l":"ensureArraySize(byte[], int, byte)","url":"ensureArraySize(byte[],int,byte)"},{"p":"proguard.util","c":"ArrayUtil","l":"ensureArraySize(char[], int, char)","url":"ensureArraySize(char[],int,char)"},{"p":"proguard.util","c":"ArrayUtil","l":"ensureArraySize(double[], int, double)","url":"ensureArraySize(double[],int,double)"},{"p":"proguard.util","c":"ArrayUtil","l":"ensureArraySize(float[], int, float)","url":"ensureArraySize(float[],int,float)"},{"p":"proguard.util","c":"ArrayUtil","l":"ensureArraySize(int[], int, int)","url":"ensureArraySize(int[],int,int)"},{"p":"proguard.util","c":"ArrayUtil","l":"ensureArraySize(long[], int, long)","url":"ensureArraySize(long[],int,long)"},{"p":"proguard.util","c":"ArrayUtil","l":"ensureArraySize(short[], int, short)","url":"ensureArraySize(short[],int,short)"},{"p":"proguard.util","c":"ArrayUtil","l":"ensureArraySize(T[], int, T)","url":"ensureArraySize(T[],int,T)"},{"p":"proguard.evaluation","c":"InvocationUnit","l":"enterExceptionHandler(Clazz, Method, CodeAttribute, int, int, Stack)","url":"enterExceptionHandler(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.evaluation.Stack)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"enterExceptionHandler(Clazz, Method, CodeAttribute, int, int, Stack)","url":"enterExceptionHandler(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.evaluation.Stack)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"enterExceptionHandler(Clazz, Method, CodeAttribute, int, int, Stack)","url":"enterExceptionHandler(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.evaluation.Stack)"},{"p":"proguard.evaluation","c":"InvocationUnit","l":"enterMethod(Clazz, Method, Variables)","url":"enterMethod(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.Variables)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"enterMethod(Clazz, Method, Variables)","url":"enterMethod(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.Variables)"},{"p":"proguard.analysis","c":"DominatorCalculator","l":"ENTRY_NODE_OFFSET"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"entrySet()"},{"p":"proguard.util","c":"MultiValueMap","l":"entrySet()"},{"p":"proguard.classfile","c":"AccessConstants","l":"ENUM"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"ENUM"},{"p":"proguard.classfile.attribute.annotation","c":"EnumConstantElementValue","l":"EnumConstantElementValue()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"EnumConstantElementValue","l":"EnumConstantElementValue(int, int, int)","url":"%3Cinit%3E(int,int,int)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.EnumValue","l":"enumEntryName"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"enumEntryNames"},{"p":"proguard.classfile.util","c":"EnumFieldReferenceInitializer","l":"EnumFieldReferenceInitializer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.EnumValue","l":"EnumValue(String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.Epiogue","l":"Epiogue(DexLabel)","url":"%3Cinit%3E(proguard.dexfile.reader.DexLabel)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"EQ"},{"p":"proguard.evaluation.value","c":"ArrayReferenceValue","l":"equal(ArrayReferenceValue)","url":"equal(proguard.evaluation.value.ArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"equal(ArrayReferenceValue)","url":"equal(proguard.evaluation.value.ArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"equal(ArrayReferenceValue)","url":"equal(proguard.evaluation.value.ArrayReferenceValue)"},{"p":"proguard.util","c":"ArrayUtil","l":"equal(boolean[], boolean[], int)","url":"equal(boolean[],boolean[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"equal(byte[], byte[], int)","url":"equal(byte[],byte[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"equal(char[], char[], int)","url":"equal(char[],char[],int)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"equal(DetailedArrayReferenceValue)","url":"equal(proguard.evaluation.value.DetailedArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"equal(DetailedArrayReferenceValue)","url":"equal(proguard.evaluation.value.DetailedArrayReferenceValue)"},{"p":"proguard.util","c":"ArrayUtil","l":"equal(double[], double[], int)","url":"equal(double[],double[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"equal(float[], float[], int)","url":"equal(float[],float[],int)"},{"p":"proguard.evaluation.value","c":"IdentifiedArrayReferenceValue","l":"equal(IdentifiedArrayReferenceValue)","url":"equal(proguard.evaluation.value.IdentifiedArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"equal(IdentifiedArrayReferenceValue)","url":"equal(proguard.evaluation.value.IdentifiedArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"equal(IdentifiedArrayReferenceValue)","url":"equal(proguard.evaluation.value.IdentifiedArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"IdentifiedReferenceValue","l":"equal(IdentifiedReferenceValue)","url":"equal(proguard.evaluation.value.IdentifiedReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"equal(IdentifiedReferenceValue)","url":"equal(proguard.evaluation.value.IdentifiedReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"equal(IdentifiedReferenceValue)","url":"equal(proguard.evaluation.value.IdentifiedReferenceValue)"},{"p":"proguard.util","c":"ArrayUtil","l":"equal(int[], int[], int)","url":"equal(int[],int[],int)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"equal(IntegerValue)","url":"equal(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"equal(IntegerValue)","url":"equal(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"equal(IntegerValue)","url":"equal(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"equal(IntegerValue)","url":"equal(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"equal(IntegerValue)","url":"equal(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.util","c":"ArrayUtil","l":"equal(long[], long[], int)","url":"equal(long[],long[],int)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"equal(MultiTypedReferenceValue)","url":"equal(proguard.evaluation.value.MultiTypedReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"equal(MultiTypedReferenceValue)","url":"equal(proguard.evaluation.value.MultiTypedReferenceValue)"},{"p":"proguard.util","c":"ObjectUtil","l":"equal(Object, Object)","url":"equal(java.lang.Object,java.lang.Object)"},{"p":"proguard.util","c":"ArrayUtil","l":"equal(Object[], Object[], int)","url":"equal(java.lang.Object[],java.lang.Object[],int)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"equal(ParticularIntegerValue)","url":"equal(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"equal(ParticularIntegerValue)","url":"equal(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"equal(ParticularIntegerValue)","url":"equal(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"equal(ParticularReferenceValue)","url":"equal(proguard.evaluation.value.ParticularReferenceValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"equal(RangeIntegerValue)","url":"equal(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"equal(RangeIntegerValue)","url":"equal(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"equal(RangeIntegerValue)","url":"equal(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"equal(RangeIntegerValue)","url":"equal(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ArrayReferenceValue","l":"equal(ReferenceValue)","url":"equal(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"equal(ReferenceValue)","url":"equal(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"IdentifiedArrayReferenceValue","l":"equal(ReferenceValue)","url":"equal(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"IdentifiedReferenceValue","l":"equal(ReferenceValue)","url":"equal(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"equal(ReferenceValue)","url":"equal(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"equal(ReferenceValue)","url":"equal(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"equal(ReferenceValue)","url":"equal(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"equal(ReferenceValue)","url":"equal(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"equal(ReferenceValue)","url":"equal(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"UnknownReferenceValue","l":"equal(ReferenceValue)","url":"equal(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.util","c":"ArrayUtil","l":"equal(short[], short[], int)","url":"equal(short[],short[],int)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"equal(SpecificIntegerValue)","url":"equal(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"equal(SpecificIntegerValue)","url":"equal(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"equal(TracedReferenceValue)","url":"equal(proguard.evaluation.value.TracedReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"equal(TracedReferenceValue)","url":"equal(proguard.evaluation.value.TracedReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"equal(TypedReferenceValue)","url":"equal(proguard.evaluation.value.TypedReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"equal(TypedReferenceValue)","url":"equal(proguard.evaluation.value.TypedReferenceValue)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"equal(TypedReferenceValue)","url":"equal(proguard.evaluation.value.TypedReferenceValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"equal(UnknownIntegerValue)","url":"equal(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"equal(UnknownReferenceValue)","url":"equal(proguard.evaluation.value.UnknownReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"equal(UnknownReferenceValue)","url":"equal(proguard.evaluation.value.UnknownReferenceValue)"},{"p":"proguard.util","c":"ArrayUtil","l":"equalOrNull(Object[], Object[], int)","url":"equalOrNull(java.lang.Object[],java.lang.Object[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"equalOrNull(Object[], Object[])","url":"equalOrNull(java.lang.Object[],java.lang.Object[])"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWrapperState","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSink","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSource","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.interfaces","c":"AbstractState","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"BamLocationDependentJvmMemoryLocation","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState.StackEntry","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"Reference","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmReturnTaintSink","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSink","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSource","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueAbstractState","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"ValueAbstractState","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmForgetfulHeapAbstractState","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmHeapLocation","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmLocalVariableLocation","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmMemoryLocation","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmStackLocation","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmStaticFieldLocation","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.datastructure","c":"CodeLocation","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.datastructure","c":"FileLocation","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.datastructure.callgraph","c":"ConcreteCall","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.analysis.datastructure.callgraph","c":"SymbolicCall","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile","c":"BasicMethodInfo","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile","c":"FieldSignature","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile","c":"MethodSignature","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile","c":"Signature","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.attribute.preverification","c":"LessZeroFrame","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.attribute.preverification","c":"MoreZeroFrame","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.attribute.preverification","c":"ObjectType","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.attribute.preverification","c":"SameOneFrame","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedType","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"ClassConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"DoubleConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"FloatConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"IntegerConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"LongConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"ModuleConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"PackageConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.constant","c":"Utf8Constant","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor.Label","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer.Label","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.instruction","c":"LookUpSwitchInstruction","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.instruction","c":"SwitchInstruction","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.instruction","c":"TableSwitchInstruction","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.AnnotationValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ArrayValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ClassValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.EnumValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.LiteralValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.dexfile.reader","c":"Method","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.dexfile.reader","c":"Proto","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation","c":"Stack","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation","c":"TracedStack","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation","c":"TracedVariables","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation","c":"Variables","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ArrayReferenceValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ComparisonValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"CompositeDoubleValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"CompositeFloatValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ConvertedByteValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ConvertedCharacterValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ConvertedDoubleValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ConvertedFloatValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ConvertedIntegerValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ConvertedLongValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ConvertedShortValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"IdentifiedArrayReferenceValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"IdentifiedDoubleValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"IdentifiedFloatValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"IdentifiedIntegerValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"IdentifiedLongValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"IdentifiedReferenceValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"NegatedDoubleValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"NegatedFloatValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"NegatedIntegerValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"NegatedLongValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"TopValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value","c":"UnknownValue","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value.object.model","c":"ArrayModel","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.evaluation.value.object.model","c":"ClassModel","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.resources.file","c":"ResourceJavaReference","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"errorCode"},{"p":"proguard.exception","c":"ProguardCoreException.Builder","l":"errorParameters(Object...)","url":"errorParameters(java.lang.Object...)"},{"p":"proguard.util","c":"StringUtil","l":"escapeControlCharacters(String)","url":"escapeControlCharacters(java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"et"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"et"},{"p":"proguard.examples","c":"EvaluateCode","l":"EvaluateCode()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"evaluated"},{"p":"proguard.exception","c":"ErrorId","l":"EVALUATION_JAVA_REFLECTION_EXECUTOR"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"evaluationResults(Clazz, Method, CodeAttribute, PartialEvaluator)","url":"evaluationResults(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.PartialEvaluator)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"evaluationResults(Clazz, Method, CodeAttribute, PartialEvaluator)","url":"evaluationResults(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.PartialEvaluator)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"evaluationResults(Clazz, Method, CodeAttribute, PartialEvaluator)","url":"evaluationResults(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.PartialEvaluator)"},{"p":"proguard.classfile.constant.visitor","c":"ExceptClassConstantFilter","l":"ExceptClassConstantFilter(String, ConstantVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.visitor","c":"ExceptClassesFilter","l":"ExceptClassesFilter(Clazz[], ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.Clazz[],proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ExceptClassFilter","l":"ExceptClassFilter(Clazz, ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.analysis.cpa.interfaces","c":"CfaNode","l":"EXCEPTION_EXIT_NODE_OFFSET"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"EXCEPTION_HANDLER"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"EXCEPTION_REF"},{"p":"proguard.classfile.editor","c":"ExceptionAdder","l":"ExceptionAdder(ProgramClass, ExceptionsAttribute)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.visitor","c":"ExceptionCounter","l":"ExceptionCounter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"ExceptionsAttribute","l":"exceptionEntriesAccept(Clazz, ConstantVisitor)","url":"exceptionEntriesAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.visitor","c":"ExceptionExcludedOffsetFilter","l":"ExceptionExcludedOffsetFilter(int, ExceptionInfoVisitor)","url":"%3Cinit%3E(int,proguard.classfile.attribute.visitor.ExceptionInfoVisitor)"},{"p":"proguard.classfile.visitor","c":"ExceptionHandlerConstantVisitor","l":"ExceptionHandlerConstantVisitor(ConstantVisitor)","url":"%3Cinit%3E(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.visitor","c":"ExceptionHandlerFilter","l":"ExceptionHandlerFilter(int, int, ExceptionInfoVisitor)","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.visitor.ExceptionInfoVisitor)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"exceptionHandlers"},{"p":"proguard.dexfile.ir.ts","c":"ExceptionHandlerTrim","l":"ExceptionHandlerTrim()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"ExceptionInfo","l":"ExceptionInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"ExceptionInfo","l":"ExceptionInfo(int, int, int, int)","url":"%3Cinit%3E(int,int,int,int)"},{"p":"proguard.classfile.editor","c":"ExceptionInfoAdder","l":"ExceptionInfoAdder(ProgramClass, CodeAttributeComposer)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.editor.CodeAttributeComposer)"},{"p":"proguard.classfile.editor","c":"ExceptionInfoEditor","l":"ExceptionInfoEditor(CodeAttribute)","url":"%3Cinit%3E(proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.visitor","c":"ExceptionOffsetFilter","l":"ExceptionOffsetFilter(int, ExceptionInfoVisitor)","url":"%3Cinit%3E(int,proguard.classfile.attribute.visitor.ExceptionInfoVisitor)"},{"p":"proguard.classfile.visitor","c":"ExceptionRangeFilter","l":"ExceptionRangeFilter(int, int, ExceptionInfoVisitor)","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.visitor.ExceptionInfoVisitor)"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"EXCEPTIONS"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"exceptionsAccept(Clazz, Method, ExceptionInfoVisitor)","url":"exceptionsAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.ExceptionInfoVisitor)"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"exceptionsAccept(Clazz, Method, int, ExceptionInfoVisitor)","url":"exceptionsAccept(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.visitor.ExceptionInfoVisitor)"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"exceptionsAccept(Clazz, Method, int, int, ExceptionInfoVisitor)","url":"exceptionsAccept(proguard.classfile.Clazz,proguard.classfile.Method,int,int,proguard.classfile.attribute.visitor.ExceptionInfoVisitor)"},{"p":"proguard.classfile.attribute","c":"ExceptionsAttribute","l":"ExceptionsAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"ExceptionsAttribute","l":"ExceptionsAttribute(int, int, int[])","url":"%3Cinit%3E(int,int,int[])"},{"p":"proguard.classfile.editor","c":"ExceptionsAttributeEditor","l":"ExceptionsAttributeEditor(ExceptionsAttribute)","url":"%3Cinit%3E(proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"exceptionTable"},{"p":"proguard.exception","c":"ErrorId","l":"EXCESSIVE_COMPLEXITY"},{"p":"proguard.evaluation.exception","c":"ExcessiveComplexityException","l":"ExcessiveComplexityException(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.dexfile.ir.ts","c":"Ir2JRegAssignTransformer.Reg","l":"excludes"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer.RegAssign","l":"excludes"},{"p":"proguard.dexfile.ir.ts","c":"Cfg.FrameVisitor","l":"exec(T, Stmt)","url":"exec(T,proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"exec(T[], Stmt)","url":"exec(T[],proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.analysis.cpa.defaults","c":"CpaRun","l":"execute()"},{"p":"proguard.analysis.cpa.defaults","c":"SequentialCpaRun","l":"execute()"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmFrame","l":"execute(DexStmtNode, DvmInterpreter)","url":"execute(proguard.dexfile.reader.node.insn.DexStmtNode,proguard.dexfile.reader.node.analysis.DvmInterpreter)"},{"p":"proguard.util.kotlin.asserter","c":"KotlinMetadataAsserter","l":"execute(WarningLogger, ClassPool, ClassPool, ResourceFilePool)","url":"execute(proguard.classfile.util.WarningLogger,proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.resources.file.ResourceFilePool)"},{"p":"proguard.examples.util","c":"ExampleUtil","l":"executeMainMethod(ClassPool, String, String...)","url":"executeMainMethod(proguard.classfile.ClassPool,java.lang.String,java.lang.String...)"},{"p":"proguard.examples.util","c":"ExampleUtil","l":"executeMainMethod(ClassPool, String)","url":"executeMainMethod(proguard.classfile.ClassPool,java.lang.String)"},{"p":"proguard.examples.util","c":"ExampleUtil","l":"executeMainMethod(ProgramClass)","url":"executeMainMethod(proguard.classfile.ProgramClass)"},{"p":"proguard.examples.util","c":"ExampleUtil","l":"executeMethod(ClassPool, String, String, Class[], Object[])","url":"executeMethod(proguard.classfile.ClassPool,java.lang.String,java.lang.String,java.lang.Class[],java.lang.Object[])"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit","l":"executeMethod(ConcreteCall, Value...)","url":"executeMethod(proguard.analysis.datastructure.callgraph.ConcreteCall,proguard.evaluation.value.Value...)"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit","l":"executeMethod(Executor, MethodExecutionInfo)","url":"executeMethod(proguard.evaluation.executor.Executor,proguard.evaluation.executor.MethodExecutionInfo)"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper","l":"executeViaHandler(ModelHelper.MethodExecutionContext, Map, Model)","url":"executeViaHandler(proguard.evaluation.value.object.model.reflective.ModelHelper.MethodExecutionContext,java.util.Map,proguard.evaluation.value.object.model.Model)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"executingInvocationUnit"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit","l":"ExecutingInvocationUnit(ValueFactory, boolean, List)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,boolean,java.util.List)"},{"p":"proguard.evaluation.executor.instancehandler","c":"ExecutorMethodInstanceHandler","l":"ExecutorMethodInstanceHandler(Map)","url":"%3Cinit%3E(java.util.Map)"},{"p":"proguard.analysis","c":"DominatorCalculator","l":"EXIT_NODE_OFFSET"},{"p":"proguard.evaluation","c":"InvocationUnit","l":"exitMethod(Clazz, Method, Value)","url":"exitMethod(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"exitMethod(Clazz, Method, Value)","url":"exitMethod(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.value.Value)"},{"p":"proguard.analysis.cpa.bam","c":"ExpandOperator","l":"expand(AbstractState, AbstractState, CfaNodeT, Call)","url":"expand(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.AbstractState,CfaNodeT,proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintExpandOperator","l":"expand(AbstractState, AbstractState, JvmCfaNode, Call)","url":"expand(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis.cpa.jvm.operators","c":"JvmDefaultExpandOperator","l":"expand(AbstractState, AbstractState, JvmCfaNode, Call)","url":"expand(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmHeapAbstractState","l":"expand(JvmHeapAbstractState)","url":"expand(proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"expand(JvmHeapAbstractState)","url":"expand(proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"expandedType"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"expandedTypeAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeVisitor)","url":"expandedTypeAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.analysis.cpa.jvm.operators","c":"JvmDefaultExpandOperator","l":"expandHeap(JvmHeapAbstractState, JvmHeapAbstractState)","url":"expandHeap(proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState)"},{"p":"proguard.exception","c":"ErrorId","l":"EXPECTED_ARRAY"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"exports"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"exportsAccept(Clazz, ExportsInfoVisitor)","url":"exportsAccept(proguard.classfile.Clazz,proguard.classfile.attribute.module.visitor.ExportsInfoVisitor)"},{"p":"proguard.classfile.attribute.module","c":"ExportsInfo","l":"ExportsInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.module","c":"ExportsInfo","l":"ExportsInfo(int, int, int, int[])","url":"%3Cinit%3E(int,int,int,int[])"},{"p":"proguard.classfile.attribute.module","c":"ExportsInfo","l":"exportsToIndexAccept(Clazz, ConstantVisitor)","url":"exportsToIndexAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"extend(int)"},{"p":"proguard.classfile.editor","c":"InstructionWriter","l":"extend(int)"},{"p":"proguard.util","c":"ArrayUtil","l":"extendArray(boolean[], int)","url":"extendArray(boolean[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"extendArray(byte[], int)","url":"extendArray(byte[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"extendArray(char[], int)","url":"extendArray(char[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"extendArray(double[], int)","url":"extendArray(double[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"extendArray(float[], int)","url":"extendArray(float[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"extendArray(int[], int)","url":"extendArray(int[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"extendArray(long[], int)","url":"extendArray(long[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"extendArray(short[], int)","url":"extendArray(short[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"extendArray(T[], int)","url":"extendArray(T[],int)"},{"p":"proguard.classfile.attribute","c":"ExtendedLineNumberInfo","l":"ExtendedLineNumberInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"ExtendedLineNumberInfo","l":"ExtendedLineNumberInfo(int, int, String)","url":"%3Cinit%3E(int,int,java.lang.String)"},{"p":"proguard.classfile","c":"Clazz","l":"extends_(Clazz)","url":"extends_(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"LibraryClass","l":"extends_(Clazz)","url":"extends_(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"ProgramClass","l":"extends_(Clazz)","url":"extends_(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"Clazz","l":"extends_(String)","url":"extends_(java.lang.String)"},{"p":"proguard.classfile","c":"LibraryClass","l":"extends_(String)","url":"extends_(java.lang.String)"},{"p":"proguard.classfile","c":"ProgramClass","l":"extends_(String)","url":"extends_(java.lang.String)"},{"p":"proguard.classfile.attribute.annotation.target","c":"SuperTypeTargetInfo","l":"EXTENDS_INDEX"},{"p":"proguard.classfile","c":"Clazz","l":"extendsOrImplements(Clazz)","url":"extendsOrImplements(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"LibraryClass","l":"extendsOrImplements(Clazz)","url":"extendsOrImplements(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"ProgramClass","l":"extendsOrImplements(Clazz)","url":"extendsOrImplements(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"Clazz","l":"extendsOrImplements(String)","url":"extendsOrImplements(java.lang.String)"},{"p":"proguard.classfile","c":"LibraryClass","l":"extendsOrImplements(String)","url":"extendsOrImplements(java.lang.String)"},{"p":"proguard.classfile","c":"ProgramClass","l":"extendsOrImplements(String)","url":"extendsOrImplements(java.lang.String)"},{"p":"proguard.util","c":"ExtensionMatcher","l":"ExtensionMatcher(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalArrayTypeDimensionCount(String)","url":"externalArrayTypeDimensionCount(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalBaseType(String)","url":"externalBaseType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalClassAccessFlags(int, String)","url":"externalClassAccessFlags(int,java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalClassAccessFlags(int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalClassForNameType(String)","url":"externalClassForNameType(java.lang.String)"},{"p":"proguard.resources.file","c":"ResourceJavaReference","l":"externalClassName"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalClassName(String)","url":"externalClassName(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalClassVersion(int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalExportsAccessFlags(int, String)","url":"externalExportsAccessFlags(int,java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalExportsAccessFlags(int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalFieldAccessFlags(int, String)","url":"externalFieldAccessFlags(int,java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalFieldAccessFlags(int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalFullClassDescription(int, String)","url":"externalFullClassDescription(int,java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalFullFieldDescription(int, String, String)","url":"externalFullFieldDescription(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalFullMethodDescription(String, int, String, String)","url":"externalFullMethodDescription(java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalMethodAccessFlags(int, String)","url":"externalMethodAccessFlags(int,java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalMethodAccessFlags(int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalMethodArguments(String)","url":"externalMethodArguments(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalMethodName(String)","url":"externalMethodName(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalMethodReturnType(String)","url":"externalMethodReturnType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalModuleAccessFlags(int, String)","url":"externalModuleAccessFlags(int,java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalModuleAccessFlags(int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalOpensAccessFlags(int, String)","url":"externalOpensAccessFlags(int,java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalOpensAccessFlags(int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalPackageName(String)","url":"externalPackageName(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalPackagePrefix(String)","url":"externalPackagePrefix(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalParameterAccessFlags(int, String)","url":"externalParameterAccessFlags(int,java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalParameterAccessFlags(int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalRequiresAccessFlags(int, String)","url":"externalRequiresAccessFlags(int,java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalRequiresAccessFlags(int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalShortClassName(String)","url":"externalShortClassName(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"externalType(String)","url":"externalType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ExternalTypeEnumeration","l":"ExternalTypeEnumeration(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"TraceExtractor","l":"extractLinearTraces()"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmHeapLocation","l":"extractValueOrDefault(JvmAbstractState, T)","url":"extractValueOrDefault(proguard.analysis.cpa.jvm.state.JvmAbstractState,T)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmLocalVariableLocation","l":"extractValueOrDefault(JvmAbstractState, T)","url":"extractValueOrDefault(proguard.analysis.cpa.jvm.state.JvmAbstractState,T)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmMemoryLocation","l":"extractValueOrDefault(JvmAbstractState, T)","url":"extractValueOrDefault(proguard.analysis.cpa.jvm.state.JvmAbstractState,T)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmStackLocation","l":"extractValueOrDefault(JvmAbstractState, T)","url":"extractValueOrDefault(proguard.analysis.cpa.jvm.state.JvmAbstractState,T)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmStaticFieldLocation","l":"extractValueOrDefault(JvmAbstractState, T)","url":"extractValueOrDefault(proguard.analysis.cpa.jvm.state.JvmAbstractState,T)"},{"p":"proguard.util","c":"SimpleFeatureNamedProcessable","l":"extraFeatureNames"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"extraTaintPropagationLocations"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"F"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"F"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"f2d()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"f2d()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"f2i()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"f2i()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"f2l()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"f2l()"},{"p":"proguard.classfile.constant","c":"FloatConstant","l":"f4value"},{"p":"proguard.classfile.constant","c":"DoubleConstant","l":"f8value"},{"p":"proguard.classfile.kotlin","c":"KotlinMultiFilePartKindMetadata","l":"facadeName"},{"p":"proguard.backport","c":"LambdaExpression","l":"factoryMethodDescriptor"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fadd()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fadd()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"faload()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"faload()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fastore()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fastore()"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"FCMPG"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fcmpg()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fcmpg()"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"FCMPL"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fcmpl()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fcmpl()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fconst_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fconst_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fconst_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fconst_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fconst_2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fconst_2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fconst(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fconst(int)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"FDIV"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fdiv()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fdiv()"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"FEATURE_ZIP_CLASSES_DEX_EXPRESSION"},{"p":"proguard.util","c":"SimpleFeatureNamedProcessable","l":"featureName"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmHeapLocation","l":"field"},{"p":"proguard.dexfile.reader.node","c":"DexFieldNode","l":"field"},{"p":"proguard.dexfile.reader.node.insn","c":"FieldStmtNode","l":"field"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"FIELD"},{"p":"proguard.examples.modify","c":"EditClass","l":"FIELD_NAME_OUT"},{"p":"proguard.classfile","c":"ClassConstants","l":"FIELD_NAME_TYPE"},{"p":"proguard.classfile","c":"ClassConstants","l":"FIELD_TYPE_TYPE"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"FIELD_VALUE"},{"p":"proguard.dexfile.reader","c":"Field","l":"Field(String, String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile","c":"Clazz","l":"fieldAccept(String, String, MemberVisitor)","url":"fieldAccept(java.lang.String,java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"fieldAccept(String, String, MemberVisitor)","url":"fieldAccept(java.lang.String,java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"fieldAccept(String, String, MemberVisitor)","url":"fieldAccept(java.lang.String,java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.dexfile.ir.expr","c":"FieldExpr","l":"FieldExpr(Value, String, String, String)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value,java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.constant","c":"Constant","l":"FIELDREF"},{"p":"proguard.classfile.constant","c":"FieldrefConstant","l":"FieldrefConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"FieldrefConstant","l":"FieldrefConstant(int, int, Clazz, Field)","url":"%3Cinit%3E(int,int,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile","c":"LibraryClass","l":"fields"},{"p":"proguard.classfile","c":"ProgramClass","l":"fields"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"fields"},{"p":"proguard.classfile","c":"Clazz","l":"fieldsAccept(MemberVisitor)","url":"fieldsAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"fieldsAccept(MemberVisitor)","url":"fieldsAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"fieldsAccept(MemberVisitor)","url":"fieldsAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"FieldSignature","l":"FieldSignature(Clazz, Field)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile","c":"FieldSignature","l":"FieldSignature(String, String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.dexfile.reader.node.insn","c":"FieldStmtNode","l":"FieldStmtNode(Op, int, int, Field)","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int,int,proguard.dexfile.reader.Field)"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.MODULE","l":"FILE_EXPRESSION"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.MODULE","l":"FILE_EXTENSION"},{"p":"proguard.io","c":"FileDataEntry","l":"FileDataEntry(File, File)","url":"%3Cinit%3E(java.io.File,java.io.File)"},{"p":"proguard.io","c":"FileDataEntry","l":"FileDataEntry(File)","url":"%3Cinit%3E(java.io.File)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"FileFacadeIntegrity","l":"FileFacadeIntegrity()","url":"%3Cinit%3E()"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModulePackage","l":"fileFacadeNames"},{"p":"proguard.analysis.datastructure","c":"FileLocation","l":"FileLocation(String, int, String)","url":"%3Cinit%3E(java.lang.String,int,java.lang.String)"},{"p":"proguard.analysis.datastructure","c":"FileLocation","l":"FileLocation(String, int)","url":"%3Cinit%3E(java.lang.String,int)"},{"p":"proguard.analysis.datastructure","c":"FileLocation","l":"filename"},{"p":"proguard.resources.file","c":"ResourceFile","l":"fileName"},{"p":"proguard.util","c":"FileNameParser","l":"FileNameParser()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"FileNameParser","l":"FileNameParser(WildcardManager)","url":"%3Cinit%3E(proguard.util.WildcardManager)"},{"p":"proguard.resources.file.util","c":"FilePoolNameFunction","l":"FilePoolNameFunction(FilePool, String)","url":"%3Cinit%3E(proguard.resources.file.FilePool,java.lang.String)"},{"p":"proguard.resources.file.util","c":"FilePoolNameFunction","l":"FilePoolNameFunction(FilePool)","url":"%3Cinit%3E(proguard.resources.file.FilePool)"},{"p":"proguard.resources.file","c":"ResourceFile","l":"fileSize"},{"p":"proguard.io","c":"FileSource","l":"FileSource(File, File)","url":"%3Cinit%3E(java.io.File,java.io.File)"},{"p":"proguard.io","c":"FileSource","l":"FileSource(File)","url":"%3Cinit%3E(java.io.File)"},{"p":"proguard.io","c":"FileSource","l":"FileSource(FileDataEntry)","url":"%3Cinit%3E(proguard.io.FileDataEntry)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"FILL_ARRAY_DATA"},{"p":"proguard.dexfile.reader","c":"Op","l":"FILL_ARRAY_DATA"},{"p":"proguard.dexfile.reader.node.insn","c":"FillArrayDataStmtNode","l":"FillArrayDataStmtNode(Op, int, Object)","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int,java.lang.Object)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"FILLED_ARRAY"},{"p":"proguard.dexfile.reader","c":"Op","l":"FILLED_NEW_ARRAY"},{"p":"proguard.dexfile.reader","c":"Op","l":"FILLED_NEW_ARRAY_RANGE"},{"p":"proguard.dexfile.ir.expr","c":"FilledArrayExpr","l":"FilledArrayExpr(Value[], String)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value[],java.lang.String)"},{"p":"proguard.dexfile.reader.node.insn","c":"FilledNewArrayStmtNode","l":"FilledNewArrayStmtNode(Op, int[], String)","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int[],java.lang.String)"},{"p":"proguard.util","c":"ListUtil","l":"filter(Collection, StringMatcher)","url":"filter(java.util.Collection,proguard.util.StringMatcher)"},{"p":"proguard.classfile.visitor","c":"FilteredClassVisitor","l":"FilteredClassVisitor(String, ClassVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"FilteredClassVisitor","l":"FilteredClassVisitor(StringMatcher, ClassVisitor)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.io","c":"FilteredDataEntryReader","l":"FilteredDataEntryReader(DataEntryFilter, DataEntryReader, DataEntryReader)","url":"%3Cinit%3E(proguard.io.DataEntryFilter,proguard.io.DataEntryReader,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"FilteredDataEntryReader","l":"FilteredDataEntryReader(DataEntryFilter, DataEntryReader)","url":"%3Cinit%3E(proguard.io.DataEntryFilter,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"FilteredDataEntryWriter","l":"FilteredDataEntryWriter(DataEntryFilter, DataEntryWriter, DataEntryWriter)","url":"%3Cinit%3E(proguard.io.DataEntryFilter,proguard.io.DataEntryWriter,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"FilteredDataEntryWriter","l":"FilteredDataEntryWriter(DataEntryFilter, DataEntryWriter)","url":"%3Cinit%3E(proguard.io.DataEntryFilter,proguard.io.DataEntryWriter)"},{"p":"proguard.util","c":"FilteredStringFunction","l":"FilteredStringFunction(String, StringFunction, StringFunction)","url":"%3Cinit%3E(java.lang.String,proguard.util.StringFunction,proguard.util.StringFunction)"},{"p":"proguard.util","c":"FilteredStringFunction","l":"FilteredStringFunction(StringMatcher, StringFunction, StringFunction)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.util.StringFunction,proguard.util.StringFunction)"},{"p":"proguard.classfile","c":"AccessConstants","l":"FINAL"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"FINAL"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"finalMatch(Clazz, Method, CodeAttribute, int, Instruction)","url":"finalMatch(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"AttributesEditor","l":"findAttribute(String)","url":"findAttribute(java.lang.String)"},{"p":"proguard.examples","c":"FindBranches","l":"FindBranches()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"ClassPoolClassLoader","l":"findClass(String)","url":"findClass(java.lang.String)"},{"p":"proguard.classfile.util","c":"MemberFinder","l":"findField(Clazz, Clazz, String, String)","url":"findField(proguard.classfile.Clazz,proguard.classfile.Clazz,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"MemberFinder","l":"findField(Clazz, String, String)","url":"findField(proguard.classfile.Clazz,java.lang.String,java.lang.String)"},{"p":"proguard.classfile","c":"Clazz","l":"findField(String, String)","url":"findField(java.lang.String,java.lang.String)"},{"p":"proguard.classfile","c":"LibraryClass","l":"findField(String, String)","url":"findField(java.lang.String,java.lang.String)"},{"p":"proguard.classfile","c":"ProgramClass","l":"findField(String, String)","url":"findField(java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"MemberFinder","l":"findMember(Clazz, Clazz, String, String, boolean)","url":"findMember(proguard.classfile.Clazz,proguard.classfile.Clazz,java.lang.String,java.lang.String,boolean)"},{"p":"proguard.classfile.util","c":"MemberFinder","l":"findMember(Clazz, String, String, boolean)","url":"findMember(proguard.classfile.Clazz,java.lang.String,java.lang.String,boolean)"},{"p":"proguard.classfile.util","c":"MemberFinder","l":"findMethod(Clazz, Clazz, String, String)","url":"findMethod(proguard.classfile.Clazz,proguard.classfile.Clazz,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"MemberFinder","l":"findMethod(Clazz, String, String)","url":"findMethod(proguard.classfile.Clazz,java.lang.String,java.lang.String)"},{"p":"proguard.classfile","c":"Clazz","l":"findMethod(String, String)","url":"findMethod(java.lang.String,java.lang.String)"},{"p":"proguard.classfile","c":"LibraryClass","l":"findMethod(String, String)","url":"findMethod(java.lang.String,java.lang.String)"},{"p":"proguard.classfile","c":"ProgramClass","l":"findMethod(String, String)","url":"findMethod(java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"NestHostFinder","l":"findNestHostClassName(Clazz)","url":"findNestHostClassName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"findOrAddConstant(Constant)","url":"findOrAddConstant(proguard.classfile.constant.Constant)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"fineName"},{"p":"proguard.io","c":"Finisher","l":"finish()"},{"p":"proguard.io","c":"JarWriter","l":"finish()"},{"p":"proguard.io","c":"SignedJarWriter","l":"finish()"},{"p":"proguard.io","c":"JarWriter","l":"finishIfNecessary(DataEntry)","url":"finishIfNecessary(proguard.io.DataEntry)"},{"p":"proguard.dexfile.reader.node.insn","c":"PackedSwitchStmtNode","l":"first_case"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"fixed"},{"p":"proguard.io","c":"FixedFileWriter","l":"FixedFileWriter(File)","url":"%3Cinit%3E(java.io.File)"},{"p":"proguard.util","c":"FixedStringMatcher","l":"FixedStringMatcher(String, StringMatcher)","url":"%3Cinit%3E(java.lang.String,proguard.util.StringMatcher)"},{"p":"proguard.util","c":"FixedStringMatcher","l":"FixedStringMatcher(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.dexfile.converter","c":"DexFix","l":"fixStaticFinalFieldValue(DexClassNode)","url":"fixStaticFinalFieldValue(proguard.dexfile.reader.node.DexClassNode)"},{"p":"proguard.dexfile.converter","c":"DexFix","l":"fixStaticFinalFieldValue(DexFileNode)","url":"fixStaticFinalFieldValue(proguard.dexfile.reader.node.DexFileNode)"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodInfo","l":"FLAG_BRIDGES"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodInfo","l":"FLAG_MARKERS"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodInfo","l":"FLAG_SERIALIZABLE"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"flags"},{"p":"proguard.classfile.kotlin","c":"KotlinConstructorMetadata","l":"flags"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectExpressionMetadata","l":"flags"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"flags"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"flags"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"flags"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"flags"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"flags"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"flags"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata","l":"flavor"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"flexibilityID"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fload_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fload_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fload_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fload_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fload_2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fload_2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fload_3()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fload_3()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fload(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fload(int)"},{"p":"proguard.evaluation","c":"Variables","l":"fload(int)"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"FLOAT"},{"p":"proguard.classfile","c":"TypeConstants","l":"FLOAT"},{"p":"proguard.classfile.constant","c":"Constant","l":"FLOAT"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"FLOAT"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"FLOAT_A_STRING"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"FLOAT_B_STRING"},{"p":"proguard.dexfile.reader","c":"Op","l":"FLOAT_TO_DOUBLE"},{"p":"proguard.dexfile.reader","c":"Op","l":"FLOAT_TO_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"FLOAT_TO_LONG"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"FLOAT_TYPE"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"FLOAT_VALUE"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"floatArrayLoad(IntegerValue, ValueFactory)","url":"floatArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"floatArrayLoad(IntegerValue, ValueFactory)","url":"floatArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"floatArrayLoad(IntegerValue, ValueFactory)","url":"floatArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"floatArrayLoad(IntegerValue, ValueFactory)","url":"floatArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.classfile.constant","c":"FloatConstant","l":"FloatConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"FloatConstant","l":"FloatConstant(float)","url":"%3Cinit%3E(float)"},{"p":"proguard.classfile.attribute.preverification","c":"FloatType","l":"FloatType()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"floatValue()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"floatValue()"},{"p":"proguard.evaluation.value","c":"Value","l":"floatValue()"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"FloatValue()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.FloatValue","l":"FloatValue(float)","url":"%3Cinit%3E(float)"},{"p":"proguard.analysis","c":"Metrics","l":"flush()"},{"p":"proguard.classfile.util.renderer.core","c":"StringListWriter","l":"flush()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fmul()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fmul()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fneg()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fneg()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"followerHeapNodeMapAbstractStateFactory"},{"p":"proguard.examples.instrument","c":"DebugStackTopExample","l":"foo(String)","url":"foo(java.lang.String)"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWaitlist","l":"forEach(Consumer)","url":"forEach(java.util.function.Consumer)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"HeapModel","l":"FORGETFUL"},{"p":"proguard.classfile.attribute.annotation.target","c":"FormalParameterTargetInfo","l":"FormalParameterTargetInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.target","c":"FormalParameterTargetInfo","l":"FormalParameterTargetInfo(byte, int)","url":"%3Cinit%3E(byte,int)"},{"p":"proguard.classfile.attribute.annotation.target","c":"FormalParameterTargetInfo","l":"FormalParameterTargetInfo(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.classfile.util","c":"InternalTypeEnumeration","l":"formalTypeParameters()"},{"p":"proguard.dexfile.reader","c":"Op","l":"format"},{"p":"proguard.evaluation","c":"Stack","l":"fpop()"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmStaticFieldLocation","l":"fqn"},{"p":"proguard.classfile","c":"Signature","l":"fqn"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModulePackage","l":"fqName"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"frame"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"frame"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"frem()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"frem()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"freturn()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"freturn()"},{"p":"proguard.dexfile.ir.expr","c":"CastExpr","l":"from"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fstore_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fstore_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fstore_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fstore_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fstore_2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fstore_2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fstore_3()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fstore_3()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fstore(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fstore(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"fsub()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"fsub()"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"FULL_FRAME"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"FullFrame()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"FullFrame(int, int, VerificationType[], int, VerificationType[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.preverification.VerificationType[],int,proguard.classfile.attribute.preverification.VerificationType[])"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"FullFrame(int, VerificationType[], VerificationType[])","url":"%3Cinit%3E(int,proguard.classfile.attribute.preverification.VerificationType[],proguard.classfile.attribute.preverification.VerificationType[])"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"FUNCTION_NAME_ANONYMOUS"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"FUNCTION_NAME_MANGLE_SEPARATOR"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"FUNCTION_REFERENCE_CLASS_NAME"},{"p":"proguard.classfile.visitor","c":"FunctionalInterfaceFilter","l":"FunctionalInterfaceFilter(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"FunctionIntegrity","l":"FunctionIntegrity()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.defaults","c":"Cfa","l":"functionNodes"},{"p":"proguard.classfile.kotlin.reflect","c":"FunctionReferenceInfo","l":"FunctionReferenceInfo(Clazz, KotlinDeclarationContainerMetadata, KotlinFunctionMetadata)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"functions"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata","l":"functions"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"functionsAccept(Clazz, KotlinFunctionVisitor)","url":"functionsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinFunctionVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata","l":"functionsAccept(Clazz, KotlinFunctionVisitor)","url":"functionsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinFunctionVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"G"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"G"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"gArrayValues"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"GE"},{"p":"proguard.evaluation.value","c":"ArrayReferenceValue","l":"generalize(ArrayReferenceValue)","url":"generalize(proguard.evaluation.value.ArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"generalize(ArrayReferenceValue)","url":"generalize(proguard.evaluation.value.ArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"generalize(ArrayReferenceValue)","url":"generalize(proguard.evaluation.value.ArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"generalize(DetailedArrayReferenceValue)","url":"generalize(proguard.evaluation.value.DetailedArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"generalize(DetailedArrayReferenceValue)","url":"generalize(proguard.evaluation.value.DetailedArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"generalize(DoubleValue)","url":"generalize(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"generalize(DoubleValue)","url":"generalize(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"generalize(DoubleValue)","url":"generalize(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"generalize(DoubleValue)","url":"generalize(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"generalize(FloatValue)","url":"generalize(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"generalize(FloatValue)","url":"generalize(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"generalize(FloatValue)","url":"generalize(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"generalize(FloatValue)","url":"generalize(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"IdentifiedArrayReferenceValue","l":"generalize(IdentifiedArrayReferenceValue)","url":"generalize(proguard.evaluation.value.IdentifiedArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"generalize(IdentifiedArrayReferenceValue)","url":"generalize(proguard.evaluation.value.IdentifiedArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"generalize(IdentifiedArrayReferenceValue)","url":"generalize(proguard.evaluation.value.IdentifiedArrayReferenceValue)"},{"p":"proguard.evaluation.value","c":"IdentifiedReferenceValue","l":"generalize(IdentifiedReferenceValue)","url":"generalize(proguard.evaluation.value.IdentifiedReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"generalize(IdentifiedReferenceValue)","url":"generalize(proguard.evaluation.value.IdentifiedReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"generalize(IdentifiedReferenceValue)","url":"generalize(proguard.evaluation.value.IdentifiedReferenceValue)"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"generalize(InstructionOffsetValue)","url":"generalize(proguard.evaluation.value.InstructionOffsetValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"generalize(IntegerValue)","url":"generalize(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"generalize(IntegerValue)","url":"generalize(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"generalize(IntegerValue)","url":"generalize(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"generalize(IntegerValue)","url":"generalize(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"generalize(IntegerValue)","url":"generalize(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"generalize(LongValue)","url":"generalize(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"generalize(LongValue)","url":"generalize(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"generalize(LongValue)","url":"generalize(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"generalize(LongValue)","url":"generalize(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"generalize(MultiTypedReferenceValue)","url":"generalize(proguard.evaluation.value.MultiTypedReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"generalize(MultiTypedReferenceValue)","url":"generalize(proguard.evaluation.value.MultiTypedReferenceValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"generalize(ParticularDoubleValue)","url":"generalize(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"generalize(ParticularDoubleValue)","url":"generalize(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"generalize(ParticularFloatValue)","url":"generalize(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"generalize(ParticularFloatValue)","url":"generalize(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"generalize(ParticularIntegerValue)","url":"generalize(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"generalize(ParticularIntegerValue)","url":"generalize(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"generalize(ParticularIntegerValue)","url":"generalize(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"generalize(ParticularLongValue)","url":"generalize(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"generalize(ParticularLongValue)","url":"generalize(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"generalize(ParticularReferenceValue)","url":"generalize(proguard.evaluation.value.ParticularReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"generalize(ParticularReferenceValue)","url":"generalize(proguard.evaluation.value.ParticularReferenceValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"generalize(RangeIntegerValue)","url":"generalize(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"generalize(RangeIntegerValue)","url":"generalize(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"generalize(RangeIntegerValue)","url":"generalize(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"generalize(RangeIntegerValue)","url":"generalize(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ArrayReferenceValue","l":"generalize(ReferenceValue)","url":"generalize(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"generalize(ReferenceValue)","url":"generalize(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"IdentifiedArrayReferenceValue","l":"generalize(ReferenceValue)","url":"generalize(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"IdentifiedReferenceValue","l":"generalize(ReferenceValue)","url":"generalize(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"generalize(ReferenceValue)","url":"generalize(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"generalize(ReferenceValue)","url":"generalize(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"generalize(ReferenceValue)","url":"generalize(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"generalize(ReferenceValue)","url":"generalize(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"generalize(ReferenceValue)","url":"generalize(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"UnknownReferenceValue","l":"generalize(ReferenceValue)","url":"generalize(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"generalize(Set)","url":"generalize(java.util.Set)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"generalize(SpecificDoubleValue)","url":"generalize(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"generalize(SpecificDoubleValue)","url":"generalize(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"generalize(SpecificFloatValue)","url":"generalize(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"generalize(SpecificFloatValue)","url":"generalize(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"generalize(SpecificIntegerValue)","url":"generalize(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"generalize(SpecificIntegerValue)","url":"generalize(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"generalize(SpecificLongValue)","url":"generalize(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"generalize(SpecificLongValue)","url":"generalize(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation","c":"Stack","l":"generalize(Stack)","url":"generalize(proguard.evaluation.Stack)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"generalize(TracedReferenceValue)","url":"generalize(proguard.evaluation.value.TracedReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"generalize(TracedReferenceValue)","url":"generalize(proguard.evaluation.value.TracedReferenceValue)"},{"p":"proguard.evaluation","c":"TracedStack","l":"generalize(TracedStack)","url":"generalize(proguard.evaluation.TracedStack)"},{"p":"proguard.evaluation","c":"TracedVariables","l":"generalize(TracedVariables, boolean)","url":"generalize(proguard.evaluation.TracedVariables,boolean)"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"generalize(TracingValue)","url":"generalize(proguard.evaluation.value.TracingValue)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"generalize(TypedReferenceValue)","url":"generalize(proguard.evaluation.value.TypedReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"generalize(TypedReferenceValue)","url":"generalize(proguard.evaluation.value.TypedReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"generalize(TypedReferenceValue)","url":"generalize(proguard.evaluation.value.TypedReferenceValue)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"generalize(TypedReferenceValue)","url":"generalize(proguard.evaluation.value.TypedReferenceValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"generalize(UnknownIntegerValue)","url":"generalize(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"generalize(UnknownReferenceValue)","url":"generalize(proguard.evaluation.value.UnknownReferenceValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"generalize(UnknownReferenceValue)","url":"generalize(proguard.evaluation.value.UnknownReferenceValue)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"generalize(UnknownReferenceValue)","url":"generalize(proguard.evaluation.value.UnknownReferenceValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"generalize(Value)","url":"generalize(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"generalize(Value)","url":"generalize(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"generalize(Value)","url":"generalize(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"generalize(Value)","url":"generalize(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"generalize(Value)","url":"generalize(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"generalize(Value)","url":"generalize(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"TopValue","l":"generalize(Value)","url":"generalize(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"generalize(Value)","url":"generalize(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"UnknownValue","l":"generalize(Value)","url":"generalize(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"Value","l":"generalize(Value)","url":"generalize(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"Variables","l":"generalize(Variables, boolean)","url":"generalize(proguard.evaluation.Variables,boolean)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"generalizeInstructionBlock(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int)","url":"generalizeInstructionBlock(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"generalizeInstructionBlock(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int)","url":"generalizeInstructionBlock(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"generalizeInstructionBlock(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int)","url":"generalizeInstructionBlock(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"generalizeMayBeNull(boolean)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"generalizeSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int)","url":"generalizeSubroutine(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int,int)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"generalizeSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int)","url":"generalizeSubroutine(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int,int)"},{"p":"proguard.analysis.cpa.bam","c":"BamTransferRelation","l":"generateAbstractSuccessors(AbstractState, Precision)","url":"generateAbstractSuccessors(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.defaults","c":"SingleWrapperTransferRelation","l":"generateAbstractSuccessors(AbstractState, Precision)","url":"generateAbstractSuccessors(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.interfaces","c":"ProgramLocationDependentTransferRelation","l":"generateAbstractSuccessors(AbstractState, Precision)","url":"generateAbstractSuccessors(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.interfaces","c":"TransferRelation","l":"generateAbstractSuccessors(AbstractState, Precision)","url":"generateAbstractSuccessors(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationTransferRelation","l":"generateAbstractSuccessors(AbstractState, Precision)","url":"generateAbstractSuccessors(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceTransferRelation","l":"generateEdgeAbstractSuccessor(AbstractState, JvmCfaEdge, Precision)","url":"generateEdgeAbstractSuccessor(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"generateEdgeAbstractSuccessor(AbstractState, JvmCfaEdge, Precision)","url":"generateEdgeAbstractSuccessor(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.interfaces","c":"ProgramLocationDependentTransferRelation","l":"generateEdgeAbstractSuccessors(AbstractState, CfaEdgeT, Precision)","url":"generateEdgeAbstractSuccessors(proguard.analysis.cpa.interfaces.AbstractState,CfaEdgeT,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceTransferRelation","l":"generateEdgeAbstractSuccessors(AbstractState, JvmCfaEdge, Precision)","url":"generateEdgeAbstractSuccessors(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintTransferRelation","l":"generateEdgeAbstractSuccessors(AbstractState, JvmCfaEdge, Precision)","url":"generateEdgeAbstractSuccessors(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"generateEdgeAbstractSuccessors(AbstractState, JvmCfaEdge, Precision)","url":"generateEdgeAbstractSuccessors(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinNameUtil","l":"generateGetterName(String)","url":"generateGetterName(java.lang.String)"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor","l":"generateMethodSignaturesForModel(ReflectiveModelExecutor.SupportedModelInfo, HierarchyProvider)","url":"generateMethodSignaturesForModel(proguard.evaluation.executor.ReflectiveModelExecutor.SupportedModelInfo,proguard.util.HierarchyProvider)"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"generateReferenceId()"},{"p":"proguard.classfile.util.kotlin","c":"KotlinNameUtil","l":"generateSetterName(String)","url":"generateSetterName(java.lang.String)"},{"p":"proguard.classfile","c":"TypeConstants","l":"GENERIC_BOUND"},{"p":"proguard.classfile","c":"TypeConstants","l":"GENERIC_END"},{"p":"proguard.classfile","c":"TypeConstants","l":"GENERIC_START"},{"p":"proguard.classfile","c":"TypeConstants","l":"GENERIC_VARIABLE_START"},{"p":"proguard.classfile.util.kotlin","c":"KotlinNameUtil","l":"GET_PREFIX"},{"p":"proguard.analysis.cpa.bam","c":"BamCache","l":"get(AbstractState, Precision, SignatureT)","url":"get(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision,SignatureT)"},{"p":"proguard.analysis.cpa.bam","c":"BamCacheImpl","l":"get(AbstractState, Precision, SignatureT)","url":"get(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision,SignatureT)"},{"p":"proguard.io","c":"ClassPath","l":"get(int)"},{"p":"proguard.util","c":"MultiValueMap","l":"get(K)"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"get(Object)","url":"get(java.lang.Object)"},{"p":"proguard.analysis.cpa.bam","c":"BamCache","l":"get(Precision, SignatureT)","url":"get(proguard.analysis.cpa.interfaces.Precision,SignatureT)"},{"p":"proguard.analysis.cpa.bam","c":"BamCacheImpl","l":"get(Precision, SignatureT)","url":"get(proguard.analysis.cpa.interfaces.Precision,SignatureT)"},{"p":"proguard.analysis.cpa.bam","c":"BamCache","l":"get(SignatureT)"},{"p":"proguard.analysis.cpa.bam","c":"BamCacheImpl","l":"get(SignatureT)"},{"p":"proguard.io","c":"ClassPathEntry","l":"getAabFilter()"},{"p":"proguard.io","c":"ClassPathEntry","l":"getAarFilter()"},{"p":"proguard.analysis.cpa.defaults","c":"CpaRun","l":"getAbortOperator()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"getAbstractByteConstant(byte)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"getAbstractByteConstant(byte)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceTransferRelation","l":"getAbstractDefault()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintTransferRelation","l":"getAbstractDefault()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"getAbstractDefault()"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"getAbstractDefault()"},{"p":"proguard.analysis.cpa.bam","c":"BamCpa","l":"getAbstractDomain()"},{"p":"proguard.analysis.cpa.defaults","c":"SimpleCpa","l":"getAbstractDomain()"},{"p":"proguard.analysis.cpa.interfaces","c":"ConfigurableProgramAnalysis","l":"getAbstractDomain()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"getAbstractDoubleConstant(double)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"getAbstractDoubleConstant(double)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"getAbstractFloatConstant(float)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"getAbstractFloatConstant(float)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"getAbstractIntegerConstant(int)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"getAbstractIntegerConstant(int)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"getAbstractLongConstant(long)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"getAbstractLongConstant(long)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"getAbstractNull()"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"getAbstractNull()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"getAbstractReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object)","url":"getAbstractReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int,java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"getAbstractReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object)","url":"getAbstractReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.classfile.Clazz,proguard.classfile.Method,int,java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"getAbstractReferenceValue(String, Clazz, boolean, boolean)","url":"getAbstractReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"getAbstractReferenceValue(String, Clazz, boolean, boolean)","url":"getAbstractReferenceValue(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"getAbstractReferenceValue(String)","url":"getAbstractReferenceValue(java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"getAbstractReferenceValue(String)","url":"getAbstractReferenceValue(java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"getAbstractShortConstant(short)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"getAbstractShortConstant(short)"},{"p":"proguard.analysis.cpa.defaults","c":"PrecisionAdjustmentResult","l":"getAbstractState()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintTransferRelation","l":"getAbstractSuccessorForInstruction(JvmAbstractState>, Instruction, Clazz, Precision)","url":"getAbstractSuccessorForInstruction(proguard.analysis.cpa.jvm.state.JvmAbstractState,proguard.classfile.instruction.Instruction,proguard.classfile.Clazz,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"getAbstractSuccessorForInstruction(JvmAbstractState, Instruction, Clazz, Precision)","url":"getAbstractSuccessorForInstruction(proguard.analysis.cpa.jvm.state.JvmAbstractState,proguard.classfile.instruction.Instruction,proguard.classfile.Clazz,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.classfile","c":"Clazz","l":"getAccessFlags()"},{"p":"proguard.classfile","c":"LibraryClass","l":"getAccessFlags()"},{"p":"proguard.classfile","c":"LibraryMember","l":"getAccessFlags()"},{"p":"proguard.classfile","c":"Member","l":"getAccessFlags()"},{"p":"proguard.classfile","c":"ProgramClass","l":"getAccessFlags()"},{"p":"proguard.classfile","c":"ProgramMember","l":"getAccessFlags()"},{"p":"proguard.evaluation","c":"Stack","l":"getActualMaxSize()"},{"p":"proguard.evaluation.exception","c":"ValueTypeException","l":"getActualType()"},{"p":"proguard.analysis.cpa.bam","c":"BamCache","l":"getAllMethods()"},{"p":"proguard.analysis.cpa.bam","c":"BamCacheImpl","l":"getAllMethods()"},{"p":"proguard.analysis.cpa.defaults","c":"Cfa","l":"getAllNodes()"},{"p":"proguard.analysis.cpa.jvm.cfa","c":"JvmCfa","l":"getAllNodes()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"getAllPredecessors()"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun","l":"getAnalyzedMethods()"},{"p":"com.example","c":"SampleClassWithArray","l":"getAnswer()"},{"p":"com.example","c":"SampleClassWithConstantComputation","l":"getAnswer()"},{"p":"com.example","c":"SampleClassWithRangeComputation","l":"getAnswer()"},{"p":"com.example","c":"SampleClassWithVariableComputation","l":"getAnswer(int, int)","url":"getAnswer(int,int)"},{"p":"com.example","c":"SampleClassWithObjects","l":"getAnswer(Number)","url":"getAnswer(java.lang.Number)"},{"p":"proguard.io","c":"ClassPathEntry","l":"getApkFilter()"},{"p":"proguard.dexfile.ir.expr","c":"InvokeExpr","l":"getArgs()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"getArgument(int)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"getArgumentCount()"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"getArgumentTypes()"},{"p":"proguard.evaluation.exception","c":"ArrayStoreTypeException","l":"getArray()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"getArrayElementOrDefault(T, StateT, StateT)","url":"getArrayElementOrDefault(T,StateT,StateT)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmForgetfulHeapAbstractState","l":"getArrayElementOrDefault(T, StateT, StateT)","url":"getArrayElementOrDefault(T,StateT,StateT)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmHeapAbstractState","l":"getArrayElementOrDefault(T, StateT, StateT)","url":"getArrayElementOrDefault(T,StateT,StateT)"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"getArrayElementOrDefault(T, StateT, StateT)","url":"getArrayElementOrDefault(T,StateT,StateT)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmAssumeCaseCfaEdge","l":"getAssumedCase()"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"getAttribute(Clazz, String)","url":"getAttribute(proguard.classfile.Clazz,java.lang.String)"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"getAttributeName(Clazz)","url":"getAttributeName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"getBootstrapMethodAttributeIndex()"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"getBootstrapMethodAttributeIndex()"},{"p":"proguard.classfile.editor","c":"BootstrapMethodInfoAdder","l":"getBootstrapMethodIndex()"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeAdder","l":"getBootstrapMethodIndex()"},{"p":"proguard.evaluation","c":"Stack","l":"getBottom(int)"},{"p":"proguard.evaluation","c":"TracedStack","l":"getBottomActualProducerValue(int)"},{"p":"proguard.evaluation","c":"TracedStack","l":"getBottomProducerValue(int)"},{"p":"proguard.evaluation.exception","c":"ArrayIndexOutOfBounds","l":"getBound()"},{"p":"proguard.evaluation.exception","c":"VariableIndexOutOfBoundException","l":"getBound()"},{"p":"proguard.classfile.constant","c":"Utf8Constant","l":"getBytes()"},{"p":"proguard.analysis.cpa.bam","c":"BamCpa","l":"getCache()"},{"p":"proguard.analysis.cpa.bam","c":"BamTransferRelation","l":"getCache()"},{"p":"proguard.analysis.cpa.interfaces","c":"CallEdge","l":"getCall()"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmCallCfaEdge","l":"getCall()"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"getCaller()"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmAssumeExceptionCfaEdge","l":"getCatchType()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCatchCfaNode","l":"getCatchType()"},{"p":"proguard.analysis.cpa.bam","c":"BamCpa","l":"getCfa()"},{"p":"proguard.analysis.cpa.bam","c":"BamTransferRelation","l":"getCfa()"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun","l":"getCfa()"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun","l":"getCfa()"},{"p":"proguard.classfile","c":"ClassPool","l":"getClass(String)","url":"getClass(java.lang.String)"},{"p":"proguard.evaluation.value","c":"ReflectiveMethodCallUtil","l":"getClassForArray(String)","url":"getClassForArray(java.lang.String)"},{"p":"proguard.evaluation.value","c":"ReflectiveMethodCallUtil","l":"getClassForPrimitive(char)"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"getClassIndex()"},{"p":"proguard.classfile","c":"Signature","l":"getClassName()"},{"p":"proguard.dexfile.ir.expr","c":"InvokeNewExpr","l":"getClassName()"},{"p":"proguard.classfile.attribute","c":"EnclosingMethodAttribute","l":"getClassName(Clazz)","url":"getClassName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.attribute.annotation","c":"ClassElementValue","l":"getClassName(Clazz)","url":"getClassName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"getClassName(Clazz)","url":"getClassName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"getClassName(Clazz)","url":"getClassName(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"Clazz","l":"getClassName(int)"},{"p":"proguard.classfile","c":"LibraryClass","l":"getClassName(int)"},{"p":"proguard.classfile","c":"ProgramClass","l":"getClassName(int)"},{"p":"proguard.dexfile.reader","c":"BaseDexFileReader","l":"getClassNames()"},{"p":"proguard.dexfile.reader","c":"DexContainerReader","l":"getClassNames()"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"getClassNames()"},{"p":"proguard.io","c":"ClassPath","l":"getClassPathEntries()"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"getClassSize()"},{"p":"proguard.classfile.visitor","c":"VariableClassVisitor","l":"getClassVisitor()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"getClazz()"},{"p":"proguard.classfile.exception","c":"NegativeStackSizeException","l":"getClazz()"},{"p":"proguard.evaluation.exception","c":"PartialEvaluatorException","l":"getClazz()"},{"p":"proguard.evaluation.value.object.model","c":"ClassModel","l":"getClazz()"},{"p":"proguard.util","c":"BasicHierarchyProvider","l":"getClazz(String)","url":"getClazz(java.lang.String)"},{"p":"proguard.util","c":"HierarchyProvider","l":"getClazz(String)","url":"getClazz(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"getCodeLength()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"getCodeLength()"},{"p":"proguard.exception","c":"ProguardCoreException","l":"getComponentErrorId()"},{"p":"proguard.classfile","c":"ProgramClass","l":"getConstant(int)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"getConstantIndex()"},{"p":"proguard.classfile.attribute.annotation","c":"EnumConstantElementValue","l":"getConstantName(Clazz)","url":"getConstantName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"getConstantPoolEditor()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"getConstantPoolEditor()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"getConstantPoolEditor()"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"getConstantPoolEditor()"},{"p":"proguard.backport","c":"LambdaExpression","l":"getConstructorDescriptor()"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper","l":"getConstructorHandlers(Class)","url":"getConstructorHandlers(java.lang.Class)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeCounter","l":"getCount()"},{"p":"proguard.classfile.constant.visitor","c":"ConstantCounter","l":"getCount()"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionCounter","l":"getCount()"},{"p":"proguard.classfile.visitor","c":"ClassCounter","l":"getCount()"},{"p":"proguard.classfile.visitor","c":"ExceptionCounter","l":"getCount()"},{"p":"proguard.classfile.visitor","c":"MemberCounter","l":"getCount()"},{"p":"proguard.classfile.visitor","c":"MethodCounter","l":"getCount()"},{"p":"proguard.util","c":"Counter","l":"getCount()"},{"p":"proguard.util.kotlin.asserter","c":"Reporter","l":"getCount()"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun","l":"getCpa()"},{"p":"proguard.analysis.cpa.defaults","c":"CpaRun","l":"getCpa()"},{"p":"proguard.evaluation.executor","c":"ReflectionExecutor","l":"getDefaultInstanceHandler()"},{"p":"proguard.evaluation.executor","c":"StringReflectionExecutor","l":"getDefaultInstanceHandler()"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"getDepth()"},{"p":"proguard.dexfile.reader","c":"Method","l":"getDesc()"},{"p":"proguard.dexfile.reader","c":"Proto","l":"getDesc()"},{"p":"proguard.classfile","c":"BasicMethodInfo","l":"getDescriptor()"},{"p":"proguard.classfile","c":"MethodInfo","l":"getDescriptor()"},{"p":"proguard.classfile","c":"MethodSignature","l":"getDescriptor()"},{"p":"proguard.classfile","c":"LibraryMember","l":"getDescriptor(Clazz)","url":"getDescriptor(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"Member","l":"getDescriptor(Clazz)","url":"getDescriptor(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"ProgramMember","l":"getDescriptor(Clazz)","url":"getDescriptor(proguard.classfile.Clazz)"},{"p":"proguard.classfile.attribute","c":"LocalVariableInfo","l":"getDescriptor(Clazz)","url":"getDescriptor(proguard.classfile.Clazz)"},{"p":"proguard.classfile.attribute","c":"RecordComponentInfo","l":"getDescriptor(Clazz)","url":"getDescriptor(proguard.classfile.Clazz)"},{"p":"proguard.analysis","c":"CallResolver","l":"getDescriptor(Method)","url":"getDescriptor(java.lang.reflect.Method)"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"getDescriptorIndex()"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"getDescriptorIndex()"},{"p":"proguard.dexfile.reader","c":"BaseDexFileReader","l":"getDexVersion()"},{"p":"proguard.dexfile.reader","c":"DexContainerReader","l":"getDexVersion()"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"getDexVersion()"},{"p":"proguard.dexfile.ir.stmt","c":"LabelStmt","l":"getDisplayName()"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper","l":"getDummyObject(Class)","url":"getDummyObject(java.lang.Class)"},{"p":"proguard.io","c":"ClassPathEntry","l":"getEarFilter()"},{"p":"proguard.analysis.cpa.interfaces","c":"ProgramLocationDependentBackwardTransferRelation","l":"getEdges(ProgramLocationDependent)","url":"getEdges(proguard.analysis.cpa.interfaces.ProgramLocationDependent)"},{"p":"proguard.analysis.cpa.interfaces","c":"ProgramLocationDependentForwardTransferRelation","l":"getEdges(ProgramLocationDependent)","url":"getEdges(proguard.analysis.cpa.interfaces.ProgramLocationDependent)"},{"p":"proguard.analysis.cpa.interfaces","c":"ProgramLocationDependentTransferRelation","l":"getEdges(ProgramLocationDependent)","url":"getEdges(proguard.analysis.cpa.interfaces.ProgramLocationDependent)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"TraceExtractor","l":"getEndPoints()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun","l":"getEndPoints()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun","l":"getEndPointToSinks()"},{"p":"proguard.analysis.cpa.interfaces","c":"CfaNode","l":"getEnteringEdges()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"getEnteringEdges()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"getEnteringIntraproceduralEdges()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"getEnteringInvokeEdge()"},{"p":"proguard.exception","c":"ProguardCoreException","l":"getErrorParameters()"},{"p":"proguard.evaluation.exception","c":"ValueTypeException","l":"getExceptedType()"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"getExceptionValue(Clazz, ClassConstant)","url":"getExceptionValue(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"getExceptionValue(Clazz, ClassConstant)","url":"getExceptionValue(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"getExceptionValue(Clazz, ClassConstant)","url":"getExceptionValue(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper.MethodExecutionContext","l":"getExecutionInfo()"},{"p":"proguard.analysis.cpa.bam","c":"BamCpa","l":"getExpandOperator()"},{"p":"proguard.analysis.cpa.bam","c":"CpaWithBamOperators","l":"getExpandOperator()"},{"p":"proguard.evaluation.exception","c":"StackTypeException","l":"getExpectedType()"},{"p":"proguard.evaluation.exception","c":"VariableTypeException","l":"getExpectedType()"},{"p":"proguard.analysis.datastructure","c":"CodeLocation","l":"getExternalClassName()"},{"p":"proguard.classfile","c":"Signature","l":"getExternalPackageName()"},{"p":"proguard.util","c":"FeatureNamed","l":"getExtraFeatureNames()"},{"p":"proguard.util","c":"SimpleFeatureNamedProcessable","l":"getExtraFeatureNames()"},{"p":"proguard.io","c":"ClassPathEntry","l":"getFeatureName()"},{"p":"proguard.util","c":"FeatureNamed","l":"getFeatureName()"},{"p":"proguard.util","c":"SimpleFeatureNamedProcessable","l":"getFeatureName()"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"getField()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"getfield(Clazz, Field)","url":"getfield(proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"getfield(Clazz, Field)","url":"getfield(proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"getfield(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"getfield(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"getfield(String, String, String, Clazz, Field)","url":"getfield(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"getfield(String, String, String, Clazz, Field)","url":"getfield(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"getfield(String, String, String)","url":"getfield(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"getfield(String, String, String)","url":"getfield(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"getFieldClassValue(Clazz, FieldrefConstant, String)","url":"getFieldClassValue(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant,java.lang.String)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"getFieldClassValue(Clazz, FieldrefConstant, String)","url":"getFieldClassValue(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant,java.lang.String)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"getFieldClassValue(Clazz, FieldrefConstant, String)","url":"getFieldClassValue(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant,java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"getFieldOrDefault(T, StateT)","url":"getFieldOrDefault(T,StateT)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceAbstractState","l":"getFieldOrDefault(T, String, SetAbstractState)","url":"getFieldOrDefault(T,java.lang.String,proguard.analysis.cpa.defaults.SetAbstractState)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"getFieldOrDefault(T, String, StateT)","url":"getFieldOrDefault(T,java.lang.String,StateT)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmForgetfulHeapAbstractState","l":"getFieldOrDefault(T, String, StateT)","url":"getFieldOrDefault(T,java.lang.String,StateT)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmHeapAbstractState","l":"getFieldOrDefault(T, String, StateT)","url":"getFieldOrDefault(T,java.lang.String,StateT)"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"getFieldOrDefault(T, String, StateT)","url":"getFieldOrDefault(T,java.lang.String,StateT)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"getFieldValue(Clazz, FieldrefConstant, String)","url":"getFieldValue(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant,java.lang.String)"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit","l":"getFieldValue(Clazz, FieldrefConstant, String)","url":"getFieldValue(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant,java.lang.String)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"getFieldValue(Clazz, FieldrefConstant, String)","url":"getFieldValue(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant,java.lang.String)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"getFieldValue(Clazz, FieldrefConstant, String)","url":"getFieldValue(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant,java.lang.String)"},{"p":"proguard.io","c":"ClassPathEntry","l":"getFile()"},{"p":"proguard.io","c":"FileDataEntry","l":"getFile()"},{"p":"proguard.resources.file","c":"ResourceFile","l":"getFileName()"},{"p":"proguard.resources.file","c":"ResourceFile","l":"getFileSize()"},{"p":"proguard.io","c":"ClassPathEntry","l":"getFilter()"},{"p":"proguard.io","c":"DataEntryReaderFactory","l":"getFilterExcludingVersionedClasses(ClassPathEntry)","url":"getFilterExcludingVersionedClasses(proguard.io.ClassPathEntry)"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"getFirst()"},{"p":"proguard.evaluation.exception","c":"StackGeneralizationException","l":"getFirst()"},{"p":"proguard.evaluation.exception","c":"VariablesGeneralizationException","l":"getFirst()"},{"p":"proguard.evaluation.exception","c":"StackCategoryOneException","l":"getFoundValue()"},{"p":"proguard.evaluation.exception","c":"StackTypeException","l":"getFoundValue()"},{"p":"proguard.evaluation.exception","c":"VariableTypeException","l":"getFoundValue()"},{"p":"proguard.classfile","c":"Signature","l":"getFqn()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"getFrame()"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"getFrame(Stmt)","url":"getFrame(proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"getFromFrame(int)"},{"p":"proguard.analysis.cpa.jvm.cfa","c":"JvmCfa","l":"getFunctionCatchNode(MethodSignature, int)","url":"getFunctionCatchNode(proguard.classfile.MethodSignature,int)"},{"p":"proguard.analysis.cpa.jvm.cfa","c":"JvmCfa","l":"getFunctionCatchNodes(MethodSignature)","url":"getFunctionCatchNodes(proguard.classfile.MethodSignature)"},{"p":"proguard.analysis.cpa.defaults","c":"Cfa","l":"getFunctionEntryNode(SignatureT)"},{"p":"proguard.analysis.cpa.defaults","c":"Cfa","l":"getFunctionEntryNodes()"},{"p":"proguard.analysis.cpa.jvm.cfa","c":"JvmCfa","l":"getFunctionExceptionExitNode(MethodSignature, Clazz)","url":"getFunctionExceptionExitNode(proguard.classfile.MethodSignature,proguard.classfile.Clazz)"},{"p":"proguard.analysis.cpa.defaults","c":"Cfa","l":"getFunctionNode(Clazz, Method, int)","url":"getFunctionNode(proguard.classfile.Clazz,proguard.classfile.Method,int)"},{"p":"proguard.analysis.cpa.defaults","c":"Cfa","l":"getFunctionNode(SignatureT, int)","url":"getFunctionNode(SignatureT,int)"},{"p":"proguard.analysis.cpa.defaults","c":"Cfa","l":"getFunctionNodes(SignatureT)"},{"p":"proguard.analysis.cpa.jvm.cfa","c":"JvmCfa","l":"getFunctionReturnExitNode(MethodSignature, Clazz)","url":"getFunctionReturnExitNode(proguard.classfile.MethodSignature,proguard.classfile.Clazz)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"getFurthestPredecessors()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"getFurthestSuccessors()"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"getGeneralizedType()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"getHeap()"},{"p":"proguard.classfile.attribute","c":"LineNumberTableAttribute","l":"getHighestLineNumber()"},{"p":"proguard.classfile.attribute.visitor","c":"LineNumberRangeFinder","l":"getHighestLineNumber()"},{"p":"proguard.classfile.attribute","c":"NestHostAttribute","l":"getHostClassName(Clazz)","url":"getHostClassName(proguard.classfile.Clazz)"},{"p":"proguard.util","c":"PartialEvaluatorUtils","l":"getIdFromSpecificReferenceValue(ReferenceValue)","url":"getIdFromSpecificReferenceValue(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmStackLocation","l":"getIndex()"},{"p":"proguard.evaluation.exception","c":"ArrayIndexOutOfBounds","l":"getIndex()"},{"p":"proguard.evaluation.exception","c":"VariableEvaluationException","l":"getIndex()"},{"p":"proguard.analysis.cpa.defaults","c":"CpaRun","l":"getInitialStates()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun","l":"getInitialStates()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun","l":"getInitialStates()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun","l":"getInitialStates()"},{"p":"proguard.analysis.cpa.defaults","c":"SequentialCpaRun","l":"getInputCpaRun()"},{"p":"proguard.io","c":"ClassPathDataEntry","l":"getInputStream()"},{"p":"proguard.io","c":"DataEntry","l":"getInputStream()"},{"p":"proguard.io","c":"DummyDataEntry","l":"getInputStream()"},{"p":"proguard.io","c":"FileDataEntry","l":"getInputStream()"},{"p":"proguard.io","c":"NamedDataEntry","l":"getInputStream()"},{"p":"proguard.io","c":"StreamingDataEntry","l":"getInputStream()"},{"p":"proguard.io","c":"WrappedDataEntry","l":"getInputStream()"},{"p":"proguard.io","c":"ZipDataEntry","l":"getInputStream()"},{"p":"proguard.io","c":"ZipFileDataEntry","l":"getInputStream()"},{"p":"proguard.analysis.cpa.state","c":"HashMapAbstractStateFactory","l":"getInstance()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"getInstance()"},{"p":"proguard.evaluation.executor","c":"ReflectionExecutor.InstanceCopyResult","l":"getInstance()"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper","l":"getInstanceMethodHandlers(Class)","url":"getInstanceMethodHandlers(java.lang.Class)"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"getInstanceNonStatic()"},{"p":"proguard.evaluation.executor","c":"ReflectionExecutor","l":"getInstanceOrCopyIfMutable(ReferenceValue)","url":"getInstanceOrCopyIfMutable(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.executor","c":"StringReflectionExecutor","l":"getInstanceOrCopyIfMutable(ReferenceValue)","url":"getInstanceOrCopyIfMutable(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"getInstanceOrNullIfStatic()"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"getInstanceType()"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmInstructionCfaEdge","l":"getInstruction()"},{"p":"proguard.classfile.exception","c":"NegativeStackSizeException","l":"getInstruction()"},{"p":"proguard.classfile.exception","c":"NegativeStackSizeException","l":"getInstructionOffset()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"getInstructionSequenceMatcher()"},{"p":"proguard.classfile","c":"Clazz","l":"getInterface(int)"},{"p":"proguard.classfile","c":"LibraryClass","l":"getInterface(int)"},{"p":"proguard.classfile","c":"ProgramClass","l":"getInterface(int)"},{"p":"proguard.classfile","c":"Clazz","l":"getInterfaceCount()"},{"p":"proguard.classfile","c":"LibraryClass","l":"getInterfaceCount()"},{"p":"proguard.classfile","c":"ProgramClass","l":"getInterfaceCount()"},{"p":"proguard.classfile","c":"Clazz","l":"getInterfaceName(int)"},{"p":"proguard.classfile","c":"LibraryClass","l":"getInterfaceName(int)"},{"p":"proguard.classfile","c":"ProgramClass","l":"getInterfaceName(int)"},{"p":"proguard.io","c":"ClassPathEntry","l":"getJarFilter()"},{"p":"proguard.io","c":"ClassPathEntry","l":"getJmodFilter()"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"getJson()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"getJvmArgumentSize()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"getKnownMethodCallEdges()"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"getKotlinType(Clazz)","url":"getKotlinType(proguard.classfile.Clazz)"},{"p":"proguard.backport","c":"LambdaExpression","l":"getLambdaClassName()"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"getLast()"},{"p":"proguard.analysis.cpa.interfaces","c":"CfaNode","l":"getLeavingEdges()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"getLeavingEdges()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"getLeavingInterproceduralEdges()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"getLeavingIntraproceduralEdges()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"getLeavingInvokeEdge()"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"getLength()"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"getLibraryClass()"},{"p":"proguard.classfile.attribute","c":"LineNumberTableAttribute","l":"getLineNumber(int)"},{"p":"proguard.classfile.attribute","c":"LineNumberTableAttribute","l":"getLineNumberInfo(int)"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveAnalyze","l":"getLocalSize()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"getLocalVariables()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"getLocationDependentMemoryLocation()"},{"p":"proguard.io","c":"ZipOutput.LargeDataOutputStream","l":"getLongSize()"},{"p":"proguard.classfile.attribute","c":"LineNumberTableAttribute","l":"getLowestLineNumber()"},{"p":"proguard.classfile.attribute.visitor","c":"LineNumberRangeFinder","l":"getLowestLineNumber()"},{"p":"proguard.classfile.attribute.module","c":"ModuleMainClassAttribute","l":"getMainClassName(Clazz)","url":"getMainClassName(proguard.classfile.Clazz)"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun","l":"getMainSignature()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun","l":"getMainSignature()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun","l":"getMainSignature()"},{"p":"proguard.util","c":"VariableStringMatcher","l":"getMatchingString()"},{"p":"proguard.analysis.cpa.bam","c":"BamTransferRelation","l":"getMaxCallStackDepth()"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun","l":"getMaxCallStackDepth()"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"getMaxStackSize()"},{"p":"proguard.classfile.attribute.visitor","c":"StackSizeComputer","l":"getMaxStackSize()"},{"p":"proguard.analysis.datastructure","c":"CodeLocation","l":"getMemberName()"},{"p":"proguard.classfile.visitor","c":"VariableMemberVisitor","l":"getMemberVisitor()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"BamLocationDependentJvmMemoryLocation","l":"getMemoryLocation()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink","l":"getMemoryLocations()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmReturnTaintSink","l":"getMemoryLocations()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSink","l":"getMemoryLocations()"},{"p":"proguard.analysis.cpa.bam","c":"BamCpa","l":"getMergeOperator()"},{"p":"proguard.analysis.cpa.defaults","c":"SimpleCpa","l":"getMergeOperator()"},{"p":"proguard.analysis.cpa.interfaces","c":"ConfigurableProgramAnalysis","l":"getMergeOperator()"},{"p":"proguard.classfile.exception","c":"NegativeStackSizeException","l":"getMethod()"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"getMethod()"},{"p":"proguard.evaluation.exception","c":"PartialEvaluatorException","l":"getMethod()"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmInstructionCfaEdge","l":"getMethodCode()"},{"p":"proguard.classfile","c":"BasicMethodInfo","l":"getMethodName()"},{"p":"proguard.classfile","c":"MethodInfo","l":"getMethodName()"},{"p":"proguard.classfile","c":"MethodSignature","l":"getMethodName()"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"getMethodName(Clazz)","url":"getMethodName(proguard.classfile.Clazz)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"getMethodParameterValue(Clazz, Method, int, String, Clazz)","url":"getMethodParameterValue(proguard.classfile.Clazz,proguard.classfile.Method,int,java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"getMethodParameterValue(Clazz, Method, int, String, Clazz)","url":"getMethodParameterValue(proguard.classfile.Clazz,proguard.classfile.Method,int,java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"getMethodParameterValue(Clazz, Method, int, String, Clazz)","url":"getMethodParameterValue(proguard.classfile.Clazz,proguard.classfile.Method,int,java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.evaluation.executor","c":"Executor","l":"getMethodResult(MethodExecutionInfo, ValueCalculator)","url":"getMethodResult(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.evaluation.executor","c":"JavaReflectionApiExecutor","l":"getMethodResult(MethodExecutionInfo, ValueCalculator)","url":"getMethodResult(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.evaluation.executor","c":"ReflectionExecutor","l":"getMethodResult(MethodExecutionInfo, ValueCalculator)","url":"getMethodResult(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor","l":"getMethodResult(MethodExecutionInfo, ValueCalculator)","url":"getMethodResult(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"getMethodReturnValue(Clazz, AnyMethodrefConstant, String)","url":"getMethodReturnValue(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant,java.lang.String)"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit","l":"getMethodReturnValue(Clazz, AnyMethodrefConstant, String)","url":"getMethodReturnValue(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant,java.lang.String)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"getMethodReturnValue(Clazz, AnyMethodrefConstant, String)","url":"getMethodReturnValue(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant,java.lang.String)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"getMethodReturnValue(Clazz, AnyMethodrefConstant, String)","url":"getMethodReturnValue(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant,java.lang.String)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"getMethodReturnValue(Clazz, InvokeDynamicConstant, String)","url":"getMethodReturnValue(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant,java.lang.String)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"getMethodReturnValue(Clazz, InvokeDynamicConstant, String)","url":"getMethodReturnValue(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant,java.lang.String)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"getMethodReturnValue(Clazz, InvokeDynamicConstant, String)","url":"getMethodReturnValue(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant,java.lang.String)"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor.SupportedModelInfo","l":"getModelClass()"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObject","l":"getModeledOrNullValue()"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObject","l":"getModeledValue()"},{"p":"proguard.util","c":"StringUtil","l":"getModifiedUtf8Bytes(String)","url":"getModifiedUtf8Bytes(java.lang.String)"},{"p":"proguard.util","c":"StringUtil","l":"getModifiedUtf8Length(String)","url":"getModifiedUtf8Length(java.lang.String)"},{"p":"proguard.classfile","c":"Clazz","l":"getModuleName(int)"},{"p":"proguard.classfile","c":"LibraryClass","l":"getModuleName(int)"},{"p":"proguard.classfile","c":"ProgramClass","l":"getModuleName(int)"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"GETNAME_METHOD_DESC"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"GETNAME_METHOD_NAME"},{"p":"proguard.analysis.datastructure","c":"CodeLocation","l":"getName()"},{"p":"proguard.analysis.datastructure","c":"FileLocation","l":"getName()"},{"p":"proguard.analysis.datastructure","c":"Location","l":"getName()"},{"p":"proguard.classfile","c":"Clazz","l":"getName()"},{"p":"proguard.classfile","c":"LibraryClass","l":"getName()"},{"p":"proguard.classfile","c":"ProgramClass","l":"getName()"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"getName()"},{"p":"proguard.classfile.kotlin.reflect","c":"CallableReferenceInfo","l":"getName()"},{"p":"proguard.classfile.kotlin.reflect","c":"FunctionReferenceInfo","l":"getName()"},{"p":"proguard.classfile.kotlin.reflect","c":"JavaReferenceInfo","l":"getName()"},{"p":"proguard.classfile.kotlin.reflect","c":"LocalVariableReferenceInfo","l":"getName()"},{"p":"proguard.classfile.kotlin.reflect","c":"PropertyReferenceInfo","l":"getName()"},{"p":"proguard.dexfile.ir.expr","c":"InvokeExpr","l":"getName()"},{"p":"proguard.dexfile.reader","c":"Field","l":"getName()"},{"p":"proguard.dexfile.reader","c":"Method","l":"getName()"},{"p":"proguard.io","c":"ClassPathDataEntry","l":"getName()"},{"p":"proguard.io","c":"ClassPathEntry","l":"getName()"},{"p":"proguard.io","c":"DataEntry","l":"getName()"},{"p":"proguard.io","c":"DummyDataEntry","l":"getName()"},{"p":"proguard.io","c":"FileDataEntry","l":"getName()"},{"p":"proguard.io","c":"NamedDataEntry","l":"getName()"},{"p":"proguard.io","c":"RenamedDataEntry","l":"getName()"},{"p":"proguard.io","c":"StreamingDataEntry","l":"getName()"},{"p":"proguard.io","c":"WrappedDataEntry","l":"getName()"},{"p":"proguard.io","c":"ZipDataEntry","l":"getName()"},{"p":"proguard.io","c":"ZipFileDataEntry","l":"getName()"},{"p":"proguard.classfile","c":"LibraryMember","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"Member","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"ProgramMember","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.attribute","c":"EnclosingMethodAttribute","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.attribute","c":"LocalVariableInfo","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeInfo","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.attribute","c":"ParameterInfo","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.attribute","c":"RecordComponentInfo","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"ClassConstant","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"ModuleConstant","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"PackageConstant","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"getName(Clazz)","url":"getName(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"Clazz","l":"getName(int)"},{"p":"proguard.classfile","c":"LibraryClass","l":"getName(int)"},{"p":"proguard.classfile","c":"ProgramClass","l":"getName(int)"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"getNameAndTypeIndex()"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"getNameAndTypeIndex()"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"getNameAndTypeIndex()"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"getNameIndex()"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer.NameGenerationStrategy","l":"getNewName(ProgramClass, ProgramMember, String, String)","url":"getNewName(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"getNewOffset(int)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"getNext()"},{"p":"proguard.evaluation.value","c":"ReflectiveMethodCallUtil","l":"getObjectForValue(Value, Class)","url":"getObjectForValue(proguard.evaluation.value.Value,java.lang.Class)"},{"p":"proguard.analysis.cpa.interfaces","c":"CfaNode","l":"getOffset()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"getOffset()"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"getOffsetDelta()"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"getOp()"},{"p":"proguard.dexfile.ir.expr","c":"Value.E1Expr","l":"getOp()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"getOp()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.E1Stmt","l":"getOp()"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"getOp1()"},{"p":"proguard.dexfile.ir.expr","c":"Value.E2Expr","l":"getOp1()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"getOp1()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.E2Stmt","l":"getOp1()"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"getOp2()"},{"p":"proguard.dexfile.ir.expr","c":"Value.E2Expr","l":"getOp2()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"getOp2()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.E2Stmt","l":"getOp2()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"getOperandStack()"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"getOps()"},{"p":"proguard.dexfile.ir.expr","c":"Value.EnExpr","l":"getOps()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"getOps()"},{"p":"proguard.dexfile.ir.ts","c":"RemoveLocalFromSSA","l":"getOrCreate(Map, Local)","url":"getOrCreate(java.util.Map,proguard.dexfile.ir.expr.Local)"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"GETORCREATEKOTLINCLASS_METHOD_DESC"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"GETORCREATEKOTLINCLASS_METHOD_NAME"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"GETORCREATEKOTLINPACKAGE_METHOD_DESC"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"GETORCREATEKOTLINPACKAGE_METHOD_NAME"},{"p":"proguard.analysis.cpa.defaults","c":"ListAbstractState","l":"getOrDefault(int, AbstractSpaceT)","url":"getOrDefault(int,AbstractSpaceT)"},{"p":"proguard.analysis.datastructure","c":"FileLocation","l":"getOriginalFilename()"},{"p":"proguard.io","c":"ClassPathDataEntry","l":"getOriginalName()"},{"p":"proguard.io","c":"DataEntry","l":"getOriginalName()"},{"p":"proguard.io","c":"DummyDataEntry","l":"getOriginalName()"},{"p":"proguard.io","c":"FileDataEntry","l":"getOriginalName()"},{"p":"proguard.io","c":"NamedDataEntry","l":"getOriginalName()"},{"p":"proguard.io","c":"StreamingDataEntry","l":"getOriginalName()"},{"p":"proguard.io","c":"WrappedDataEntry","l":"getOriginalName()"},{"p":"proguard.io","c":"ZipDataEntry","l":"getOriginalName()"},{"p":"proguard.io","c":"ZipFileDataEntry","l":"getOriginalName()"},{"p":"proguard.classfile.util.renderer.core","c":"StringListWriter","l":"getOutput()"},{"p":"proguard.analysis.cpa.defaults","c":"SequentialCpaRun","l":"getOutputReachedSet()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationBamCpaRun","l":"getOutputReachedSet()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"TraceExtractor","l":"getOutputReachedSet()"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"GETOWNER_METHOD_DESC"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"GETOWNER_METHOD_NAME"},{"p":"proguard.classfile.kotlin.reflect","c":"CallableReferenceInfo","l":"getOwner()"},{"p":"proguard.classfile.kotlin.reflect","c":"FunctionReferenceInfo","l":"getOwner()"},{"p":"proguard.classfile.kotlin.reflect","c":"JavaReferenceInfo","l":"getOwner()"},{"p":"proguard.classfile.kotlin.reflect","c":"LocalVariableReferenceInfo","l":"getOwner()"},{"p":"proguard.classfile.kotlin.reflect","c":"PropertyReferenceInfo","l":"getOwner()"},{"p":"proguard.dexfile.ir.expr","c":"InvokeExpr","l":"getOwner()"},{"p":"proguard.dexfile.reader","c":"Field","l":"getOwner()"},{"p":"proguard.dexfile.reader","c":"Method","l":"getOwner()"},{"p":"proguard.classfile","c":"Signature","l":"getPackageName()"},{"p":"proguard.classfile","c":"Clazz","l":"getPackageName(int)"},{"p":"proguard.classfile","c":"LibraryClass","l":"getPackageName(int)"},{"p":"proguard.classfile","c":"ProgramClass","l":"getPackageName(int)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassesExtractor","l":"getParameterClasses()"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"getParameters()"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"getParametersClasses()"},{"p":"proguard.dexfile.reader","c":"Method","l":"getParameterTypes()"},{"p":"proguard.dexfile.reader","c":"Proto","l":"getParameterTypes()"},{"p":"proguard.io","c":"ClassPathDataEntry","l":"getParent()"},{"p":"proguard.io","c":"DataEntry","l":"getParent()"},{"p":"proguard.io","c":"DummyDataEntry","l":"getParent()"},{"p":"proguard.io","c":"FileDataEntry","l":"getParent()"},{"p":"proguard.io","c":"NamedDataEntry","l":"getParent()"},{"p":"proguard.io","c":"StreamingDataEntry","l":"getParent()"},{"p":"proguard.io","c":"WrappedDataEntry","l":"getParent()"},{"p":"proguard.io","c":"ZipDataEntry","l":"getParent()"},{"p":"proguard.io","c":"ZipFileDataEntry","l":"getParent()"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"getPotentialTypes()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"getPre()"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObject","l":"getPreciseValue()"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractSingleWrapperState","l":"getPrecision()"},{"p":"proguard.analysis.cpa.defaults","c":"PrecisionAdjustmentResult","l":"getPrecision()"},{"p":"proguard.analysis.cpa.interfaces","c":"AbstractState","l":"getPrecision()"},{"p":"proguard.analysis.cpa.bam","c":"BamCpa","l":"getPrecisionAdjustment()"},{"p":"proguard.analysis.cpa.defaults","c":"SimpleCpa","l":"getPrecisionAdjustment()"},{"p":"proguard.analysis.cpa.interfaces","c":"ConfigurableProgramAnalysis","l":"getPrecisionAdjustment()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"getPredecessorDepth()"},{"p":"proguard.util","c":"CallGraphWalker","l":"getPredecessors(CallGraph, MethodSignature, int, int)","url":"getPredecessors(proguard.analysis.datastructure.callgraph.CallGraph,proguard.classfile.MethodSignature,int,int)"},{"p":"proguard.util","c":"CallGraphWalker","l":"getPredecessors(CallGraph, MethodSignature)","url":"getPredecessors(proguard.analysis.datastructure.callgraph.CallGraph,proguard.classfile.MethodSignature)"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"getPrettyArgumentTypes()"},{"p":"proguard.classfile","c":"Signature","l":"getPrettyFqn()"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"getPrettyReturnType()"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"getPrimitiveType()"},{"p":"proguard.util","c":"Processable","l":"getProcessingFlags()"},{"p":"proguard.util","c":"SimpleProcessable","l":"getProcessingFlags()"},{"p":"proguard.util","c":"Processable","l":"getProcessingInfo()"},{"p":"proguard.util","c":"SimpleProcessable","l":"getProcessingInfo()"},{"p":"proguard.evaluation","c":"TracedVariables","l":"getProducerValue(int)"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"getProgramClass()"},{"p":"proguard.analysis.cpa.interfaces","c":"ProgramLocationDependent","l":"getProgramLocation()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"BamLocationDependentJvmMemoryLocation","l":"getProgramLocation()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"getProgramLocation()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"getProgramLocation()"},{"p":"proguard.dexfile.ir.expr","c":"AbstractInvokeExpr","l":"getProto()"},{"p":"proguard.dexfile.ir.expr","c":"InvokeCustomExpr","l":"getProto()"},{"p":"proguard.dexfile.ir.expr","c":"InvokeExpr","l":"getProto()"},{"p":"proguard.dexfile.ir.expr","c":"InvokePolymorphicExpr","l":"getProto()"},{"p":"proguard.dexfile.reader","c":"Method","l":"getProto()"},{"p":"proguard.dexfile.reader.node.insn","c":"AbstractMethodStmtNode","l":"getProto()"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodCustomStmtNode","l":"getProto()"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodPolymorphicStmtNode","l":"getProto()"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodStmtNode","l":"getProto()"},{"p":"proguard.analysis.cpa.defaults","c":"DefaultReachedSet","l":"getReached(AbstractState)","url":"getReached(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"ProgramLocationDependentReachedSet","l":"getReached(AbstractState)","url":"getReached(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.interfaces","c":"ReachedSet","l":"getReached(AbstractState)","url":"getReached(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"ProgramLocationDependentReachedSet","l":"getReached(CfaNodeT)"},{"p":"proguard.analysis.cpa.bam","c":"BamTransferRelation","l":"getReachedSet()"},{"p":"proguard.analysis.cpa.bam","c":"BlockAbstraction","l":"getReachedSet()"},{"p":"proguard.analysis.cpa.bam","c":"BamCpa","l":"getRebuildOperator()"},{"p":"proguard.analysis.cpa.bam","c":"CpaWithBamOperators","l":"getRebuildOperator()"},{"p":"proguard.analysis.cpa.bam","c":"BamCpa","l":"getReduceOperator()"},{"p":"proguard.analysis.cpa.bam","c":"CpaWithBamOperators","l":"getReduceOperator()"},{"p":"proguard.classfile","c":"Clazz","l":"getRefClassName(int)"},{"p":"proguard.classfile","c":"LibraryClass","l":"getRefClassName(int)"},{"p":"proguard.classfile","c":"ProgramClass","l":"getRefClassName(int)"},{"p":"proguard.classfile","c":"Signature","l":"getReferencedClass()"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"getReferencedClass()"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"getReferencedClass()"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"getReferencedClass()"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"getReferencedClass()"},{"p":"proguard.evaluation.value","c":"UnknownReferenceValue","l":"getReferencedClass()"},{"p":"proguard.classfile","c":"MethodSignature","l":"getReferencedMethod()"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"getReferenceIndex()"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"getReferenceKind()"},{"p":"proguard.resources.file.visitor","c":"ResourceJavaReferenceCollector","l":"getReferences()"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"getReferenceValue()"},{"p":"proguard.classfile","c":"Clazz","l":"getRefName(int)"},{"p":"proguard.classfile","c":"LibraryClass","l":"getRefName(int)"},{"p":"proguard.classfile","c":"ProgramClass","l":"getRefName(int)"},{"p":"proguard.classfile","c":"Clazz","l":"getRefType(int)"},{"p":"proguard.classfile","c":"LibraryClass","l":"getRefType(int)"},{"p":"proguard.classfile","c":"ProgramClass","l":"getRefType(int)"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmFrame","l":"getReg(int)"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"getResolvedTargetSignature()"},{"p":"proguard.resources.file","c":"FilePool","l":"getResourceFile(String)","url":"getResourceFile(java.lang.String)"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"getResourceFile(String)","url":"getResourceFile(java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"InvokeExpr","l":"getRet()"},{"p":"proguard.classfile.visitor","c":"ReferencedClassesExtractor","l":"getReturnClass()"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"getReturnClass()"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"getReturnType()"},{"p":"proguard.dexfile.reader","c":"Method","l":"getReturnType()"},{"p":"proguard.dexfile.reader","c":"Proto","l":"getReturnType()"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"getReturnType()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"getReturnValue()"},{"p":"proguard.evaluation","c":"MethodResult","l":"getReturnValue()"},{"p":"proguard.evaluation.exception","c":"StackGeneralizationException","l":"getSecond()"},{"p":"proguard.evaluation.exception","c":"VariablesGeneralizationException","l":"getSecond()"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"GETSIGNATURE_METHOD_DESC"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"GETSIGNATURE_METHOD_NAME"},{"p":"proguard.analysis.cpa.interfaces","c":"CfaNode","l":"getSignature()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"getSignature()"},{"p":"proguard.classfile.kotlin.reflect","c":"CallableReferenceInfo","l":"getSignature()"},{"p":"proguard.classfile.kotlin.reflect","c":"FunctionReferenceInfo","l":"getSignature()"},{"p":"proguard.classfile.kotlin.reflect","c":"JavaFieldReferenceInfo","l":"getSignature()"},{"p":"proguard.classfile.kotlin.reflect","c":"JavaReferenceInfo","l":"getSignature()"},{"p":"proguard.classfile.kotlin.reflect","c":"LocalVariableReferenceInfo","l":"getSignature()"},{"p":"proguard.classfile.kotlin.reflect","c":"PropertyReferenceInfo","l":"getSignature()"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"getSignature()"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeInfo","l":"getSignature(Clazz)","url":"getSignature(proguard.classfile.Clazz)"},{"p":"proguard.classfile.attribute","c":"SignatureAttribute","l":"getSignature(Clazz)","url":"getSignature(proguard.classfile.Clazz)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintExpandOperator","l":"getSignaturesToSources()"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"getSize()"},{"p":"proguard.io","c":"ClassPathDataEntry","l":"getSize()"},{"p":"proguard.io","c":"DataEntry","l":"getSize()"},{"p":"proguard.io","c":"DummyDataEntry","l":"getSize()"},{"p":"proguard.io","c":"FileDataEntry","l":"getSize()"},{"p":"proguard.io","c":"NamedDataEntry","l":"getSize()"},{"p":"proguard.io","c":"StreamingDataEntry","l":"getSize()"},{"p":"proguard.io","c":"WrappedDataEntry","l":"getSize()"},{"p":"proguard.io","c":"ZipDataEntry","l":"getSize()"},{"p":"proguard.io","c":"ZipFileDataEntry","l":"getSize()"},{"p":"proguard.analysis.cpa.interfaces","c":"CfaEdge","l":"getSource()"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmCfaEdge","l":"getSource()"},{"p":"proguard.classfile.attribute","c":"ExtendedLineNumberInfo","l":"getSource()"},{"p":"proguard.classfile.attribute","c":"LineNumberInfo","l":"getSource()"},{"p":"proguard.classfile.attribute","c":"LineNumberTableAttribute","l":"getSource(int)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"getSourceLocations()"},{"p":"proguard.analysis.cpa.bam","c":"BamLocationDependent","l":"getSourceReachedSet()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"BamLocationDependentJvmMemoryLocation","l":"getSourceReachedSet()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"getSourceReachedSet()"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"getSpecificInstance()"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"getStackAfter(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"getStackBefore(int)"},{"p":"proguard.util","c":"PartialEvaluatorUtils","l":"getStackBefore(PartialEvaluator, int, int)","url":"getStackBefore(proguard.evaluation.PartialEvaluator,int,int)"},{"p":"proguard.classfile.attribute.visitor","c":"StackSizeComputer","l":"getStackSizeAfter(int)"},{"p":"proguard.classfile.attribute.visitor","c":"StackSizeComputer","l":"getStackSizeBefore(int)"},{"p":"proguard.util","c":"PartialEvaluatorUtils","l":"getStackValue(Stack, int)","url":"getStackValue(proguard.evaluation.Stack,int)"},{"p":"proguard.analysis.cpa.interfaces","c":"AbstractState","l":"getStateByName(String)","url":"getStateByName(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"getstatic(Clazz, Field)","url":"getstatic(proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"getstatic(Clazz, Field)","url":"getstatic(proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"getstatic(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"getstatic(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"getstatic(String, String, String, Clazz, Field)","url":"getstatic(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"getstatic(String, String, String, Clazz, Field)","url":"getstatic(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"getstatic(String, String, String)","url":"getstatic(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"getstatic(String, String, String)","url":"getstatic(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"getStaticFields()"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper","l":"getStaticMethodHandlers(Class)","url":"getStaticMethodHandlers(java.lang.Class)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceAbstractState","l":"getStaticOrDefault(String, SetAbstractState)","url":"getStaticOrDefault(java.lang.String,proguard.analysis.cpa.defaults.SetAbstractState)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"getStaticOrDefault(String, StateT)","url":"getStaticOrDefault(java.lang.String,StateT)"},{"p":"proguard.analysis.cpa.bam","c":"BamCpa","l":"getStopOperator()"},{"p":"proguard.analysis.cpa.defaults","c":"SimpleCpa","l":"getStopOperator()"},{"p":"proguard.analysis.cpa.interfaces","c":"ConfigurableProgramAnalysis","l":"getStopOperator()"},{"p":"proguard.classfile.constant","c":"Utf8Constant","l":"getString()"},{"p":"proguard.util","c":"StringUtil","l":"getString(byte[], int, int)","url":"getString(byte[],int,int)"},{"p":"proguard.util","c":"StringUtil","l":"getString(byte[])"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"getString(Clazz)","url":"getString(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"Clazz","l":"getString(int)"},{"p":"proguard.classfile","c":"LibraryClass","l":"getString(int)"},{"p":"proguard.classfile","c":"ProgramClass","l":"getString(int)"},{"p":"proguard.classfile","c":"Clazz","l":"getStringString(int)"},{"p":"proguard.classfile","c":"LibraryClass","l":"getStringString(int)"},{"p":"proguard.classfile","c":"ProgramClass","l":"getStringString(int)"},{"p":"proguard.util","c":"BasicHierarchyProvider","l":"getSubClasses(String)","url":"getSubClasses(java.lang.String)"},{"p":"proguard.util","c":"HierarchyProvider","l":"getSubClasses(String)","url":"getSubClasses(java.lang.String)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"getSuccessorDepth()"},{"p":"proguard.util","c":"CallGraphWalker","l":"getSuccessors(CallGraph, MethodSignature, int, int)","url":"getSuccessors(proguard.analysis.datastructure.callgraph.CallGraph,proguard.classfile.MethodSignature,int,int)"},{"p":"proguard.util","c":"CallGraphWalker","l":"getSuccessors(CallGraph, MethodSignature)","url":"getSuccessors(proguard.analysis.datastructure.callgraph.CallGraph,proguard.classfile.MethodSignature)"},{"p":"proguard.classfile","c":"Clazz","l":"getSuperClass()"},{"p":"proguard.classfile","c":"LibraryClass","l":"getSuperClass()"},{"p":"proguard.classfile","c":"ProgramClass","l":"getSuperClass()"},{"p":"proguard.analysis","c":"CallUtil","l":"getSuperinterfaces(Clazz, Set)","url":"getSuperinterfaces(proguard.classfile.Clazz,java.util.Set)"},{"p":"proguard.classfile","c":"Clazz","l":"getSuperName()"},{"p":"proguard.classfile","c":"LibraryClass","l":"getSuperName()"},{"p":"proguard.classfile","c":"ProgramClass","l":"getSuperName()"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper","l":"getSupportedMethods(Class)","url":"getSupportedMethods(java.lang.Class)"},{"p":"proguard.evaluation.executor","c":"Executor","l":"getSupportedMethodSignatures()"},{"p":"proguard.evaluation.executor","c":"JavaReflectionApiExecutor","l":"getSupportedMethodSignatures()"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor","l":"getSupportedMethodSignatures()"},{"p":"proguard.evaluation.executor","c":"StringReflectionExecutor","l":"getSupportedMethodSignatures()"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationElementValue","l":"getTag()"},{"p":"proguard.classfile.attribute.annotation","c":"ArrayElementValue","l":"getTag()"},{"p":"proguard.classfile.attribute.annotation","c":"ClassElementValue","l":"getTag()"},{"p":"proguard.classfile.attribute.annotation","c":"ConstantElementValue","l":"getTag()"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"getTag()"},{"p":"proguard.classfile.attribute.annotation","c":"EnumConstantElementValue","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"DoubleType","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"FloatType","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"IntegerType","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"LessZeroFrame","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"LongType","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"MoreZeroFrame","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"NullType","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"ObjectType","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"SameOneFrame","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"SameZeroFrame","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"TopType","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedThisType","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedType","l":"getTag()"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"getTag()"},{"p":"proguard.classfile.constant","c":"ClassConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"Constant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"DoubleConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"FieldrefConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"FloatConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"IntegerConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"InterfaceMethodrefConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"LongConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"MethodrefConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"ModuleConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"PackageConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"getTag()"},{"p":"proguard.classfile.constant","c":"Utf8Constant","l":"getTag()"},{"p":"proguard.classfile","c":"Clazz","l":"getTag(int)"},{"p":"proguard.classfile","c":"LibraryClass","l":"getTag(int)"},{"p":"proguard.classfile","c":"ProgramClass","l":"getTag(int)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun","l":"getTaintSinks()"},{"p":"proguard.analysis.cpa.interfaces","c":"CfaEdge","l":"getTarget()"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmCfaEdge","l":"getTarget()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"getTarget()"},{"p":"proguard.analysis.datastructure.callgraph","c":"ConcreteCall","l":"getTarget()"},{"p":"proguard.analysis.datastructure.callgraph","c":"SymbolicCall","l":"getTarget()"},{"p":"proguard.dexfile.ir.stmt","c":"GotoStmt","l":"getTarget()"},{"p":"proguard.dexfile.ir.stmt","c":"IfStmt","l":"getTarget()"},{"p":"proguard.dexfile.ir.stmt","c":"JumpStmt","l":"getTarget()"},{"p":"proguard.analysis.datastructure.callgraph","c":"ConcreteCall","l":"getTargetClass()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"getTargetClass()"},{"p":"proguard.classfile.editor","c":"ConstantPoolEditor","l":"getTargetClass()"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"getTargetClass()"},{"p":"proguard.analysis.datastructure.callgraph","c":"ConcreteCall","l":"getTargetMethod()"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"getTargetType()"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"getTargetType()"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"getterFlags"},{"p":"proguard.classfile.util.kotlin","c":"KotlinNameUtil","l":"getterNameToPropertyName(String, boolean)","url":"getterNameToPropertyName(java.lang.String,boolean)"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"getterSignature"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmFrame","l":"getTmp()"},{"p":"proguard.evaluation","c":"Stack","l":"getTop(int)"},{"p":"proguard.evaluation","c":"TracedStack","l":"getTopActualProducerValue(int)"},{"p":"proguard.evaluation","c":"TracedStack","l":"getTopProducerValue(int)"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmFrame","l":"getTotalRegisters()"},{"p":"proguard.evaluation","c":"BasicBranchUnit","l":"getTraceBranchTargets()"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"getTraceValue()"},{"p":"proguard.analysis.cpa.bam","c":"BamCpa","l":"getTransferRelation()"},{"p":"proguard.analysis.cpa.defaults","c":"SimpleCpa","l":"getTransferRelation()"},{"p":"proguard.analysis.cpa.interfaces","c":"ConfigurableProgramAnalysis","l":"getTransferRelation()"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"getType()"},{"p":"proguard.dexfile.reader","c":"Field","l":"getType()"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"getType()"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"getType()"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"getType()"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"getType()"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"getType()"},{"p":"proguard.evaluation.value","c":"UnknownReferenceValue","l":"getType()"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObject","l":"getType()"},{"p":"proguard.evaluation.value.object.model","c":"ArrayModel","l":"getType()"},{"p":"proguard.evaluation.value.object.model","c":"ClassModel","l":"getType()"},{"p":"proguard.evaluation.value.object.model","c":"Model","l":"getType()"},{"p":"proguard.classfile.attribute","c":"EnclosingMethodAttribute","l":"getType(Clazz)","url":"getType(proguard.classfile.Clazz)"},{"p":"proguard.classfile.attribute.annotation","c":"Annotation","l":"getType(Clazz)","url":"getType(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"getType(Clazz)","url":"getType(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"getType(Clazz)","url":"getType(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"getType(Clazz)","url":"getType(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"getType(Clazz)","url":"getType(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"getType(Clazz)","url":"getType(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"getType(Clazz)","url":"getType(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"Clazz","l":"getType(int)"},{"p":"proguard.classfile","c":"LibraryClass","l":"getType(int)"},{"p":"proguard.classfile","c":"ProgramClass","l":"getType(int)"},{"p":"proguard.classfile.attribute.annotation","c":"EnumConstantElementValue","l":"getTypeName(Clazz)","url":"getTypeName(proguard.classfile.Clazz)"},{"p":"proguard.evaluation","c":"MethodResult","l":"getUpdatedInstance()"},{"p":"proguard.evaluation","c":"MethodResult","l":"getUpdatedParameters()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"ValueAbstractState","l":"getValue()"},{"p":"proguard.classfile.constant","c":"DoubleConstant","l":"getValue()"},{"p":"proguard.classfile.constant","c":"FloatConstant","l":"getValue()"},{"p":"proguard.classfile.constant","c":"IntegerConstant","l":"getValue()"},{"p":"proguard.classfile.constant","c":"LongConstant","l":"getValue()"},{"p":"proguard.evaluation.exception","c":"ArrayStoreTypeException","l":"getValue()"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"getValue()"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"getValue()"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"getValue()"},{"p":"proguard.evaluation","c":"Variables","l":"getValue(int)"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper.MethodExecutionContext","l":"getValueCalculator()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueAbstractState","l":"getValueFactory()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"getValueFactory()"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"getValues()"},{"p":"proguard.evaluation","c":"Variables","l":"getValues()"},{"p":"proguard.evaluation.value.object.model","c":"ArrayModel","l":"getValues()"},{"p":"proguard.util","c":"MultiValueMap","l":"getValues()"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceAbstractState","l":"getVariableOrDefault(int, SetAbstractState)","url":"getVariableOrDefault(int,proguard.analysis.cpa.defaults.SetAbstractState)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"getVariableOrDefault(int, StateT)","url":"getVariableOrDefault(int,StateT)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"getVariableOrDefault(int, StateT)","url":"getVariableOrDefault(int,StateT)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueAbstractState","l":"getVariableOrDefault(int, ValueAbstractState)","url":"getVariableOrDefault(int,proguard.analysis.cpa.jvm.domain.value.ValueAbstractState)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"getVariablesAfter(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"getVariablesBefore(int)"},{"p":"proguard.analysis.cpa.bam","c":"BamTransferRelation","l":"getWaitlist()"},{"p":"proguard.analysis.cpa.bam","c":"BlockAbstraction","l":"getWaitlist()"},{"p":"proguard.io","c":"ClassPathEntry","l":"getWarFilter()"},{"p":"proguard.classfile.util","c":"WarningLogger","l":"getWarningCount()"},{"p":"proguard.classfile.util","c":"WarningPrinter","l":"getWarningCount()"},{"p":"proguard.analysis.cpa.bam","c":"BamTransferRelation","l":"getWrappedCpa()"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractSingleWrapperState","l":"getWrappedState()"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractSingleWrapperState","l":"getWrappedStates()"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWrapperState","l":"getWrappedStates()"},{"p":"proguard.analysis.cpa.defaults","c":"SingleWrapperTransferRelation","l":"getWrappedTransferRelations()"},{"p":"proguard.analysis.cpa.interfaces","c":"WrapperTransferRelation","l":"getWrappedTransferRelations()"},{"p":"proguard.io","c":"ClassPathEntry","l":"getZipFilter()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"GOTO"},{"p":"proguard.dexfile.reader","c":"Op","l":"GOTO"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"goto_(CompactCodeAttributeComposer.Label)","url":"goto_(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"goto_(int)"},{"p":"proguard.dexfile.reader","c":"Op","l":"GOTO_16"},{"p":"proguard.dexfile.reader","c":"Op","l":"GOTO_32"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"goto_w(CompactCodeAttributeComposer.Label)","url":"goto_w(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"goto_w(int)"},{"p":"proguard.dexfile.ir.stmt","c":"GotoStmt","l":"GotoStmt(LabelStmt)","url":"%3Cinit%3E(proguard.dexfile.ir.stmt.LabelStmt)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"greaterThan(IntegerValue)","url":"greaterThan(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"greaterThan(ParticularIntegerValue)","url":"greaterThan(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"greaterThan(RangeIntegerValue)","url":"greaterThan(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"greaterThan(SpecificIntegerValue)","url":"greaterThan(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"greaterThan(UnknownIntegerValue)","url":"greaterThan(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"greaterThanOrEqual(IntegerValue)","url":"greaterThanOrEqual(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"greaterThanOrEqual(ParticularIntegerValue)","url":"greaterThanOrEqual(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"greaterThanOrEqual(RangeIntegerValue)","url":"greaterThanOrEqual(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"greaterThanOrEqual(SpecificIntegerValue)","url":"greaterThanOrEqual(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"greaterThanOrEqual(UnknownIntegerValue)","url":"greaterThanOrEqual(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"GT"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"H"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"H"},{"p":"proguard.dexfile.ir.expr","c":"InvokeCustomExpr","l":"handle"},{"p":"proguard.analysis","c":"CallHandler","l":"handleCall(Call, TracedStack, TracedVariables)","url":"handleCall(proguard.analysis.datastructure.callgraph.Call,proguard.evaluation.TracedStack,proguard.evaluation.TracedVariables)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"handleCheckCast(StateT, String)","url":"handleCheckCast(StateT,java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"handleCheckCast(ValueAbstractState, String)","url":"handleCheckCast(proguard.analysis.cpa.jvm.domain.value.ValueAbstractState,java.lang.String)"},{"p":"proguard.dexfile.reader.node","c":"TryCatchNode","l":"handler"},{"p":"proguard.dexfile.ir","c":"Trap","l":"handlers"},{"p":"proguard.io.util","c":"ClassPathUtil","l":"hasAabInput(ClassPath)","url":"hasAabInput(proguard.io.ClassPath)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"hasAnnotations"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinCommonFlags","l":"hasAnnotations"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinConstructorFlags","l":"hasAnnotations"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"hasAnnotations"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyAccessorFlags","l":"hasAnnotations"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"hasAnnotations"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinTypeAliasFlags","l":"hasAnnotations"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinValueParameterFlags","l":"hasAnnotations"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"hasConstant"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectExpressionMetadata","l":"hasConstantValue"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinValueParameterFlags","l":"hasDefaultValue"},{"p":"proguard.classfile.util","c":"InternalTypeEnumeration","l":"hasFormalTypeParameters()"},{"p":"proguard.classfile","c":"Signature","l":"hashCode"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWrapperState","l":"hashCode()"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"hashCode()"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSink","l":"hashCode()"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSource","l":"hashCode()"},{"p":"proguard.analysis.cpa.interfaces","c":"AbstractState","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"BamLocationDependentJvmMemoryLocation","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState.StackEntry","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"Reference","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmReturnTaintSink","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSink","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSource","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"ValueAbstractState","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmForgetfulHeapAbstractState","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmHeapLocation","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmLocalVariableLocation","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmMemoryLocation","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmStackLocation","l":"hashCode()"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmStaticFieldLocation","l":"hashCode()"},{"p":"proguard.analysis.datastructure","c":"CodeLocation","l":"hashCode()"},{"p":"proguard.analysis.datastructure","c":"FileLocation","l":"hashCode()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"hashCode()"},{"p":"proguard.analysis.datastructure.callgraph","c":"ConcreteCall","l":"hashCode()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"hashCode()"},{"p":"proguard.analysis.datastructure.callgraph","c":"SymbolicCall","l":"hashCode()"},{"p":"proguard.classfile","c":"BasicMethodInfo","l":"hashCode()"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"hashCode()"},{"p":"proguard.classfile","c":"Signature","l":"hashCode()"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"hashCode()"},{"p":"proguard.classfile.attribute.preverification","c":"LessZeroFrame","l":"hashCode()"},{"p":"proguard.classfile.attribute.preverification","c":"MoreZeroFrame","l":"hashCode()"},{"p":"proguard.classfile.attribute.preverification","c":"ObjectType","l":"hashCode()"},{"p":"proguard.classfile.attribute.preverification","c":"SameOneFrame","l":"hashCode()"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"hashCode()"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedType","l":"hashCode()"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"ClassConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"DoubleConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"FloatConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"IntegerConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"LongConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"ModuleConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"PackageConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"hashCode()"},{"p":"proguard.classfile.constant","c":"Utf8Constant","l":"hashCode()"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor.Label","l":"hashCode()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer.Label","l":"hashCode()"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"hashCode()"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"hashCode()"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"hashCode()"},{"p":"proguard.classfile.instruction","c":"LookUpSwitchInstruction","l":"hashCode()"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"hashCode()"},{"p":"proguard.classfile.instruction","c":"SwitchInstruction","l":"hashCode()"},{"p":"proguard.classfile.instruction","c":"TableSwitchInstruction","l":"hashCode()"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"hashCode()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"hashCode()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument","l":"hashCode()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.AnnotationValue","l":"hashCode()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ArrayValue","l":"hashCode()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ClassValue","l":"hashCode()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.EnumValue","l":"hashCode()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.LiteralValue","l":"hashCode()"},{"p":"proguard.dexfile.reader","c":"Method","l":"hashCode()"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"hashCode()"},{"p":"proguard.dexfile.reader","c":"Proto","l":"hashCode()"},{"p":"proguard.evaluation","c":"Stack","l":"hashCode()"},{"p":"proguard.evaluation","c":"TracedStack","l":"hashCode()"},{"p":"proguard.evaluation","c":"TracedVariables","l":"hashCode()"},{"p":"proguard.evaluation","c":"Variables","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ArrayReferenceValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ComparisonValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"CompositeDoubleValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"CompositeFloatValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ConvertedByteValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ConvertedCharacterValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ConvertedDoubleValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ConvertedFloatValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ConvertedIntegerValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ConvertedLongValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ConvertedShortValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"IdentifiedArrayReferenceValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"IdentifiedDoubleValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"IdentifiedFloatValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"IdentifiedIntegerValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"IdentifiedLongValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"IdentifiedReferenceValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"NegatedDoubleValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"NegatedFloatValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"NegatedIntegerValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"NegatedLongValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"TopValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"hashCode()"},{"p":"proguard.evaluation.value","c":"UnknownValue","l":"hashCode()"},{"p":"proguard.evaluation.value.object.model","c":"ArrayModel","l":"hashCode()"},{"p":"proguard.evaluation.value.object.model","c":"ClassModel","l":"hashCode()"},{"p":"proguard.resources.file","c":"ResourceJavaReference","l":"hashCode()"},{"p":"proguard.util","c":"ArrayUtil","l":"hashCode(boolean[], int)","url":"hashCode(boolean[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"hashCode(byte[], int)","url":"hashCode(byte[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"hashCode(char[], int)","url":"hashCode(char[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"hashCode(double[], int)","url":"hashCode(double[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"hashCode(float[], int)","url":"hashCode(float[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"hashCode(int[], int)","url":"hashCode(int[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"hashCode(long[], int)","url":"hashCode(long[],int)"},{"p":"proguard.util","c":"ObjectUtil","l":"hashCode(Object)","url":"hashCode(java.lang.Object)"},{"p":"proguard.util","c":"ArrayUtil","l":"hashCode(Object[], int)","url":"hashCode(java.lang.Object[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"hashCode(short[], int)","url":"hashCode(short[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"hashCodeOrNull(Object[], int)","url":"hashCodeOrNull(java.lang.Object[],int)"},{"p":"proguard.util","c":"ArrayUtil","l":"hashCodeOrNull(Object[])","url":"hashCodeOrNull(java.lang.Object[])"},{"p":"proguard.analysis.cpa.defaults","c":"HashMapAbstractState","l":"HashMapAbstractState()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.defaults","c":"HashMapAbstractState","l":"HashMapAbstractState(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.analysis.cpa.defaults","c":"HashMapAbstractState","l":"HashMapAbstractState(Map)","url":"%3Cinit%3E(java.util.Map)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"hasIncompleteTarget()"},{"p":"proguard.analysis.datastructure.callgraph","c":"ConcreteCall","l":"hasIncompleteTarget()"},{"p":"proguard.analysis.datastructure.callgraph","c":"SymbolicCall","l":"hasIncompleteTarget()"},{"p":"proguard.classfile.visitor","c":"CounterConditionalClassVisitor","l":"hasIncreased(int, int)","url":"hasIncreased(int,int)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"hasMethodBodiesInInterface"},{"p":"proguard.classfile.util","c":"DescriptorClassEnumeration","l":"hasMoreClassNames()"},{"p":"proguard.classfile.util","c":"ExternalTypeEnumeration","l":"hasMoreTypes()"},{"p":"proguard.classfile.util","c":"InternalTypeEnumeration","l":"hasMoreTypes()"},{"p":"proguard.classfile.util","c":"InternalTypeEnumeration","l":"hasNext()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinConstructorFlags","l":"hasNonStableParameterNames"},{"p":"proguard.io","c":"ClassPath","l":"hasOutput()"},{"p":"proguard.util","c":"SimpleProcessable","l":"hasProcessingFlags(int...)"},{"p":"proguard.classfile.attribute.visitor","c":"LineNumberRangeFinder","l":"hasSource()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"heap"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun","l":"heapModel"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun.Builder","l":"heapModel"},{"p":"proguard.classfile","c":"Clazz","l":"hierarchyAccept(boolean, boolean, boolean, boolean, ClassVisitor)","url":"hierarchyAccept(boolean,boolean,boolean,boolean,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"hierarchyAccept(boolean, boolean, boolean, boolean, ClassVisitor)","url":"hierarchyAccept(boolean,boolean,boolean,boolean,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"hierarchyAccept(boolean, boolean, boolean, boolean, ClassVisitor)","url":"hierarchyAccept(boolean,boolean,boolean,boolean,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.instruction","c":"TableSwitchInstruction","l":"highCase"},{"p":"proguard.classfile.io.kotlin","c":"KotlinMetadataWriter","l":"HIGHEST_ALLOWED_TO_WRITE"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"I"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"I"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"i2b()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"i2b()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"i2c()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"i2c()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"i2d()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"i2d()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"i2f()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"i2f()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"i2l()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"i2l()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"i2s()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"i2s()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iadd()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iadd()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iaload()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iaload()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iand()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iand()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iastore()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iastore()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iconst_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iconst_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iconst_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iconst_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iconst_2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iconst_2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iconst_3()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iconst_3()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iconst_4()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iconst_4()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iconst_5()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iconst_5()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iconst_m1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iconst_m1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iconst(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iconst(int)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"id"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"id"},{"p":"proguard.evaluation.value","c":"IdentifiedArrayReferenceValue","l":"id"},{"p":"proguard.evaluation.value","c":"IdentifiedReferenceValue","l":"id"},{"p":"proguard.evaluation.value","c":"IdentifiedArrayReferenceValue","l":"IdentifiedArrayReferenceValue(String, Clazz, boolean, IntegerValue, ValueFactory, int)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.Clazz,boolean,proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory,int)"},{"p":"proguard.evaluation.value","c":"IdentifiedDoubleValue","l":"IdentifiedDoubleValue(ValueFactory, int)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,int)"},{"p":"proguard.evaluation.value","c":"IdentifiedFloatValue","l":"IdentifiedFloatValue(ValueFactory, int)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,int)"},{"p":"proguard.evaluation.value","c":"IdentifiedIntegerValue","l":"IdentifiedIntegerValue(ValueFactory, int)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,int)"},{"p":"proguard.evaluation.value","c":"IdentifiedLongValue","l":"IdentifiedLongValue(ValueFactory, int)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,int)"},{"p":"proguard.evaluation.value","c":"IdentifiedReferenceValue","l":"IdentifiedReferenceValue(String, Clazz, boolean, boolean, ValueFactory, Object)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.Clazz,boolean,boolean,proguard.evaluation.value.ValueFactory,java.lang.Object)"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"IdentifiedValueFactory()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"IdentifiedValueFactory(ValueFactory, ValueFactory)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"IdentifiedValueFactory","l":"IdentifiedValueFactory(ValueFactory)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor.Label","l":"identifier"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer.Label","l":"identifier"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"IDENTITY"},{"p":"proguard.util","c":"StringFunction","l":"IDENTITY_FUNCTION"},{"p":"proguard.util","c":"IdentityStringFunction","l":"IdentityStringFunction()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"IDIV"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"idiv()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"idiv()"},{"p":"proguard.io","c":"IdleRewriter","l":"IdleRewriter(DataEntryWriter)","url":"%3Cinit%3E(proguard.io.DataEntryWriter)"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"IF"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"IF"},{"p":"proguard.dexfile.reader","c":"Op","l":"IF_EQ"},{"p":"proguard.dexfile.reader","c":"Op","l":"IF_EQZ"},{"p":"proguard.dexfile.reader","c":"Op","l":"IF_GE"},{"p":"proguard.dexfile.reader","c":"Op","l":"IF_GEZ"},{"p":"proguard.dexfile.reader","c":"Op","l":"IF_GT"},{"p":"proguard.dexfile.reader","c":"Op","l":"IF_GTZ"},{"p":"proguard.dexfile.reader","c":"Op","l":"IF_LE"},{"p":"proguard.dexfile.reader","c":"Op","l":"IF_LEZ"},{"p":"proguard.dexfile.reader","c":"Op","l":"IF_LT"},{"p":"proguard.dexfile.reader","c":"Op","l":"IF_LTZ"},{"p":"proguard.dexfile.reader","c":"Op","l":"IF_NE"},{"p":"proguard.dexfile.reader","c":"Op","l":"IF_NEZ"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ifacmpeq(CompactCodeAttributeComposer.Label)","url":"ifacmpeq(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ifacmpeq(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ifacmpne(CompactCodeAttributeComposer.Label)","url":"ifacmpne(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ifacmpne(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ifeq(CompactCodeAttributeComposer.Label)","url":"ifeq(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ifeq(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ifge(CompactCodeAttributeComposer.Label)","url":"ifge(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ifge(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ifgt(CompactCodeAttributeComposer.Label)","url":"ifgt(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ifgt(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ificmpeq(CompactCodeAttributeComposer.Label)","url":"ificmpeq(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ificmpeq(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ificmpge(CompactCodeAttributeComposer.Label)","url":"ificmpge(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ificmpge(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ificmpgt(CompactCodeAttributeComposer.Label)","url":"ificmpgt(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ificmpgt(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ificmple(CompactCodeAttributeComposer.Label)","url":"ificmple(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ificmple(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ificmplt(CompactCodeAttributeComposer.Label)","url":"ificmplt(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ificmplt(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ificmpne(CompactCodeAttributeComposer.Label)","url":"ificmpne(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ificmpne(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ifle(CompactCodeAttributeComposer.Label)","url":"ifle(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ifle(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iflt(CompactCodeAttributeComposer.Label)","url":"iflt(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iflt(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ifne(CompactCodeAttributeComposer.Label)","url":"ifne(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ifne(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ifnonnull(CompactCodeAttributeComposer.Label)","url":"ifnonnull(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ifnonnull(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ifnull(CompactCodeAttributeComposer.Label)","url":"ifnull(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ifnull(int)"},{"p":"proguard.dexfile.ir.stmt","c":"IfStmt","l":"IfStmt(Stmt.ST, Value, LabelStmt)","url":"%3Cinit%3E(proguard.dexfile.ir.stmt.Stmt.ST,proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.stmt.LabelStmt)"},{"p":"proguard.dexfile.reader","c":"Op","l":"IGET"},{"p":"proguard.dexfile.reader","c":"Op","l":"IGET_BOOLEAN"},{"p":"proguard.dexfile.reader","c":"Op","l":"IGET_BYTE"},{"p":"proguard.dexfile.reader","c":"Op","l":"IGET_CHAR"},{"p":"proguard.dexfile.reader","c":"Op","l":"IGET_OBJECT"},{"p":"proguard.dexfile.reader","c":"Op","l":"IGET_SHORT"},{"p":"proguard.dexfile.reader","c":"Op","l":"IGET_WIDE"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"IGNORE_READ_EXCEPTION"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"ignoreClass(String)","url":"ignoreClass(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iinc(int, int)","url":"iinc(int,int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iinc(int, int)","url":"iinc(int,int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iload_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iload_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iload_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iload_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iload_2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iload_2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iload_3()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iload_3()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iload(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iload(int)"},{"p":"proguard.evaluation","c":"Variables","l":"iload(int)"},{"p":"proguard.classfile.visitor","c":"ImplementedClassConstantFilter","l":"ImplementedClassConstantFilter(Clazz, ConstantVisitor)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.visitor","c":"ImplementedClassFilter","l":"ImplementedClassFilter(Clazz, boolean, ClassVisitor, ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.Clazz,boolean,proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ImplementingClassConstantFilter","l":"ImplementingClassConstantFilter(Clazz, ConstantVisitor)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"imul()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"imul()"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeVariance","l":"IN"},{"p":"proguard.analysis.datastructure.callgraph","c":"CallGraph","l":"incoming"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"incomingCallLocations"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"INCOMPLETE_CALL_SKIPPED"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"INCOMPLETE_CLASS_HIERARCHY"},{"p":"proguard.exception","c":"ErrorId","l":"INCOMPLETE_CLASS_HIERARCHY"},{"p":"proguard.evaluation","c":"IncompleteClassHierarchyException","l":"IncompleteClassHierarchyException(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.evaluation.exception","c":"IncompleteClassHierarchyException","l":"IncompleteClassHierarchyException(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.analysis","c":"Metrics","l":"increaseCount(Metrics.MetricType)","url":"increaseCount(proguard.analysis.Metrics.MetricType)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmLocalVariableLocation","l":"index"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmStackLocation","l":"index"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"index"},{"p":"proguard.util","c":"ArrayUtil","l":"indexOf(boolean[], int, boolean)","url":"indexOf(boolean[],int,boolean)"},{"p":"proguard.util","c":"ArrayUtil","l":"indexOf(byte[], int, byte)","url":"indexOf(byte[],int,byte)"},{"p":"proguard.util","c":"ArrayUtil","l":"indexOf(char[], int, char)","url":"indexOf(char[],int,char)"},{"p":"proguard.util","c":"ArrayUtil","l":"indexOf(double[], int, double)","url":"indexOf(double[],int,double)"},{"p":"proguard.util","c":"ArrayUtil","l":"indexOf(float[], int, float)","url":"indexOf(float[],int,float)"},{"p":"proguard.util","c":"ArrayUtil","l":"indexOf(int[], int, int)","url":"indexOf(int[],int,int)"},{"p":"proguard.util","c":"ArrayUtil","l":"indexOf(long[], int, long)","url":"indexOf(long[],int,long)"},{"p":"proguard.util","c":"ArrayUtil","l":"indexOf(Object[], int, Object)","url":"indexOf(java.lang.Object[],int,java.lang.Object)"},{"p":"proguard.util","c":"ArrayUtil","l":"indexOf(short[], int, short)","url":"indexOf(short[],int,short)"},{"p":"proguard.dexfile.reader","c":"Op","l":"indexType"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ineg()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ineg()"},{"p":"proguard.classfile.attribute","c":"SourceDebugExtensionAttribute","l":"info"},{"p":"proguard.classfile.attribute","c":"UnknownAttribute","l":"info"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"init()"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmFrame","l":"init(DvmFrame)","url":"init(proguard.dexfile.reader.node.analysis.DvmFrame)"},{"p":"proguard.evaluation.value.object.model","c":"ArrayModel","l":"init(MethodExecutionInfo, ValueCalculator)","url":"init(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.evaluation.value.object.model","c":"ClassModel","l":"init(MethodExecutionInfo, ValueCalculator)","url":"init(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.evaluation.value.object.model","c":"Model","l":"init(MethodExecutionInfo, ValueCalculator)","url":"init(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ReflectiveModel","l":"init(MethodExecutionInfo, ValueCalculator)","url":"init(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"initCFG()"},{"p":"proguard.dexfile.ir.ts","c":"Cfg.FrameVisitor","l":"initFirstFrame(Stmt)","url":"initFirstFrame(proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"initFirstFrame(Stmt)","url":"initFirstFrame(proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.evaluation","c":"InitializationFinder","l":"InitializationFinder()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation","c":"InitializationFinder","l":"InitializationFinder(PartialEvaluator, boolean)","url":"%3Cinit%3E(proguard.evaluation.PartialEvaluator,boolean)"},{"p":"proguard.classfile.util","c":"InitializationUtil","l":"InitializationUtil()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"InitializationUtil","l":"initialize(ClassPool, ClassPool, WarningPrinter)","url":"initialize(proguard.classfile.ClassPool,proguard.classfile.ClassPool,proguard.classfile.util.WarningPrinter)"},{"p":"proguard.classfile.util","c":"InitializationUtil","l":"initialize(ClassPool, ClassPool)","url":"initialize(proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"initialize(Clazz, int, int[], String[], String[], int, String, String)","url":"initialize(proguard.classfile.Clazz,int,int[],java.lang.String[],java.lang.String[],int,java.lang.String,java.lang.String)"},{"p":"proguard.evaluation","c":"TracedVariables","l":"initialize(TracedVariables)","url":"initialize(proguard.evaluation.TracedVariables)"},{"p":"proguard.evaluation","c":"Variables","l":"initialize(Variables)","url":"initialize(proguard.evaluation.Variables)"},{"p":"proguard.classfile.editor","c":"InitializerEditor","l":"InitializerEditor(ProgramClass)","url":"%3Cinit%3E(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"InitializerMethodFilter","l":"InitializerMethodFilter(MemberVisitor, MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"InitializerMethodFilter","l":"InitializerMethodFilter(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.evaluation.value","c":"InitialValueFactory","l":"InitialValueFactory(ValueFactory)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.util","c":"ProcessingFlags","l":"INJECTED"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"inlineClassUnderlyingPropertyTypeAccept(Clazz, KotlinTypeVisitor)","url":"inlineClassUnderlyingPropertyTypeAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"INNER_CLASS_SEPARATOR"},{"p":"proguard.classfile","c":"TypeConstants","l":"INNER_CLASS_SEPARATOR"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"INNER_CLASS_SEPARATOR"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"INNER_CLASSES"},{"p":"proguard.classfile.attribute","c":"InnerClassesInfo","l":"innerClassConstantAccept(Clazz, ConstantVisitor)","url":"innerClassConstantAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.attribute","c":"InnerClassesAttribute","l":"innerClassEntriesAccept(Clazz, InnerClassesInfoVisitor)","url":"innerClassEntriesAccept(proguard.classfile.Clazz,proguard.classfile.attribute.visitor.InnerClassesInfoVisitor)"},{"p":"proguard.classfile.editor","c":"InnerClassesAccessFixer","l":"InnerClassesAccessFixer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"InnerClassesAttribute","l":"InnerClassesAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"InnerClassesAttribute","l":"InnerClassesAttribute(int, int, InnerClassesInfo[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.InnerClassesInfo[])"},{"p":"proguard.classfile.editor","c":"InnerClassesAttributeEditor","l":"InnerClassesAttributeEditor(InnerClassesAttribute)","url":"%3Cinit%3E(proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.attribute","c":"InnerClassesInfo","l":"InnerClassesInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"InnerClassesInfo","l":"InnerClassesInfo(int, int, int, int)","url":"%3Cinit%3E(int,int,int,int)"},{"p":"proguard.classfile.attribute","c":"InnerClassesInfo","l":"innerNameConstantAccept(Clazz, ConstantVisitor)","url":"innerNameConstantAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.analysis.cpa.defaults","c":"SequentialCpaRun","l":"inputCpaRun"},{"p":"proguard.analysis.cpa.defaults","c":"SequentialCpaRun","l":"inputReachedSet"},{"p":"proguard.dexfile.reader.util","c":"InputStreams","l":"InputStreams()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"NestHostFinder","l":"inSameNest(Clazz, Clazz)","url":"inSameNest(proguard.classfile.Clazz,proguard.classfile.Clazz)"},{"p":"proguard.util","c":"ArrayUtil","l":"insert(byte[], int, int, byte)","url":"insert(byte[],int,int,byte)"},{"p":"proguard.util","c":"ArrayUtil","l":"insert(char[], int, int, char)","url":"insert(char[],int,int,char)"},{"p":"proguard.util","c":"ArrayUtil","l":"insert(double[], int, int, double)","url":"insert(double[],int,int,double)"},{"p":"proguard.util","c":"ArrayUtil","l":"insert(float[], int, int, float)","url":"insert(float[],int,int,float)"},{"p":"proguard.util","c":"ArrayUtil","l":"insert(int[], int, int, int)","url":"insert(int[],int,int,int)"},{"p":"proguard.util","c":"ArrayUtil","l":"insert(long[], int, int, long)","url":"insert(long[],int,int,long)"},{"p":"proguard.util","c":"ArrayUtil","l":"insert(short[], int, int, short)","url":"insert(short[],int,int,short)"},{"p":"proguard.util","c":"ArrayUtil","l":"insert(T[], int, int, T)","url":"insert(T[],int,int,T)"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"insertAfter(Stmt, Stmt)","url":"insertAfter(proguard.dexfile.ir.stmt.Stmt,proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"insertAfterInstruction(int, Instruction)","url":"insertAfterInstruction(int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"insertAfterInstruction(int, Instruction[])","url":"insertAfterInstruction(int,proguard.classfile.instruction.Instruction[])"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"insertBefore(Stmt, Stmt)","url":"insertBefore(proguard.dexfile.ir.stmt.Stmt,proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"insertBeforeInstruction(int, Instruction)","url":"insertBeforeInstruction(int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"insertBeforeInstruction(int, Instruction[])","url":"insertBeforeInstruction(int,proguard.classfile.instruction.Instruction[])"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"insertBeforeOffset(int, Instruction)","url":"insertBeforeOffset(int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"insertBeforeOffset(int, Instruction[])","url":"insertBeforeOffset(int,proguard.classfile.instruction.Instruction[])"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"insertFirst(Stmt)","url":"insertFirst(proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"insertLast(Stmt)","url":"insertLast(proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"insertLineNumber(int, LineNumberInfo)","url":"insertLineNumber(int,proguard.classfile.attribute.LineNumberInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"insertLineNumber(LineNumberInfo)","url":"insertLineNumber(proguard.classfile.attribute.LineNumberInfo)"},{"p":"proguard.analysis.cpa.defaults","c":"NeverAbortOperator","l":"INSTANCE"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmUnknownCfaNode","l":"INSTANCE"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"INSTANCE_GET"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"INSTANCE_OF"},{"p":"proguard.dexfile.reader","c":"Op","l":"INSTANCE_OF"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"INSTANCE_PUT"},{"p":"proguard.evaluation.executor","c":"ReflectionExecutor.InstanceCopyResult","l":"InstanceCopyResult(AnalyzedObject, boolean)","url":"%3Cinit%3E(proguard.evaluation.value.object.AnalyzedObject,boolean)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"instanceof_(Clazz)","url":"instanceof_(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"instanceof_(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"instanceof_(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"instanceof_(String, Clazz)","url":"instanceof_(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"instanceof_(String, Clazz)","url":"instanceof_(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"instanceOf(String, Clazz)","url":"instanceOf(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"instanceOf(String, Clazz)","url":"instanceOf(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"instanceOf(String, Clazz)","url":"instanceOf(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"instanceOf(String, Clazz)","url":"instanceOf(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"instanceOf(String, Clazz)","url":"instanceOf(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.evaluation.value","c":"UnknownReferenceValue","l":"instanceOf(String, Clazz)","url":"instanceOf(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"instruction"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"INSTRUCTION_OFFSET_MASK"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"Instruction()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintTransferRelation.InstructionAbstractInterpreter","l":"InstructionAbstractInterpreter(JvmAbstractState>)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.state.JvmAbstractState)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation.InstructionAbstractInterpreter","l":"InstructionAbstractInterpreter(JvmAbstractState)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.state.JvmAbstractState)"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"instructionAccept(Clazz, Method, int, InstructionVisitor)","url":"instructionAccept(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionAdder","l":"InstructionAdder(ProgramClass, CodeAttributeComposer)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.editor.CodeAttributeComposer)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"instructionBlockDone(Clazz, Method, CodeAttribute, TracedVariables, TracedStack, int)","url":"instructionBlockDone(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"instructionBlockDone(Clazz, Method, CodeAttribute, TracedVariables, TracedStack, int)","url":"instructionBlockDone(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.analysis.cpa.jvm.util","c":"InstructionClassifier","l":"InstructionClassifier()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionConstantVisitor","l":"InstructionConstantVisitor(ConstantVisitor)","url":"%3Cinit%3E(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"instructionCount()"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionCounter","l":"InstructionCounter()","url":"%3Cinit%3E()"},{"p":"proguard.exception","c":"InstructionExceptionFormatter","l":"InstructionExceptionFormatter(Logger, CircularIntBuffer, byte[], Clazz, Method)","url":"%3Cinit%3E(org.apache.logging.log4j.Logger,proguard.util.CircularIntBuffer,byte[],proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.instruction","c":"InstructionFactory","l":"InstructionFactory()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"instructionOffset(int)"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"instructionOffsetCount()"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"instructionOffsetValue()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"instructionOffsetValue()"},{"p":"proguard.evaluation.value","c":"Value","l":"instructionOffsetValue()"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"InstructionOffsetValue(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"InstructionOffsetValue(int[])","url":"%3Cinit%3E(int[])"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionOpCodeFilter","l":"InstructionOpCodeFilter(int[], InstructionVisitor, InstructionVisitor)","url":"%3Cinit%3E(int[],proguard.classfile.instruction.visitor.InstructionVisitor,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionOpCodeFilter","l":"InstructionOpCodeFilter(int[], InstructionVisitor)","url":"%3Cinit%3E(int[],proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"instructions()"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"instructionsAccept(Clazz, Method, InstructionVisitor)","url":"instructionsAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"instructionsAccept(Clazz, Method, int, int, InstructionVisitor)","url":"instructionsAccept(proguard.classfile.Clazz,proguard.classfile.Method,int,int,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"InstructionSequenceBuilder()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"InstructionSequenceBuilder(ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"InstructionSequenceBuilder(ConstantPoolEditor)","url":"%3Cinit%3E(proguard.classfile.editor.ConstantPoolEditor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"InstructionSequenceBuilder(ProgramClass, ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"InstructionSequenceBuilder(ProgramClass)","url":"%3Cinit%3E(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"InstructionSequenceMatcher(Constant[], Instruction[], boolean)","url":"%3Cinit%3E(proguard.classfile.constant.Constant[],proguard.classfile.instruction.Instruction[],boolean)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"InstructionSequenceMatcher(Constant[], Instruction[])","url":"%3Cinit%3E(proguard.classfile.constant.Constant[],proguard.classfile.instruction.Instruction[])"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"InstructionSequenceReplacer(Constant[], Instruction[], Constant[], Instruction[], BranchTargetFinder, CodeAttributeEditor, InstructionVisitor)","url":"%3Cinit%3E(proguard.classfile.constant.Constant[],proguard.classfile.instruction.Instruction[],proguard.classfile.constant.Constant[],proguard.classfile.instruction.Instruction[],proguard.classfile.util.BranchTargetFinder,proguard.classfile.editor.CodeAttributeEditor,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"InstructionSequenceReplacer(Constant[], Instruction[], Constant[], Instruction[], BranchTargetFinder, CodeAttributeEditor)","url":"%3Cinit%3E(proguard.classfile.constant.Constant[],proguard.classfile.instruction.Instruction[],proguard.classfile.constant.Constant[],proguard.classfile.instruction.Instruction[],proguard.classfile.util.BranchTargetFinder,proguard.classfile.editor.CodeAttributeEditor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"InstructionSequenceReplacer(InstructionSequenceMatcher, Constant[], Instruction[], BranchTargetFinder, CodeAttributeEditor, InstructionVisitor)","url":"%3Cinit%3E(proguard.classfile.util.InstructionSequenceMatcher,proguard.classfile.constant.Constant[],proguard.classfile.instruction.Instruction[],proguard.classfile.util.BranchTargetFinder,proguard.classfile.editor.CodeAttributeEditor,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"InstructionSequenceReplacer(InstructionSequenceMatcher, Constant[], Instruction[], Constant[], Instruction[], BranchTargetFinder, CodeAttributeEditor, InstructionVisitor)","url":"%3Cinit%3E(proguard.classfile.util.InstructionSequenceMatcher,proguard.classfile.constant.Constant[],proguard.classfile.instruction.Instruction[],proguard.classfile.constant.Constant[],proguard.classfile.instruction.Instruction[],proguard.classfile.util.BranchTargetFinder,proguard.classfile.editor.CodeAttributeEditor,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequencesReplacer","l":"InstructionSequencesReplacer(Constant[], Instruction[][][], BranchTargetFinder, CodeAttributeEditor, InstructionVisitor)","url":"%3Cinit%3E(proguard.classfile.constant.Constant[],proguard.classfile.instruction.Instruction[][][],proguard.classfile.util.BranchTargetFinder,proguard.classfile.editor.CodeAttributeEditor,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequencesReplacer","l":"InstructionSequencesReplacer(Constant[], Instruction[][][], BranchTargetFinder, CodeAttributeEditor)","url":"%3Cinit%3E(proguard.classfile.constant.Constant[],proguard.classfile.instruction.Instruction[][][],proguard.classfile.util.BranchTargetFinder,proguard.classfile.editor.CodeAttributeEditor)"},{"p":"proguard.classfile.attribute.visitor","c":"InstructionToAttributeVisitor","l":"InstructionToAttributeVisitor(AttributeVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.instruction","c":"InstructionUtil","l":"InstructionUtil()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"InstructionWriter","l":"InstructionWriter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"INT"},{"p":"proguard.classfile","c":"TypeConstants","l":"INT"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"INT"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"INT_A_STRING"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"INT_B_STRING"},{"p":"proguard.dexfile.reader","c":"Op","l":"INT_TO_BYTE"},{"p":"proguard.dexfile.reader","c":"Op","l":"INT_TO_CHAR"},{"p":"proguard.dexfile.reader","c":"Op","l":"INT_TO_DOUBLE"},{"p":"proguard.dexfile.reader","c":"Op","l":"INT_TO_FLOAT"},{"p":"proguard.dexfile.reader","c":"Op","l":"INT_TO_LONG"},{"p":"proguard.dexfile.reader","c":"Op","l":"INT_TO_SHORT"},{"p":"proguard.classfile.constant","c":"Constant","l":"INTEGER"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"INTEGER_TYPE"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"INTEGER_VALUE"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"integerArrayLoad(IntegerValue, ValueFactory)","url":"integerArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"integerArrayLoad(IntegerValue, ValueFactory)","url":"integerArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"integerArrayLoad(IntegerValue, ValueFactory)","url":"integerArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"integerArrayLoad(IntegerValue, ValueFactory)","url":"integerArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.classfile.constant","c":"IntegerConstant","l":"IntegerConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"IntegerConstant","l":"IntegerConstant(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.attribute.preverification","c":"IntegerType","l":"IntegerType()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"integerValue()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"integerValue()"},{"p":"proguard.evaluation.value","c":"Value","l":"integerValue()"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"IntegerValue()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"AccessConstants","l":"INTERFACE"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"INTERFACE"},{"p":"proguard.classfile.constant","c":"Constant","l":"INTERFACE_METHODREF"},{"p":"proguard.classfile.editor","c":"InterfaceAdder","l":"InterfaceAdder(ProgramClass)","url":"%3Cinit%3E(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile","c":"LibraryClass","l":"interfaceClasses"},{"p":"proguard.classfile","c":"Clazz","l":"interfaceConstantsAccept(ConstantVisitor)","url":"interfaceConstantsAccept(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"interfaceConstantsAccept(ConstantVisitor)","url":"interfaceConstantsAccept(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"interfaceConstantsAccept(ConstantVisitor)","url":"interfaceConstantsAccept(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"InterfaceDeleter","l":"InterfaceDeleter(boolean[], boolean)","url":"%3Cinit%3E(boolean[],boolean)"},{"p":"proguard.backport","c":"LambdaExpression","l":"interfaceMethod"},{"p":"proguard.backport","c":"LambdaExpression","l":"interfaceMethodDescriptor"},{"p":"proguard.classfile.constant","c":"InterfaceMethodrefConstant","l":"InterfaceMethodrefConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"InterfaceMethodrefConstant","l":"InterfaceMethodrefConstant(int, int, Clazz, Method)","url":"%3Cinit%3E(int,int,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile","c":"LibraryClass","l":"interfaceNames"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"interfaceNames"},{"p":"proguard.backport","c":"LambdaExpression","l":"interfaces"},{"p":"proguard.classfile","c":"LibraryClass","l":"interfacesAccept(ClassVisitor)","url":"interfacesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.editor","c":"InterfacesEditor","l":"InterfacesEditor(ProgramClass)","url":"%3Cinit%3E(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"InterfaceSorter","l":"InterfaceSorter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalArrayTypeDimensionCount(String)","url":"internalArrayTypeDimensionCount(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalArrayTypeFromClassName(String, int)","url":"internalArrayTypeFromClassName(java.lang.String,int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalArrayTypeFromType(String, int)","url":"internalArrayTypeFromType(java.lang.String,int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalClassName(String)","url":"internalClassName(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalClassNameFromClassSignature(String)","url":"internalClassNameFromClassSignature(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalClassNameFromClassType(String)","url":"internalClassNameFromClassType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalClassNameFromType(String)","url":"internalClassNameFromType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalClassTypeFromType(String)","url":"internalClassTypeFromType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalClassVersion(int, int)","url":"internalClassVersion(int,int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalClassVersion(String)","url":"internalClassVersion(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMajorClassVersion(int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodDescriptor(String, List)","url":"internalMethodDescriptor(java.lang.String,java.util.List)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodDescriptor(String, String)","url":"internalMethodDescriptor(java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodDescriptorFromInternalTypes(String, List)","url":"internalMethodDescriptorFromInternalTypes(java.lang.String,java.util.List)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodParameterCount(String, boolean)","url":"internalMethodParameterCount(java.lang.String,boolean)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodParameterCount(String, int)","url":"internalMethodParameterCount(java.lang.String,int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodParameterCount(String)","url":"internalMethodParameterCount(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodParameterNumber(String, boolean, int)","url":"internalMethodParameterNumber(java.lang.String,boolean,int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodParameterNumber(String, int, int)","url":"internalMethodParameterNumber(java.lang.String,int,int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodParameterSize(String, boolean)","url":"internalMethodParameterSize(java.lang.String,boolean)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodParameterSize(String, int)","url":"internalMethodParameterSize(java.lang.String,int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodParameterSize(String)","url":"internalMethodParameterSize(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodParameterType(String, int)","url":"internalMethodParameterType(java.lang.String,int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodReturnType(String)","url":"internalMethodReturnType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodVariableIndex(String, boolean, int)","url":"internalMethodVariableIndex(java.lang.String,boolean,int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMethodVariableIndex(String, int, int)","url":"internalMethodVariableIndex(java.lang.String,int,int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalMinorClassVersion(int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalNumericClassNameFromPrimitiveType(char)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalPackageName(String)","url":"internalPackageName(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalPackagePrefix(String)","url":"internalPackagePrefix(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalPrimitiveTypeFromNumericClassName(String)","url":"internalPrimitiveTypeFromNumericClassName(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalPrimitiveTypeFromPrimitiveBoxingType(String)","url":"internalPrimitiveTypeFromPrimitiveBoxingType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalPrimitiveTypeToComputationalType(String)","url":"internalPrimitiveTypeToComputationalType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalShortClassName(String)","url":"internalShortClassName(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalSimpleClassName(String)","url":"internalSimpleClassName(java.lang.String)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"internalType()"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"internalType()"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"internalType()"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"internalType()"},{"p":"proguard.evaluation.value","c":"LongValue","l":"internalType()"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"internalType()"},{"p":"proguard.evaluation.value","c":"TopValue","l":"internalType()"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"internalType()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"internalType()"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"internalType()"},{"p":"proguard.evaluation.value","c":"UnknownReferenceValue","l":"internalType()"},{"p":"proguard.evaluation.value","c":"UnknownValue","l":"internalType()"},{"p":"proguard.evaluation.value","c":"Value","l":"internalType()"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalType(String)","url":"internalType(java.lang.String)"},{"p":"proguard.classfile.util","c":"InternalTypeEnumeration","l":"InternalTypeEnumeration(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.classfile.instruction","c":"InstructionUtil","l":"internalTypeFromArrayType(byte)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalTypeFromArrayType(String)","url":"internalTypeFromArrayType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalTypeFromClassName(String)","url":"internalTypeFromClassName(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalTypeFromClassType(String)","url":"internalTypeFromClassType(java.lang.String)"},{"p":"proguard.classfile.util","c":"InternalTypeIterable","l":"InternalTypeIterable(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"internalTypeSize(String)","url":"internalTypeSize(java.lang.String)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.IntValue","l":"IntValue(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.evaluation","c":"MethodResult","l":"invalidResult()"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeVariance","l":"INVARIANT"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectMetadata","l":"invocationKind"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"INVOKE_CONSTRUCTOR"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"INVOKE_CUSTOM"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_CUSTOM"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_CUSTOM_RANGE"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"INVOKE_DIRECT"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_DIRECT"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_DIRECT_RANGE"},{"p":"proguard.classfile.constant","c":"Constant","l":"INVOKE_DYNAMIC"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"INVOKE_INSTANCE"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"INVOKE_INTERFACE"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"INVOKE_INTERFACE"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_INTERFACE"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_INTERFACE_RANGE"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"INVOKE_NEW"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"INVOKE_POLYMORPHIC"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_POLYMORPHIC"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_POLYMORPHIC_RANGE"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"INVOKE_SPECIAL"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"INVOKE_STATIC"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"INVOKE_STATIC"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_STATIC"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_STATIC_RANGE"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_SUPER"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_SUPER_RANGE"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"INVOKE_VIRTUAL"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_VIRTUAL"},{"p":"proguard.dexfile.reader","c":"Op","l":"INVOKE_VIRTUAL_RANGE"},{"p":"proguard.evaluation.value.object.model","c":"ArrayModel","l":"invoke(MethodExecutionInfo, ValueCalculator)","url":"invoke(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.evaluation.value.object.model","c":"Model","l":"invoke(MethodExecutionInfo, ValueCalculator)","url":"invoke(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ReflectiveModel","l":"invoke(MethodExecutionInfo, ValueCalculator)","url":"invoke(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.dexfile.ir.expr","c":"InvokeCustomExpr","l":"InvokeCustomExpr(Value.VT, Value[], String, Proto, MethodHandle, Object[])","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.expr.Value[],java.lang.String,proguard.dexfile.reader.Proto,proguard.dexfile.reader.MethodHandle,java.lang.Object[])"},{"p":"proguard.backport","c":"LambdaExpression","l":"invokedClassName"},{"p":"proguard.backport","c":"LambdaExpression","l":"invokedMethodDesc"},{"p":"proguard.backport","c":"LambdaExpression","l":"invokedMethodName"},{"p":"proguard.backport","c":"LambdaExpression","l":"invokedReferenceKind"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokedynamic(int, String, String, Clazz[])","url":"invokedynamic(int,java.lang.String,java.lang.String,proguard.classfile.Clazz[])"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokedynamic(int, String, String, Clazz[])","url":"invokedynamic(int,java.lang.String,java.lang.String,proguard.classfile.Clazz[])"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokedynamic(int, String, String)","url":"invokedynamic(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokedynamic(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokedynamic(int)"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"InvokeDynamicConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"InvokeDynamicConstant(int, int, Clazz[])","url":"%3Cinit%3E(int,int,proguard.classfile.Clazz[])"},{"p":"proguard.dexfile.ir.expr","c":"InvokeExpr","l":"InvokeExpr(Value.VT, Value[], Method)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.expr.Value[],proguard.dexfile.reader.Method)"},{"p":"proguard.dexfile.ir.expr","c":"InvokeExpr","l":"InvokeExpr(Value.VT, Value[], String, String, String[], String)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.expr.Value[],java.lang.String,java.lang.String,java.lang.String[],java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokeinterface(Clazz, Method)","url":"invokeinterface(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokeinterface(Clazz, Method)","url":"invokeinterface(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokeinterface(int, int)","url":"invokeinterface(int,int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokeinterface(int, int)","url":"invokeinterface(int,int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokeinterface(String, String, String, Clazz, Method)","url":"invokeinterface(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokeinterface(String, String, String, Clazz, Method)","url":"invokeinterface(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokeinterface(String, String, String)","url":"invokeinterface(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokeinterface(String, String, String)","url":"invokeinterface(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.evaluation","c":"InvocationUnit","l":"invokeMember(Clazz, Method, CodeAttribute, int, ConstantInstruction, Stack, Variables)","url":"invokeMember(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction,proguard.evaluation.Stack,proguard.evaluation.Variables)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"invokeMember(Clazz, Method, CodeAttribute, int, ConstantInstruction, Stack, Variables)","url":"invokeMember(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction,proguard.evaluation.Stack,proguard.evaluation.Variables)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"invokeMember(Clazz, Method, CodeAttribute, int, ConstantInstruction, Stack, Variables)","url":"invokeMember(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction,proguard.evaluation.Stack,proguard.evaluation.Variables)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintTransferRelation","l":"invokeMethod(JvmAbstractState>, Call, List>)","url":"invokeMethod(proguard.analysis.cpa.jvm.state.JvmAbstractState,proguard.analysis.datastructure.callgraph.Call,java.util.List)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceTransferRelation","l":"invokeMethod(JvmAbstractState>, Call, List>)","url":"invokeMethod(proguard.analysis.cpa.jvm.state.JvmAbstractState,proguard.analysis.datastructure.callgraph.Call,java.util.List)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"invokeMethod(JvmAbstractState, Call, List)","url":"invokeMethod(proguard.analysis.cpa.jvm.state.JvmAbstractState,proguard.analysis.datastructure.callgraph.Call,java.util.List)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"invokeMethod(JvmAbstractState, Call, List)","url":"invokeMethod(proguard.analysis.cpa.jvm.state.JvmAbstractState,proguard.analysis.datastructure.callgraph.Call,java.util.List)"},{"p":"proguard.dexfile.ir.expr","c":"InvokeNewExpr","l":"InvokeNewExpr(Value.VT, Value[], String, String, String[], String, String)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.expr.Value[],java.lang.String,java.lang.String,java.lang.String[],java.lang.String,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"InvokeNewExpr","l":"InvokeNewExpr(Value.VT, Value[], String, String, String[], String)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.expr.Value[],java.lang.String,java.lang.String,java.lang.String[],java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"InvokePolymorphicExpr","l":"InvokePolymorphicExpr(Value.VT, Value[], Proto, Method)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.expr.Value[],proguard.dexfile.reader.Proto,proguard.dexfile.reader.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokespecial_interface(Clazz, Method)","url":"invokespecial_interface(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokespecial_interface(String, String, String, Clazz, Method)","url":"invokespecial_interface(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokespecial_interface(String, String, String)","url":"invokespecial_interface(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokespecial(Clazz, Method)","url":"invokespecial(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokespecial(Clazz, Method)","url":"invokespecial(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokespecial(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokespecial(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokespecial(String, String, String, Clazz, Method)","url":"invokespecial(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokespecial(String, String, String, Clazz, Method)","url":"invokespecial(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokespecial(String, String, String)","url":"invokespecial(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokespecial(String, String, String)","url":"invokespecial(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.backport","c":"LambdaExpression","l":"invokesStaticInterfaceMethod()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokestatic_interface(Clazz, Method)","url":"invokestatic_interface(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokestatic_interface(Clazz, Method)","url":"invokestatic_interface(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokestatic_interface(String, String, String, Clazz, Method)","url":"invokestatic_interface(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokestatic_interface(String, String, String, Clazz, Method)","url":"invokestatic_interface(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokestatic_interface(String, String, String)","url":"invokestatic_interface(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokestatic_interface(String, String, String)","url":"invokestatic_interface(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokestatic(Clazz, Method)","url":"invokestatic(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokestatic(Clazz, Method)","url":"invokestatic(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokestatic(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokestatic(int)"},{"p":"proguard.evaluation.value.object.model","c":"ArrayModel","l":"invokeStatic(MethodExecutionInfo, ValueCalculator)","url":"invokeStatic(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.evaluation.value.object.model","c":"ClassModel","l":"invokeStatic(MethodExecutionInfo, ValueCalculator)","url":"invokeStatic(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.evaluation.value.object.model","c":"Model","l":"invokeStatic(MethodExecutionInfo, ValueCalculator)","url":"invokeStatic(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ReflectiveModel","l":"invokeStatic(MethodExecutionInfo, ValueCalculator)","url":"invokeStatic(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokestatic(String, String, String, Clazz, Method)","url":"invokestatic(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokestatic(String, String, String, Clazz, Method)","url":"invokestatic(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokestatic(String, String, String)","url":"invokestatic(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokestatic(String, String, String)","url":"invokestatic(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokevirtual(Clazz, Method)","url":"invokevirtual(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokevirtual(Clazz, Method)","url":"invokevirtual(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokevirtual(int, String, String)","url":"invokevirtual(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokevirtual(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokevirtual(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokevirtual(String, String, String, Clazz, Method)","url":"invokevirtual(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokevirtual(String, String, String, Clazz, Method)","url":"invokevirtual(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"invokevirtual(String, String, String)","url":"invokevirtual(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"invokevirtual(String, String, String)","url":"invokevirtual(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ior()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ior()"},{"p":"proguard.evaluation","c":"Stack","l":"ipop()"},{"p":"proguard.dexfile.reader","c":"Op","l":"IPUT"},{"p":"proguard.dexfile.reader","c":"Op","l":"IPUT_BOOLEAN"},{"p":"proguard.dexfile.reader","c":"Op","l":"IPUT_BYTE"},{"p":"proguard.dexfile.reader","c":"Op","l":"IPUT_CHAR"},{"p":"proguard.dexfile.reader","c":"Op","l":"IPUT_OBJECT"},{"p":"proguard.dexfile.reader","c":"Op","l":"IPUT_SHORT"},{"p":"proguard.dexfile.reader","c":"Op","l":"IPUT_WIDE"},{"p":"proguard.dexfile.converter","c":"IR2ProConverter","l":"ir(IrMethod)","url":"ir(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"Ir2JRegAssignTransformer","l":"Ir2JRegAssignTransformer()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.converter","c":"IR2ProConverter","l":"IR2ProConverter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"irem()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"irem()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ireturn()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ireturn()"},{"p":"proguard.dexfile.ir","c":"IrMethod","l":"IrMethod()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir","c":"Util","l":"irTransformMemoryLimit"},{"p":"proguard.util","c":"ProcessingFlags","l":"IS_CLASS_AVAILABLE"},{"p":"proguard.classfile.util.kotlin","c":"KotlinNameUtil","l":"IS_PREFIX"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSink","l":"IS_VALID_FOR_SOURCE_DEFAULT"},{"p":"proguard.io","c":"ClassPathEntry","l":"isAab()"},{"p":"proguard.io","c":"ClassPathEntry","l":"isAar()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinModalityFlags","l":"isAbstract"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isAfterBranch(int)"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"isAliveAfter(int, int)","url":"isAliveAfter(int,int)"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"isAliveBefore(int, int)","url":"isAliveBefore(int,int)"},{"p":"proguard.io.util","c":"ClassPathUtil","l":"isAndroid(ClassPath)","url":"isAndroid(proguard.io.ClassPath)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isAnnotationClass"},{"p":"proguard.evaluation","c":"MethodResult","l":"isAnyParameterUpdated()"},{"p":"proguard.io","c":"ClassPathEntry","l":"isApk()"},{"p":"proguard.classfile.attribute","c":"ExceptionInfo","l":"isApplicable(int, int)","url":"isApplicable(int,int)"},{"p":"proguard.classfile.attribute","c":"ExceptionInfo","l":"isApplicable(int)"},{"p":"proguard.io","c":"D8ClassConverter.D8DexFile","l":"isArchive(ClassPathEntry)","url":"isArchive(proguard.io.ClassPathEntry)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isBranchOrExceptionTarget(int)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isBranchOrigin(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isBranchOrigin(int)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isBranchTarget(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isBranchTarget(int)"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"isCast(int)"},{"p":"proguard.classfile.constant","c":"ClassConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"Constant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"DoubleConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"FieldrefConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"FloatConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"IntegerConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"InterfaceMethodrefConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"LongConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"MethodrefConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"ModuleConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"PackageConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"isCategory2()"},{"p":"proguard.classfile.constant","c":"Utf8Constant","l":"isCategory2()"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"isCategory2()"},{"p":"proguard.evaluation.value","c":"Category1Value","l":"isCategory2()"},{"p":"proguard.evaluation.value","c":"Category2Value","l":"isCategory2()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"isCategory2()"},{"p":"proguard.evaluation.value","c":"UnknownValue","l":"isCategory2()"},{"p":"proguard.evaluation.value","c":"Value","l":"isCategory2()"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"isCategory2(int, int)","url":"isCategory2(int,int)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmAssumeExceptionCfaEdge","l":"isCaught()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"isCertainlyCalled()"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isClassInitializer(String)","url":"isClassInitializer(java.lang.String)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isCompanionObject"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isCompiledInCompatibilityMode"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"isConst"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"isConstructor()"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isCreation(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isCreation(int)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinValueParameterFlags","l":"isCrossInline"},{"p":"proguard.io.util","c":"ClassPathUtil","l":"isDalvik(ClassPath)","url":"isDalvik(proguard.io.ClassPath)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isData"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"isDeclaration"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"isDeclared"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyAccessorFlags","l":"isDefault"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinSyntheticClassKindFilter","l":"isDefaultImpls(KotlinSyntheticClassKindMetadata)","url":"isDefaultImpls(proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinTypeFlags","l":"isDefinitelyNonNull"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"isDelegated"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"isDelegation"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"isDelegation"},{"p":"proguard.classfile.editor","c":"VariableEditor","l":"isDeleted(int)"},{"p":"proguard.io","c":"ClassPathEntry","l":"isDex()"},{"p":"proguard.io","c":"ClassPathDataEntry","l":"isDirectory()"},{"p":"proguard.io","c":"DataEntry","l":"isDirectory()"},{"p":"proguard.io","c":"DummyDataEntry","l":"isDirectory()"},{"p":"proguard.io","c":"FileDataEntry","l":"isDirectory()"},{"p":"proguard.io","c":"NamedDataEntry","l":"isDirectory()"},{"p":"proguard.io","c":"StreamingDataEntry","l":"isDirectory()"},{"p":"proguard.io","c":"WrappedDataEntry","l":"isDirectory()"},{"p":"proguard.io","c":"ZipDataEntry","l":"isDirectory()"},{"p":"proguard.io","c":"ZipFileDataEntry","l":"isDirectory()"},{"p":"proguard.io","c":"ClassPathEntry","l":"isEar()"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWaitlist","l":"isEmpty()"},{"p":"proguard.analysis.cpa.defaults","c":"Cfa","l":"isEmpty()"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"isEmpty()"},{"p":"proguard.analysis.cpa.interfaces","c":"Waitlist","l":"isEmpty()"},{"p":"proguard.io","c":"ClassPath","l":"isEmpty()"},{"p":"proguard.analysis.cpa.interfaces","c":"CfaNode","l":"isEntryNode()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"isEntryNode()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isEnumClass"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isEnumEntry"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isExceptionEnd(int)"},{"p":"proguard.analysis.cpa.interfaces","c":"CfaNode","l":"isExceptionExitNode()"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isExceptionHandler(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isExceptionHandler(int)"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"isExceptionHandler(int)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isExceptionStart(int)"},{"p":"proguard.analysis.cpa.interfaces","c":"CfaNode","l":"isExitNode()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"isExitNode()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isExpect"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"isExpect"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"isExpect"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isExtendable(Clazz)","url":"isExtendable(proguard.classfile.Clazz)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isExternal"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"isExternal"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyAccessorFlags","l":"isExternal"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"isExternal"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isExternalMethodNameAndArguments(String)","url":"isExternalMethodNameAndArguments(java.lang.String)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"isFakeOverride"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"isFakeOverride"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"isFieldValue(int)"},{"p":"proguard.io","c":"ClassPathEntry","l":"isFiltered()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinModalityFlags","l":"isFinal"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCatchCfaNode","l":"isFinallyNode()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isFun"},{"p":"proguard.classfile.util.kotlin","c":"KotlinNameUtil","l":"isGetterName(String)","url":"isGetterName(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ishl()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ishl()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ishr()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ishr()"},{"p":"proguard.classfile","c":"ClassSignature","l":"isIncomplete()"},{"p":"proguard.classfile","c":"FieldSignature","l":"isIncomplete()"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"isIncomplete()"},{"p":"proguard.classfile","c":"MethodSignature","l":"isIncomplete()"},{"p":"proguard.classfile","c":"Signature","l":"isIncomplete()"},{"p":"proguard.util","c":"FeatureNamed","l":"isInFeature(String)","url":"isInFeature(java.lang.String)"},{"p":"proguard.util","c":"SimpleFeatureNamedProcessable","l":"isInFeature(String)","url":"isInFeature(java.lang.String)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"isInfix"},{"p":"proguard.evaluation","c":"InitializationFinder","l":"isInitializedBefore(int, InstructionOffsetValue)","url":"isInitializedBefore(int,proguard.evaluation.value.InstructionOffsetValue)"},{"p":"proguard.evaluation","c":"InitializationFinder","l":"isInitializedBefore(int, int)","url":"isInitializedBefore(int,int)"},{"p":"proguard.evaluation","c":"InitializationFinder","l":"isInitializer()"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isInitializer(int)"},{"p":"proguard.evaluation","c":"InitializationFinder","l":"isInitializer(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isInitializer(int)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isInitializer(String)","url":"isInitializer(java.lang.String)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"isInline"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyAccessorFlags","l":"isInline"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isInner"},{"p":"proguard.classfile.util","c":"DescriptorClassEnumeration","l":"isInnerClassName()"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isInstanceInitializer(String)","url":"isInstanceInitializer(java.lang.String)"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"isInstanceMethod()"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObject","l":"isInstanceOf(Clazz)","url":"isInstanceOf(proguard.classfile.Clazz)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"isInstanceOf(StateT, String)","url":"isInstanceOf(StateT,java.lang.String)"},{"p":"proguard.classfile.util","c":"InitializedClassUtil","l":"isInstanceOf(String, Clazz)","url":"isInstanceOf(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.evaluation","c":"MethodResult","l":"isInstanceUpdated()"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isInstruction(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isInstruction(int)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isInterface"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinVisibilityFlags","l":"isInternal"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isInternalArrayInterfaceName(String)","url":"isInternalArrayInterfaceName(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isInternalArrayType(String)","url":"isInternalArrayType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isInternalCategory2Type(String)","url":"isInternalCategory2Type(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isInternalClassType(String)","url":"isInternalClassType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isInternalMethodDescriptor(String)","url":"isInternalMethodDescriptor(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isInternalPrimitiveBoxingType(String)","url":"isInternalPrimitiveBoxingType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isInternalPrimitiveType(char)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isInternalPrimitiveType(String)","url":"isInternalPrimitiveType(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isInternalPrimitiveTypeOrString(String)","url":"isInternalPrimitiveTypeOrString(java.lang.String)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"isInternalType(String)","url":"isInternalType(java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.util","c":"InstructionClassifier","l":"isInvoke(byte)"},{"p":"proguard.io","c":"ClassPathEntry","l":"isJar()"},{"p":"proguard.io","c":"ClassPathEntry","l":"isJmod()"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinSyntheticClassKindFilter","l":"isLambda(KotlinSyntheticClassKindMetadata)","url":"isLambda(proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"isLateinit"},{"p":"proguard.analysis.cpa.defaults","c":"LatticeAbstractState","l":"isLess(AbstractStateT)"},{"p":"proguard.analysis.cpa.defaults","c":"DelegateAbstractDomain","l":"isLessOrEqual(AbstractState, AbstractState)","url":"isLessOrEqual(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.interfaces","c":"AbstractDomain","l":"isLessOrEqual(AbstractState, AbstractState)","url":"isLessOrEqual(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"LatticeAbstractState","l":"isLessOrEqual(AbstractStateT)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"isLessOrEqual(JvmAbstractState)","url":"isLessOrEqual(proguard.analysis.cpa.jvm.state.JvmAbstractState)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"isLessOrEqual(JvmFrameAbstractState)","url":"isLessOrEqual(proguard.analysis.cpa.jvm.state.JvmFrameAbstractState)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmForgetfulHeapAbstractState","l":"isLessOrEqual(JvmHeapAbstractState)","url":"isLessOrEqual(proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"isLessOrEqual(JvmHeapAbstractState)","url":"isLessOrEqual(proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"isLessOrEqual(JvmMemoryLocationAbstractState)","url":"isLessOrEqual(proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"ListAbstractState","l":"isLessOrEqual(ListAbstractState)","url":"isLessOrEqual(proguard.analysis.cpa.defaults.ListAbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"MapAbstractState","l":"isLessOrEqual(MapAbstractState)","url":"isLessOrEqual(proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"SetAbstractState","l":"isLessOrEqual(SetAbstractState)","url":"isLessOrEqual(proguard.analysis.cpa.defaults.SetAbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"StackAbstractState","l":"isLessOrEqual(StackAbstractState)","url":"isLessOrEqual(proguard.analysis.cpa.defaults.StackAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"ValueAbstractState","l":"isLessOrEqual(ValueAbstractState)","url":"isLessOrEqual(proguard.analysis.cpa.jvm.domain.value.ValueAbstractState)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"isLoad"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"isLoad()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinVisibilityFlags","l":"isLocal"},{"p":"proguard.analysis.cpa.jvm.util","c":"InstructionClassifier","l":"isLongShift(byte)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"isMatching()"},{"p":"proguard.dexfile.ir","c":"Util","l":"isMemoryLimitReached(long)"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"isMethodParameter(int)"},{"p":"proguard.backport","c":"LambdaExpression","l":"isMethodReference()"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"isMethodReturnValue(int)"},{"p":"proguard.classfile.util","c":"InternalTypeEnumeration","l":"isMethodSignature()"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObject","l":"isModeled()"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"isModified()"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"isModified(int)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"isMovedFromInterfaceCompanion"},{"p":"proguard.evaluation.executor","c":"ReflectionExecutor.InstanceCopyResult","l":"isMutable()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinEffectExpressionFlags","l":"isNegated"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"isNewinstance(int)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinValueParameterFlags","l":"isNoInline"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"isNotNull()"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"isNull()"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"isNull()"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"isNull()"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"isNull()"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"isNull()"},{"p":"proguard.evaluation.value","c":"UnknownReferenceValue","l":"isNull()"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObject","l":"isNull()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinTypeFlags","l":"isNullable"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinEffectExpressionFlags","l":"isNullCheckPredicate"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isObject"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObject","l":"isOfType(String)","url":"isOfType(java.lang.String)"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObject","l":"isOfTypeAndNotNull(String)","url":"isOfTypeAndNotNull(java.lang.String)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinModalityFlags","l":"isOpen"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"isOperator"},{"p":"proguard.io","c":"ClassPathEntry","l":"isOutput()"},{"p":"proguard.classfile.util","c":"MemberFinder","l":"isOverriden(Clazz, Method)","url":"isOverriden(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.kotlin","c":"KotlinConstructorMetadata","l":"isParameterless()"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"isParticular()"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"isParticular()"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"isParticular()"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"isParticular()"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"isParticular()"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"isParticular()"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"isParticular()"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"isParticular()"},{"p":"proguard.evaluation.value","c":"TopValue","l":"isParticular()"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"isParticular()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"isParticular()"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"isParticular()"},{"p":"proguard.evaluation.value","c":"UnknownReferenceValue","l":"isParticular()"},{"p":"proguard.evaluation.value","c":"Value","l":"isParticular()"},{"p":"proguard.evaluation.value.object","c":"AnalyzedObject","l":"isPrecise()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinVisibilityFlags","l":"isPrivate"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinVisibilityFlags","l":"isPrivateToThis"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinVisibilityFlags","l":"isProtected"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinVisibilityFlags","l":"isPublic"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"isRaw"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"isReachable(int)"},{"p":"proguard.classfile.attribute.visitor","c":"StackSizeComputer","l":"isReachable(int)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinTypeParameterFlags","l":"isReified"},{"p":"proguard.evaluation","c":"MethodResult","l":"isResultValid()"},{"p":"proguard.analysis.cpa.jvm.util","c":"InstructionClassifier","l":"isReturn(byte)"},{"p":"proguard.analysis.cpa.interfaces","c":"CfaNode","l":"isReturnExitNode()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmUnknownCfaNode","l":"isReturnExitNode()"},{"p":"proguard.evaluation","c":"MethodResult","l":"isReturnValuePresent()"},{"p":"proguard.classfile.visitor","c":"CounterConditionalClassVisitor","l":"isSame(int, int)","url":"isSame(int,int)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmAssumeCfaEdge","l":"isSatisfied()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinModalityFlags","l":"isSealed"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinConstructorFlags","l":"isSecondary"},{"p":"proguard.backport","c":"LambdaExpression","l":"isSerializable()"},{"p":"proguard.classfile.util.kotlin","c":"KotlinNameUtil","l":"isSetterName(String)","url":"isSetterName(java.lang.String)"},{"p":"proguard.classfile.util","c":"MemberFinder","l":"isShadowed(Clazz, Field)","url":"isShadowed(proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.evaluation.value","c":"IdentifiedArrayReferenceValue","l":"isSpecific()"},{"p":"proguard.evaluation.value","c":"IdentifiedReferenceValue","l":"isSpecific()"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"isSpecific()"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"isSpecific()"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"isSpecific()"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"isSpecific()"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"isSpecific()"},{"p":"proguard.evaluation.value","c":"TopValue","l":"isSpecific()"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"isSpecific()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"isSpecific()"},{"p":"proguard.evaluation.value","c":"Value","l":"isSpecific()"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"isStarProjection()"},{"p":"proguard.backport","c":"LambdaExpression","l":"isStateless()"},{"p":"proguard.analysis.cpa.jvm.util","c":"ConstantLookupVisitor","l":"isStatic"},{"p":"proguard.dexfile.ir","c":"IrMethod","l":"isStatic"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"isStatic"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"isStatic()"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"isStatic()"},{"p":"proguard.classfile.instruction","c":"InstructionUtil","l":"isStaticCall(byte)"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"isStore()"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isSubroutine(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isSubroutine(int)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isSubroutineInvocation(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isSubroutineInvocation(int)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isSubroutineReturning(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isSubroutineReturning(int)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isSubroutineStart(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isSubroutineStart(int)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"isSupportedMetadataVersion(KotlinMetadataVersion)","url":"isSupportedMetadataVersion(proguard.classfile.kotlin.KotlinMetadataVersion)"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor.SupportedModelInfo","l":"isSupportsFullInheritance()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"isSuspend"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinTypeFlags","l":"isSuspend"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"isSynthesized"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"isSynthesized"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"isTailrec"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"isTarget(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isTarget(int)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"isThrow(Stmt)","url":"isThrow(proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.evaluation","c":"InitializationFinder","l":"isTopInitializedBefore(int, int)","url":"isTopInitializedBefore(int,int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"istore_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"istore_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"istore_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"istore_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"istore_2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"istore_2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"istore_3()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"istore_3()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"istore(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"istore(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isTraced(int, int)","url":"isTraced(int,int)"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"isTraced(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"isTraced(int)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"isTruncated"},{"p":"proguard.analysis.cpa.jvm.util","c":"InstructionClassifier","l":"isTypedReturn(byte)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"isub()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"isub()"},{"p":"proguard.analysis.cpa.interfaces","c":"CfaNode","l":"isUnknownNode()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmUnknownCfaNode","l":"isUnknownNode()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isUsualClass"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSink","l":"isValidForSource"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink.Builder","l":"isValidForSource"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"isValidKotlinMetadataAnnotationField(String)","url":"isValidKotlinMetadataAnnotationField(java.lang.String)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"isValue"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"isVar"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"isVarArg()"},{"p":"proguard.io","c":"ClassPathEntry","l":"isWar()"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinSyntheticClassKindFilter","l":"isWhenMappings(KotlinSyntheticClassKindMetadata)","url":"isWhenMappings(proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"isWide()"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"isWide()"},{"p":"proguard.io","c":"ClassPathEntry","l":"isZip()"},{"p":"proguard.dexfile.reader.node","c":"DexAnnotationNode.Item","l":"Item(String, Object)","url":"%3Cinit%3E(java.lang.String,java.lang.Object)"},{"p":"proguard.dexfile.reader.node","c":"DexAnnotationNode","l":"items"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWaitlist","l":"iterator()"},{"p":"proguard.classfile.util","c":"InternalTypeIterable","l":"iterator()"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"iterator()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"iushr()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"iushr()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ixor()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ixor()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"J"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"J"},{"p":"proguard.io","c":"JarReader","l":"JarReader(boolean, DataEntryReader)","url":"%3Cinit%3E(boolean,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"JarReader","l":"JarReader(DataEntryReader)","url":"%3Cinit%3E(proguard.io.DataEntryReader)"},{"p":"proguard.examples","c":"JarUtil","l":"JarUtil()","url":"%3Cinit%3E()"},{"p":"proguard.io","c":"JarWriter","l":"JarWriter(DataEntryWriter)","url":"%3Cinit%3E(proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"JarWriter","l":"JarWriter(String[], DataEntryWriter)","url":"%3Cinit%3E(java.lang.String[],proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"JarWriter","l":"JarWriter(String[], String, DataEntryWriter)","url":"%3Cinit%3E(java.lang.String[],java.lang.String,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"JarWriter","l":"JarWriter(String[], String, String, StringFunction, DataEntryWriter, DataEntryWriter)","url":"%3Cinit%3E(java.lang.String[],java.lang.String,java.lang.String,proguard.util.StringFunction,proguard.io.DataEntryWriter,proguard.io.DataEntryWriter)"},{"p":"proguard.classfile","c":"JavaConstants","l":"JAVA_FILE_EXTENSION"},{"p":"proguard.io","c":"DataEntryTokenType","l":"JAVA_IDENTIFIER"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"JavaAccessConstants()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"JavaConstants","l":"JavaConstants()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin.reflect","c":"JavaFieldReferenceInfo","l":"JavaFieldReferenceInfo(Clazz, Clazz, Member)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.constant","c":"ClassConstant","l":"javaLangClassClass"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"javaLangInvokeMethodHandleClass"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"javaLangInvokeMethodTypeClass"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"javaLangStringClass"},{"p":"proguard.classfile.kotlin.reflect","c":"JavaMethodReferenceInfo","l":"JavaMethodReferenceInfo(Clazz, Clazz, Member)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.kotlin.reflect","c":"JavaReferenceInfo","l":"JavaReferenceInfo(Clazz, Clazz, Member)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"JavaTypeConstants()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"JavaVersionConstants","l":"JavaVersionConstants()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"JD"},{"p":"proguard.analysis.cpa.defaults","c":"DelegateAbstractDomain","l":"join(AbstractState, AbstractState)","url":"join(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.interfaces","c":"AbstractDomain","l":"join(AbstractState, AbstractState)","url":"join(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"LatticeAbstractState","l":"join(AbstractStateT)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintAbstractState","l":"join(JvmAbstractState>)","url":"join(proguard.analysis.cpa.jvm.state.JvmAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceAbstractState","l":"join(JvmAbstractState>)","url":"join(proguard.analysis.cpa.jvm.state.JvmAbstractState)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"join(JvmAbstractState)","url":"join(proguard.analysis.cpa.jvm.state.JvmAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueAbstractState","l":"join(JvmAbstractState)","url":"join(proguard.analysis.cpa.jvm.state.JvmAbstractState)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"join(JvmFrameAbstractState)","url":"join(proguard.analysis.cpa.jvm.state.JvmFrameAbstractState)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmForgetfulHeapAbstractState","l":"join(JvmHeapAbstractState)","url":"join(proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"join(JvmHeapAbstractState)","url":"join(proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"join(JvmMemoryLocationAbstractState)","url":"join(proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"ListAbstractState","l":"join(ListAbstractState)","url":"join(proguard.analysis.cpa.defaults.ListAbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"MapAbstractState","l":"join(MapAbstractState)","url":"join(proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"SetAbstractState","l":"join(SetAbstractState)","url":"join(proguard.analysis.cpa.defaults.SetAbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"StackAbstractState","l":"join(StackAbstractState)","url":"join(proguard.analysis.cpa.defaults.StackAbstractState)"},{"p":"proguard.util","c":"StringUtil","l":"join(String, String...)","url":"join(java.lang.String,java.lang.String...)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"ValueAbstractState","l":"join(ValueAbstractState)","url":"join(proguard.analysis.cpa.jvm.domain.value.ValueAbstractState)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"JsonPrinter()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"JsonPrinter(Clazz, Method)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"JsonPrinter(Clazz)","url":"%3Cinit%3E(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"jsr_w(CompactCodeAttributeComposer.Label)","url":"jsr_w(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"jsr_w(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"jsr(CompactCodeAttributeComposer.Label)","url":"jsr(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"jsr(int)"},{"p":"proguard.classfile.instruction","c":"SwitchInstruction","l":"jumpOffsets"},{"p":"proguard.dexfile.reader.node.insn","c":"JumpStmtNode","l":"JumpStmtNode(Op, int, int, DexLabel)","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int,int,proguard.dexfile.reader.DexLabel)"},{"p":"proguard.analysis.cpa.util","c":"StateNames","l":"Jvm"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"JvmAbstractState(JvmCfaNode, JvmFrameAbstractState, JvmHeapAbstractState, MapAbstractState)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.state.JvmFrameAbstractState,proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmAssumeCaseCfaEdge","l":"JvmAssumeCaseCfaEdge(CodeAttribute, int, int)","url":"%3Cinit%3E(proguard.classfile.attribute.CodeAttribute,int,int)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmAssumeCaseCfaEdge","l":"JvmAssumeCaseCfaEdge(JvmCfaNode, JvmCfaNode, CodeAttribute, int, int)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.classfile.attribute.CodeAttribute,int,int)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmAssumeCfaEdge","l":"JvmAssumeCfaEdge(CodeAttribute, int, boolean)","url":"%3Cinit%3E(proguard.classfile.attribute.CodeAttribute,int,boolean)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmAssumeCfaEdge","l":"JvmAssumeCfaEdge(JvmCfaNode, JvmCfaNode, CodeAttribute, int, boolean)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.classfile.attribute.CodeAttribute,int,boolean)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmAssumeDefaultCfaEdge","l":"JvmAssumeDefaultCfaEdge(CodeAttribute, int)","url":"%3Cinit%3E(proguard.classfile.attribute.CodeAttribute,int)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmAssumeDefaultCfaEdge","l":"JvmAssumeDefaultCfaEdge(JvmCfaNode, JvmCfaNode, CodeAttribute, int)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.classfile.attribute.CodeAttribute,int)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmAssumeExceptionCfaEdge","l":"JvmAssumeExceptionCfaEdge(boolean, int)","url":"%3Cinit%3E(boolean,int)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmAssumeExceptionCfaEdge","l":"JvmAssumeExceptionCfaEdge(JvmCfaNode, JvmCfaNode, boolean, int)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,boolean,int)"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun","l":"JvmBamCpaRun(JvmCfa, int, HeapModel, AbortOperator, boolean)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.JvmCfa,int,proguard.analysis.cpa.jvm.state.heap.HeapModel,proguard.analysis.cpa.interfaces.AbortOperator,boolean)"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun","l":"JvmBamCpaRun(JvmCfa, int)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.JvmCfa,int)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmCallCfaEdge","l":"JvmCallCfaEdge(Call)","url":"%3Cinit%3E(proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmCallCfaEdge","l":"JvmCallCfaEdge(JvmCfaNode, JvmCfaNode, Call)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCatchCfaNode","l":"JvmCatchCfaNode(List, List, MethodSignature, int, int, Clazz)","url":"%3Cinit%3E(java.util.List,java.util.List,proguard.classfile.MethodSignature,int,int,proguard.classfile.Clazz)"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCatchCfaNode","l":"JvmCatchCfaNode(MethodSignature, int, int, Clazz)","url":"%3Cinit%3E(proguard.classfile.MethodSignature,int,int,proguard.classfile.Clazz)"},{"p":"proguard.analysis.cpa.jvm.cfa","c":"JvmCfa","l":"JvmCfa()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmCfaEdge","l":"JvmCfaEdge()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmCfaEdge","l":"JvmCfaEdge(JvmCfaNode, JvmCfaNode)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"JvmCfaNode(List, List, MethodSignature, int, Clazz)","url":"%3Cinit%3E(java.util.List,java.util.List,proguard.classfile.MethodSignature,int,proguard.classfile.Clazz)"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"JvmCfaNode(MethodSignature, int, Clazz)","url":"%3Cinit%3E(proguard.classfile.MethodSignature,int,proguard.classfile.Clazz)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmCfaReferenceValueFactory","l":"JvmCfaReferenceValueFactory(JvmCfa)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.JvmCfa)"},{"p":"proguard.analysis.cpa.jvm.operators","c":"JvmDefaultExpandOperator","l":"JvmDefaultExpandOperator(JvmCfa, boolean)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.JvmCfa,boolean)"},{"p":"proguard.analysis.cpa.jvm.operators","c":"JvmDefaultExpandOperator","l":"JvmDefaultExpandOperator(JvmCfa)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.JvmCfa)"},{"p":"proguard.analysis.cpa.jvm.operators","c":"JvmDefaultReduceOperator","l":"JvmDefaultReduceOperator()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.operators","c":"JvmDefaultReduceOperator","l":"JvmDefaultReduceOperator(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmForgetfulHeapAbstractState","l":"JvmForgetfulHeapAbstractState(StateT)","url":"%3Cinit%3E(StateT)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"JvmFrameAbstractState()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"JvmFrameAbstractState(ListAbstractState, StackAbstractState)","url":"%3Cinit%3E(proguard.analysis.cpa.defaults.ListAbstractState,proguard.analysis.cpa.defaults.StackAbstractState)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmHeapLocation","l":"JvmHeapLocation(SetAbstractState, String)","url":"%3Cinit%3E(proguard.analysis.cpa.defaults.SetAbstractState,java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmInstructionCfaEdge","l":"JvmInstructionCfaEdge(CodeAttribute, int)","url":"%3Cinit%3E(proguard.classfile.attribute.CodeAttribute,int)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmInstructionCfaEdge","l":"JvmInstructionCfaEdge(JvmCfaNode, JvmCfaNode, CodeAttribute, int)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.classfile.attribute.CodeAttribute,int)"},{"p":"proguard.analysis.cpa.jvm.cfa.visitors","c":"JvmIntraproceduralCfaFillerAllInstructionVisitor","l":"JvmIntraproceduralCfaFillerAllInstructionVisitor(JvmCfa)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.JvmCfa)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink","l":"JvmInvokeTaintSink(Signature, boolean, Set, Set)","url":"%3Cinit%3E(proguard.classfile.Signature,boolean,java.util.Set,java.util.Set)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink","l":"JvmInvokeTaintSink(Signature, Predicate, boolean, Set, Set)","url":"%3Cinit%3E(proguard.classfile.Signature,java.util.function.Predicate,boolean,java.util.Set,java.util.Set)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink","l":"JvmInvokeTaintSink(Signature, Predicate, boolean, Set, Set, Predicate)","url":"%3Cinit%3E(proguard.classfile.Signature,java.util.function.Predicate,boolean,java.util.Set,java.util.Set,java.util.function.Predicate)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmLocalVariableLocation","l":"JvmLocalVariableLocation(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmMemoryLocation","l":"JvmMemoryLocation()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"JvmMemoryLocationAbstractState(BamLocationDependentJvmMemoryLocation)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"JvmMemoryLocationAbstractState(JvmMemoryLocation, JvmCfaNode, ProgramLocationDependentReachedSet, LinkedList)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.witness.JvmMemoryLocation,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet,java.util.LinkedList)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"JvmMemoryLocationAbstractState(JvmMemoryLocation, JvmCfaNode, ProgramLocationDependentReachedSet, Set>, LinkedList)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.witness.JvmMemoryLocation,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet,java.util.Set,java.util.LinkedList)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"JvmMemoryLocationAbstractState(JvmMemoryLocation, JvmCfaNode, ProgramLocationDependentReachedSet, Set>)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.witness.JvmMemoryLocation,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet,java.util.Set)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"JvmMemoryLocationAbstractState(JvmMemoryLocation, JvmCfaNode, ProgramLocationDependentReachedSet)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.witness.JvmMemoryLocation,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationBamCpaRun","l":"JvmMemoryLocationBamCpaRun(BamCpaRun, JvmCfaNode, JvmCfaEdge, MethodSignature>, AbstractStateT, AbortOperator, Map>)","url":"%3Cinit%3E(proguard.analysis.cpa.defaults.BamCpaRun,AbstractStateT,proguard.analysis.cpa.interfaces.AbortOperator,java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationBamCpaRun","l":"JvmMemoryLocationBamCpaRun(BamCpaRun, JvmCfaNode, JvmCfaEdge, MethodSignature>, AbstractStateT)","url":"%3Cinit%3E(proguard.analysis.cpa.defaults.BamCpaRun,AbstractStateT)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationCpa","l":"JvmMemoryLocationCpa(AbstractStateT, BamCpa, Map>)","url":"%3Cinit%3E(AbstractStateT,proguard.analysis.cpa.bam.BamCpa,java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationMergeJoinOperator","l":"JvmMemoryLocationMergeJoinOperator(AbstractDomain)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.AbstractDomain)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationTransferRelation","l":"JvmMemoryLocationTransferRelation(AbstractStateT, BamCpa, Map>)","url":"%3Cinit%3E(AbstractStateT,proguard.analysis.cpa.bam.BamCpa,java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceAbstractState","l":"JvmReferenceAbstractState(JvmCfaNode, JvmFrameAbstractState>, JvmHeapAbstractState>, MapAbstractState>)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.state.JvmFrameAbstractState,proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceExpandOperator","l":"JvmReferenceExpandOperator(JvmCfa, boolean)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.JvmCfa,boolean)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceExpandOperator","l":"JvmReferenceExpandOperator(JvmCfa)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.JvmCfa)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceReduceOperator","l":"JvmReferenceReduceOperator()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceReduceOperator","l":"JvmReferenceReduceOperator(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"JvmReferenceTransferRelation","l":"JvmReferenceTransferRelation()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmReturnTaintSink","l":"JvmReturnTaintSink(Signature, Predicate)","url":"%3Cinit%3E(proguard.classfile.Signature,java.util.function.Predicate)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmReturnTaintSink","l":"JvmReturnTaintSink(Signature)","url":"%3Cinit%3E(proguard.classfile.Signature)"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"JvmShallowHeapAbstractState(MapAbstractState, Class, StateT)","url":"%3Cinit%3E(proguard.analysis.cpa.defaults.MapAbstractState,java.lang.Class,StateT)"},{"p":"proguard.classfile.kotlin","c":"KotlinConstructorMetadata","l":"jvmSignature"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"jvmSignature"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmStackLocation","l":"JvmStackLocation(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmStaticFieldLocation","l":"JvmStaticFieldLocation(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintAbstractState","l":"JvmTaintAbstractState(JvmCfaNode, JvmFrameAbstractState>, JvmHeapAbstractState>, MapAbstractState>)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.state.JvmFrameAbstractState,proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun","l":"JvmTaintBamCpaRun(JvmCfa, Set, MethodSignature, int, HeapModel, AbortOperator, boolean, MapAbstractStateFactory>, MapAbstractStateFactory>, MapAbstractStateFactory>, Map, Map>)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.JvmCfa,java.util.Set,proguard.classfile.MethodSignature,int,proguard.analysis.cpa.jvm.state.heap.HeapModel,proguard.analysis.cpa.interfaces.AbortOperator,boolean,proguard.analysis.cpa.state.MapAbstractStateFactory,proguard.analysis.cpa.state.MapAbstractStateFactory,proguard.analysis.cpa.state.MapAbstractStateFactory,java.util.Map,java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintCpa","l":"JvmTaintCpa(Map>, Map)","url":"%3Cinit%3E(java.util.Map,java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintCpa","l":"JvmTaintCpa(Set, Map, Map>)","url":"%3Cinit%3E(java.util.Set,java.util.Map,java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintCpa","l":"JvmTaintCpa(Set)","url":"%3Cinit%3E(java.util.Set)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintExpandOperator","l":"JvmTaintExpandOperator(JvmCfa, Map>, boolean)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.JvmCfa,java.util.Map,boolean)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintExpandOperator","l":"JvmTaintExpandOperator(JvmCfa, Map>)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.JvmCfa,java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun","l":"JvmTaintMemoryLocationBamCpaRun(JvmCfa, Set, MethodSignature, int, HeapModel, SetAbstractState, Collection, AbortOperator, AbortOperator, boolean, MapAbstractStateFactory>, MapAbstractStateFactory>, MapAbstractStateFactory>, Map, Map>)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.JvmCfa,java.util.Set,proguard.classfile.MethodSignature,int,proguard.analysis.cpa.jvm.state.heap.HeapModel,proguard.analysis.cpa.defaults.SetAbstractState,java.util.Collection,proguard.analysis.cpa.interfaces.AbortOperator,proguard.analysis.cpa.interfaces.AbortOperator,boolean,proguard.analysis.cpa.state.MapAbstractStateFactory,proguard.analysis.cpa.state.MapAbstractStateFactory,proguard.analysis.cpa.state.MapAbstractStateFactory,java.util.Map,java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun","l":"JvmTaintMemoryLocationBamCpaRun(JvmTaintBamCpaRun, SetAbstractState, Collection, AbortOperator, Map>)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun,proguard.analysis.cpa.defaults.SetAbstractState,java.util.Collection,proguard.analysis.cpa.interfaces.AbortOperator,java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintReduceOperator","l":"JvmTaintReduceOperator(boolean, Map>)","url":"%3Cinit%3E(boolean,java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintReduceOperator","l":"JvmTaintReduceOperator(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSink","l":"JvmTaintSink(Signature, Predicate)","url":"%3Cinit%3E(proguard.classfile.Signature,java.util.function.Predicate)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSink","l":"JvmTaintSink(Signature)","url":"%3Cinit%3E(proguard.classfile.Signature)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSource","l":"JvmTaintSource(Signature, boolean, boolean, Set, Set)","url":"%3Cinit%3E(proguard.classfile.Signature,boolean,boolean,java.util.Set,java.util.Set)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSource","l":"JvmTaintSource(Signature, Optional>, boolean, boolean, Set, Set)","url":"%3Cinit%3E(proguard.classfile.Signature,java.util.Optional,boolean,boolean,java.util.Set,java.util.Set)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSource","l":"JvmTaintSource(Signature, Predicate, boolean, boolean, Set, Set)","url":"%3Cinit%3E(proguard.classfile.Signature,java.util.function.Predicate,boolean,boolean,java.util.Set,java.util.Set)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintTransferRelation","l":"JvmTaintTransferRelation(Map>, Map, Map>)","url":"%3Cinit%3E(java.util.Map,java.util.Map,java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintTransferRelation","l":"JvmTaintTransferRelation(Map>, Map)","url":"%3Cinit%3E(java.util.Map,java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintTransferRelation","l":"JvmTaintTransferRelation(Map>)","url":"%3Cinit%3E(java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"JvmTransferRelation()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueAbstractState","l":"JvmValueAbstractState(ValueFactory, ExecutingInvocationUnit, JvmCfaNode, JvmFrameAbstractState, JvmHeapAbstractState, MapAbstractState)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,proguard.evaluation.ExecutingInvocationUnit,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.state.JvmFrameAbstractState,proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueExpandOperator","l":"JvmValueExpandOperator(ValueFactory, ExecutingInvocationUnit, JvmCfa, boolean)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,proguard.evaluation.ExecutingInvocationUnit,proguard.analysis.cpa.jvm.cfa.JvmCfa,boolean)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueExpandOperator","l":"JvmValueExpandOperator(ValueFactory, ExecutingInvocationUnit, JvmCfa)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,proguard.evaluation.ExecutingInvocationUnit,proguard.analysis.cpa.jvm.cfa.JvmCfa)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueReduceOperator","l":"JvmValueReduceOperator(ValueFactory, ExecutingInvocationUnit, boolean)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,proguard.evaluation.ExecutingInvocationUnit,boolean)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueReduceOperator","l":"JvmValueReduceOperator(ValueFactory, ExecutingInvocationUnit)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,proguard.evaluation.ExecutingInvocationUnit)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"JvmValueTransferRelation(ValueFactory, ExecutingInvocationUnit)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,proguard.evaluation.ExecutingInvocationUnit)"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadata","l":"k"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataType","l":"k"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"K"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"K"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"KEEP_ALL_METHODS"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"KEEP_CLINIT"},{"p":"proguard.classfile.util.renderer","c":"MemberViewModel.Pair","l":"key"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"keySet()"},{"p":"proguard.util","c":"MultiValueMap","l":"keySet()"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt10t"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt10x"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt11n"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt11x"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt12x"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt20t"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt21c"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt21h"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt21s"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt21t"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt22b"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt22c"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt22s"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt22t"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt22x"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt23x"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt30t"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt31c"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt31i"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt31t"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt32x"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt35c"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt3rc"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt45cc"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt4rcc"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"kFmt51l"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"kind"},{"p":"proguard.classfile.attribute.annotation","c":"TypePathInfo","l":"KIND_Array"},{"p":"proguard.classfile.attribute.annotation","c":"TypePathInfo","l":"KIND_Nested"},{"p":"proguard.classfile.attribute.annotation","c":"TypePathInfo","l":"KIND_TypeArgument"},{"p":"proguard.classfile.attribute.annotation","c":"TypePathInfo","l":"KIND_TypeArgumentBound"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"kIndexCallSiteRef"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"kIndexFieldOffset"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"kIndexFieldRef"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"kIndexInlineMethod"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"kIndexMethodAndProtoRef"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"kIndexMethodRef"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"kIndexNone"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"kIndexStringRef"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"kIndexTypeRef"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"kIndexUnknown"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"kIndexVaries"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"kIndexVtableOffset"},{"p":"proguard.dexfile.reader","c":"CFG","l":"kInstrCanBranch"},{"p":"proguard.dexfile.reader","c":"CFG","l":"kInstrCanContinue"},{"p":"proguard.dexfile.reader","c":"CFG","l":"kInstrCanReturn"},{"p":"proguard.dexfile.reader","c":"CFG","l":"kInstrCanSwitch"},{"p":"proguard.dexfile.reader","c":"CFG","l":"kInstrCanThrow"},{"p":"proguard.dexfile.reader","c":"CFG","l":"kInstrInvoke"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KmAnnotationIntegrity","l":"KmAnnotationIntegrity()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"KOLTIN_METADATA_FIELD_XS"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"KOTLIN_INTRINSICS_CLASS"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"KOTLIN_METADATA_FIELD_BV"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"KOTLIN_METADATA_FIELD_D1"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"KOTLIN_METADATA_FIELD_D2"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"KOTLIN_METADATA_FIELD_K"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"KOTLIN_METADATA_FIELD_MV"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"KOTLIN_METADATA_FIELD_PN"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"KOTLIN_METADATA_FIELD_XI"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"KOTLIN_OBJECT_INSTANCE_FIELD_NAME"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"KotlinAnnotation(String, List)","url":"%3Cinit%3E(java.lang.String,java.util.List)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"KotlinAnnotation(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument","l":"KotlinAnnotationArgument(String, KotlinAnnotationArgument.Value)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.kotlin.KotlinAnnotationArgument.Value)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinAnnotationArgumentFilter","l":"KotlinAnnotationArgumentFilter(Predicate, KotlinAnnotationArgumentVisitor, KotlinAnnotationArgumentVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinAnnotationArgumentFilter","l":"KotlinAnnotationArgumentFilter(Predicate, KotlinAnnotationArgumentVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinAnnotationArgumentVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinAnnotationFilter","l":"KotlinAnnotationFilter(Predicate, KotlinAnnotationVisitor, KotlinAnnotationVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor,proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinAnnotationFilter","l":"KotlinAnnotationFilter(Predicate, KotlinAnnotationVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinAnnotationVisitor)"},{"p":"proguard.classfile.kotlin.reflect.util","c":"KotlinCallableReferenceInitializer","l":"KotlinCallableReferenceInitializer(ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinClassFilter","l":"KotlinClassFilter(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"KotlinClassFlags(KotlinVisibilityFlags, KotlinModalityFlags)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinVisibilityFlags,proguard.classfile.kotlin.flags.KotlinModalityFlags)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinClassKindFilter","l":"KotlinClassKindFilter(KotlinMetadataVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinClassKindFilter","l":"KotlinClassKindFilter(Predicate, KotlinMetadataVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"KotlinClassKindMetadata(int[], int, String, String)","url":"%3Cinit%3E(int[],int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinClassToAnonymousObjectOriginClassVisitor","l":"KotlinClassToAnonymousObjectOriginClassVisitor(ClassPool, KotlinMetadataVisitor)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinClassToDefaultImplsClassVisitor","l":"KotlinClassToDefaultImplsClassVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinClassToInlineOriginFunctionVisitor","l":"KotlinClassToInlineOriginFunctionVisitor(String, KotlinFunctionVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.kotlin.visitor.KotlinFunctionVisitor)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinCommonFlags","l":"KotlinCommonFlags()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"KotlinConstants()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinConstructorFilter","l":"KotlinConstructorFilter(Predicate, KotlinConstructorVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinConstructorVisitor)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinConstructorFlags","l":"KotlinConstructorFlags(KotlinVisibilityFlags)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinVisibilityFlags)"},{"p":"proguard.classfile.kotlin","c":"KotlinConstructorMetadata","l":"KotlinConstructorMetadata(KotlinConstructorFlags)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinConstructorFlags)"},{"p":"proguard.classfile.kotlin","c":"KotlinContractMetadata","l":"KotlinContractMetadata()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinDeclarationContainerFilter","l":"KotlinDeclarationContainerFilter(KotlinMetadataVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinDeclarationContainerFilter","l":"KotlinDeclarationContainerFilter(Predicate, KotlinMetadataVisitor, KotlinMetadataVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinDeclarationContainerFilter","l":"KotlinDeclarationContainerFilter(Predicate, KotlinMetadataVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"KotlinDeclarationContainerMetadata(int, int[], int, String, String)","url":"%3Cinit%3E(int,int[],int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinEffectExpressionFlags","l":"KotlinEffectExpressionFlags()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectExpressionMetadata","l":"KotlinEffectExpressionMetadata()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectMetadata","l":"KotlinEffectMetadata(KotlinEffectType, KotlinEffectInvocationKind)","url":"%3Cinit%3E(proguard.classfile.kotlin.KotlinEffectType,proguard.classfile.kotlin.KotlinEffectInvocationKind)"},{"p":"proguard.classfile.kotlin","c":"KotlinFileFacadeKindMetadata","l":"KotlinFileFacadeKindMetadata(int[], int, String, String)","url":"%3Cinit%3E(int[],int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinFunctionFilter","l":"KotlinFunctionFilter(Predicate, KotlinFunctionVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinFunctionVisitor)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"KotlinFunctionFlags(KotlinVisibilityFlags, KotlinModalityFlags)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinVisibilityFlags,proguard.classfile.kotlin.flags.KotlinModalityFlags)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"KotlinFunctionMetadata(KotlinFunctionFlags, String)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinFunctionFlags,java.lang.String)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinFunctionToDefaultMethodVisitor","l":"KotlinFunctionToDefaultMethodVisitor(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinFunctionToMethodVisitor","l":"KotlinFunctionToMethodVisitor(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"kotlinMetadata"},{"p":"proguard.classfile","c":"ProgramClass","l":"kotlinMetadata"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadata","l":"KotlinMetadata(int, int[], int, String, String)","url":"%3Cinit%3E(int,int[],int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile","c":"Clazz","l":"kotlinMetadataAccept(KotlinMetadataVisitor)","url":"kotlinMetadataAccept(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"kotlinMetadataAccept(KotlinMetadataVisitor)","url":"kotlinMetadataAccept(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"kotlinMetadataAccept(KotlinMetadataVisitor)","url":"kotlinMetadataAccept(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.AnnotationValue","l":"kotlinMetadataAnnotation"},{"p":"proguard.util.kotlin.asserter","c":"KotlinMetadataAsserter","l":"KotlinMetadataAsserter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinMetadataFilter","l":"KotlinMetadataFilter(KotlinMetadataVisitor, KotlinMetadataVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinMetadataFilter","l":"KotlinMetadataFilter(Predicate, KotlinMetadataVisitor, KotlinMetadataVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinMetadataFilter","l":"KotlinMetadataFilter(Predicate, KotlinMetadataVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"KotlinMetadataInitializer(BiConsumer)","url":"%3Cinit%3E(java.util.function.BiConsumer)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"KotlinMetadataInitializer(WarningPrinter)","url":"%3Cinit%3E(proguard.classfile.util.WarningPrinter)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"KotlinMetadataPrinter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"KotlinMetadataPrinter(PrintWriter, String)","url":"%3Cinit%3E(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"KotlinMetadataPrinter(PrintWriter)","url":"%3Cinit%3E(java.io.PrintWriter)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataRemover","l":"KotlinMetadataRemover()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataToClazzVisitor","l":"KotlinMetadataToClazzVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.resources.kotlinmodule.visitor","c":"KotlinMetadataToModuleVisitor","l":"KotlinMetadataToModuleVisitor(KotlinModuleVisitor)","url":"%3Cinit%3E(proguard.resources.kotlinmodule.visitor.KotlinModuleVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadataVersion","l":"KotlinMetadataVersion(int, int, int)","url":"%3Cinit%3E(int,int,int)"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadataVersion","l":"KotlinMetadataVersion(int[])","url":"%3Cinit%3E(int[])"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataVersionFilter","l":"KotlinMetadataVersionFilter(Predicate, ClassVisitor, ClassVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.io.kotlin","c":"KotlinMetadataWriter","l":"KotlinMetadataWriter(BiConsumer, ClassVisitor)","url":"%3Cinit%3E(java.util.function.BiConsumer,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.io.kotlin","c":"KotlinMetadataWriter","l":"KotlinMetadataWriter(BiConsumer)","url":"%3Cinit%3E(java.util.function.BiConsumer)"},{"p":"proguard.classfile.io.kotlin","c":"KotlinMetadataWriter","l":"KotlinMetadataWriter(WarningPrinter, ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.util.WarningPrinter,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.io.kotlin","c":"KotlinMetadataWriter","l":"KotlinMetadataWriter(WarningPrinter)","url":"%3Cinit%3E(proguard.classfile.util.WarningPrinter)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinModalityFlags","l":"KotlinModalityFlags()","url":"%3Cinit%3E()"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModule","l":"KotlinModule(String, long)","url":"%3Cinit%3E(java.lang.String,long)"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleDataEntryReader","l":"KotlinModuleDataEntryReader(ResourceFileVisitor)","url":"%3Cinit%3E(proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleDataEntryWriter","l":"KotlinModuleDataEntryWriter(ResourceFilePool, DataEntryWriter)","url":"%3Cinit%3E(proguard.resources.file.ResourceFilePool,proguard.io.DataEntryWriter)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KotlinModuleIntegrity","l":"KotlinModuleIntegrity()","url":"%3Cinit%3E()"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModulePackage","l":"KotlinModulePackage(String, List, Map)","url":"%3Cinit%3E(java.lang.String,java.util.List,java.util.Map)"},{"p":"proguard.resources.kotlinmodule.visitor","c":"KotlinModulePrinter","l":"KotlinModulePrinter()","url":"%3Cinit%3E()"},{"p":"proguard.resources.kotlinmodule.visitor","c":"KotlinModulePrinter","l":"KotlinModulePrinter(PrintWriter, String)","url":"%3Cinit%3E(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleReader","l":"KotlinModuleReader(BiConsumer, InputStream)","url":"%3Cinit%3E(java.util.function.BiConsumer,java.io.InputStream)"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleReader","l":"KotlinModuleReader(InputStream)","url":"%3Cinit%3E(java.io.InputStream)"},{"p":"proguard.resources.kotlinmodule.util","c":"KotlinModuleReferenceInitializer","l":"KotlinModuleReferenceInitializer(ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleWriter","l":"KotlinModuleWriter(BiConsumer, OutputStream)","url":"%3Cinit%3E(java.util.function.BiConsumer,java.io.OutputStream)"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleWriter","l":"KotlinModuleWriter(OutputStream)","url":"%3Cinit%3E(java.io.OutputStream)"},{"p":"proguard.classfile.kotlin","c":"KotlinMultiFileFacadeKindMetadata","l":"KotlinMultiFileFacadeKindMetadata(int[], String[], int, String, String)","url":"%3Cinit%3E(int[],java.lang.String[],int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinMultiFilePartKindFilter","l":"KotlinMultiFilePartKindFilter(KotlinMetadataVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinMultiFilePartKindFilter","l":"KotlinMultiFilePartKindFilter(Predicate, KotlinMetadataVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinMultiFilePartKindMetadata","l":"KotlinMultiFilePartKindMetadata(int[], int, String, String)","url":"%3Cinit%3E(int[],int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyAccessorFlags","l":"KotlinPropertyAccessorFlags(KotlinVisibilityFlags, KotlinModalityFlags)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinVisibilityFlags,proguard.classfile.kotlin.flags.KotlinModalityFlags)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinPropertyFilter","l":"KotlinPropertyFilter(Predicate, KotlinPropertyVisitor, KotlinPropertyVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinPropertyVisitor,proguard.classfile.kotlin.visitor.KotlinPropertyVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinPropertyFilter","l":"KotlinPropertyFilter(Predicate, KotlinPropertyVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinPropertyVisitor)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"KotlinPropertyFlags(KotlinVisibilityFlags, KotlinModalityFlags)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinVisibilityFlags,proguard.classfile.kotlin.flags.KotlinModalityFlags)"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"KotlinPropertyMetadata(KotlinPropertyFlags, String, KotlinPropertyAccessorFlags, KotlinPropertyAccessorFlags)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinPropertyFlags,java.lang.String,proguard.classfile.kotlin.flags.KotlinPropertyAccessorFlags,proguard.classfile.kotlin.flags.KotlinPropertyAccessorFlags)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"KotlinReferencedClassVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinSyntheticClassKindFilter","l":"KotlinSyntheticClassKindFilter(KotlinMetadataVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinSyntheticClassKindFilter","l":"KotlinSyntheticClassKindFilter(Predicate, KotlinMetadataVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata","l":"KotlinSyntheticClassKindMetadata(int[], int, String, String, KotlinSyntheticClassKindMetadata.Flavor)","url":"%3Cinit%3E(int[],int,java.lang.String,java.lang.String,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata.Flavor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeAliasFilter","l":"KotlinTypeAliasFilter(Predicate, KotlinTypeAliasVisitor, KotlinTypeAliasVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinTypeAliasVisitor,proguard.classfile.kotlin.visitor.KotlinTypeAliasVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeAliasFilter","l":"KotlinTypeAliasFilter(Predicate, KotlinTypeAliasVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinTypeAliasVisitor)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinTypeAliasFlags","l":"KotlinTypeAliasFlags(KotlinVisibilityFlags)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinVisibilityFlags)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"KotlinTypeAliasMetadata(KotlinTypeAliasFlags, String)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinTypeAliasFlags,java.lang.String)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"KotlinTypeFilter(Predicate, KotlinTypeVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinTypeFlags","l":"KotlinTypeFlags()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"KotlinTypeMetadata(KotlinTypeFlags, KotlinTypeVariance)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinTypeFlags,proguard.classfile.kotlin.KotlinTypeVariance)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"KotlinTypeMetadata(KotlinTypeFlags)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinTypeFlags)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeParameterFilter","l":"KotlinTypeParameterFilter(Predicate, KotlinTypeParameterVisitor, KotlinTypeParameterVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor,proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeParameterFilter","l":"KotlinTypeParameterFilter(Predicate, KotlinTypeParameterVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinTypeParameterFlags","l":"KotlinTypeParameterFlags()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"KotlinTypeParameterMetadata(KotlinTypeParameterFlags, String, int, KotlinTypeVariance)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinTypeParameterFlags,java.lang.String,int,proguard.classfile.kotlin.KotlinTypeVariance)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinValueParameterFilter","l":"KotlinValueParameterFilter(Predicate, KotlinValueParameterVisitor, KotlinValueParameterVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor,proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinValueParameterFilter","l":"KotlinValueParameterFilter(Predicate, KotlinValueParameterVisitor)","url":"%3Cinit%3E(java.util.function.Predicate,proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinValueParameterFlags","l":"KotlinValueParameterFlags()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"KotlinValueParameterMetadata(KotlinValueParameterFlags, int, String)","url":"%3Cinit%3E(proguard.classfile.kotlin.flags.KotlinValueParameterFlags,int,java.lang.String)"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"KotlinVersionRequirementMetadata()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinVisibilityFlags","l":"KotlinVisibilityFlags()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"L"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"L"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"l2d()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"l2d()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"l2f()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"l2f()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"l2i()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"l2i()"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode","l":"label"},{"p":"proguard.dexfile.reader.node.insn","c":"DexLabelStmtNode","l":"label"},{"p":"proguard.dexfile.reader.node.insn","c":"JumpStmtNode","l":"label"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"LABEL"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"label()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"label()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"label(CompactCodeAttributeComposer.Label)","url":"label(proguard.classfile.editor.CompactCodeAttributeComposer.Label)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"label(Instruction)","url":"label(proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"label(int)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor.Label","l":"Label(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.dexfile.ir","c":"LabelAndLocalMapper","l":"LabelAndLocalMapper()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.node.insn","c":"BaseSwitchStmtNode","l":"labels"},{"p":"proguard.dexfile.ir.stmt","c":"LabelStmt","l":"LabelStmt()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ladd()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ladd()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"laload()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"laload()"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata.Flavor","l":"LAMBDA"},{"p":"proguard.backport","c":"LambdaExpression","l":"lambdaClass"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"lambdaClassOriginName"},{"p":"proguard.backport","c":"LambdaExpression","l":"LambdaExpression(ProgramClass, int, BootstrapMethodInfo, String, String[], String[], String, String, int, String, String, String, Clazz, Method, int)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,int,proguard.classfile.attribute.BootstrapMethodInfo,java.lang.String,java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method,int)"},{"p":"proguard.backport","c":"LambdaExpressionCollector","l":"LambdaExpressionCollector(Map)","url":"%3Cinit%3E(java.util.Map)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"land()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"land()"},{"p":"proguard.io","c":"ZipOutput.LargeDataOutputStream","l":"LargeDataOutputStream(OutputStream)","url":"%3Cinit%3E(java.io.OutputStream)"},{"p":"proguard.normalize","c":"LargeStringSplitter","l":"LargeStringSplitter(ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.classfile.util","c":"MethodLinker","l":"lastMember(Member)","url":"lastMember(proguard.classfile.Member)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lastore()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lastore()"},{"p":"proguard.classfile.util","c":"MethodLinker","l":"lastProcessable(Processable)","url":"lastProcessable(proguard.util.Processable)"},{"p":"proguard.classfile.io.kotlin","c":"KotlinMetadataWriter","l":"LATEST_STABLE_SUPPORTED"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"LCMP"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lcmp()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lcmp()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lconst_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lconst_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lconst_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lconst_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lconst(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lconst(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_(int, ConstantVisitor)","url":"ldc_(int,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc_(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w_(int, ConstantVisitor)","url":"ldc_w_(int,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc_w_(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w_(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(Clazz, ConstantVisitor)","url":"ldc_w(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(Clazz, Member, ConstantVisitor)","url":"ldc_w(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc_w(Clazz, Member)","url":"ldc_w(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(Clazz, Member)","url":"ldc_w(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc_w(Clazz)","url":"ldc_w(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(Clazz)","url":"ldc_w(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(float, ConstantVisitor)","url":"ldc_w(float,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc_w(float)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(float)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(int, ConstantVisitor)","url":"ldc_w(int,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc_w(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(Object, ConstantVisitor)","url":"ldc_w(java.lang.Object,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc_w(Object)","url":"ldc_w(java.lang.Object)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(Object)","url":"ldc_w(java.lang.Object)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(ResourceFile, ConstantVisitor)","url":"ldc_w(proguard.resources.file.ResourceFile,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc_w(ResourceFile)","url":"ldc_w(proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(ResourceFile)","url":"ldc_w(proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(String, Clazz, ConstantVisitor)","url":"ldc_w(java.lang.String,proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(String, Clazz, Member, ConstantVisitor)","url":"ldc_w(java.lang.String,proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc_w(String, Clazz, Member)","url":"ldc_w(java.lang.String,proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(String, Clazz, Member)","url":"ldc_w(java.lang.String,proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc_w(String, Clazz)","url":"ldc_w(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(String, Clazz)","url":"ldc_w(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(String, ConstantVisitor)","url":"ldc_w(java.lang.String,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(String, ResourceFile, ConstantVisitor)","url":"ldc_w(java.lang.String,proguard.resources.file.ResourceFile,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc_w(String, ResourceFile)","url":"ldc_w(java.lang.String,proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(String, ResourceFile)","url":"ldc_w(java.lang.String,proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc_w(String)","url":"ldc_w(java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc_w(String)","url":"ldc_w(java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(Clazz, ConstantVisitor)","url":"ldc(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(Clazz, Member, ConstantVisitor)","url":"ldc(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc(Clazz, Member)","url":"ldc(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(Clazz, Member)","url":"ldc(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc(Clazz)","url":"ldc(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(Clazz)","url":"ldc(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(float, ConstantVisitor)","url":"ldc(float,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc(float)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(float)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(int, ConstantVisitor)","url":"ldc(int,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(Object, ConstantVisitor)","url":"ldc(java.lang.Object,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc(Object)","url":"ldc(java.lang.Object)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(Object)","url":"ldc(java.lang.Object)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(ResourceFile, ConstantVisitor)","url":"ldc(proguard.resources.file.ResourceFile,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc(ResourceFile)","url":"ldc(proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(ResourceFile)","url":"ldc(proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(String, Clazz, ConstantVisitor)","url":"ldc(java.lang.String,proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(String, Clazz, Member, ConstantVisitor)","url":"ldc(java.lang.String,proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc(String, Clazz, Member)","url":"ldc(java.lang.String,proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(String, Clazz, Member)","url":"ldc(java.lang.String,proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc(String, Clazz)","url":"ldc(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(String, Clazz)","url":"ldc(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(String, ConstantVisitor)","url":"ldc(java.lang.String,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(String, ResourceFile, ConstantVisitor)","url":"ldc(java.lang.String,proguard.resources.file.ResourceFile,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc(String, ResourceFile)","url":"ldc(java.lang.String,proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(String, ResourceFile)","url":"ldc(java.lang.String,proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc(String)","url":"ldc(java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc(String)","url":"ldc(java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc2_w(double, ConstantVisitor)","url":"ldc2_w(double,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc2_w(double)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc2_w(double)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc2_w(int, ConstantVisitor)","url":"ldc2_w(int,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc2_w(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc2_w(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc2_w(long, ConstantVisitor)","url":"ldc2_w(long,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldc2_w(long)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldc2_w(long)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"LDIV"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ldiv()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ldiv()"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"LE"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"LENGTH"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor.Label","l":"length(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer.Label","l":"length(int)"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"length(int)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"length(int)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"length(int)"},{"p":"proguard.classfile.instruction","c":"LookUpSwitchInstruction","l":"length(int)"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"length(int)"},{"p":"proguard.classfile.instruction","c":"TableSwitchInstruction","l":"length(int)"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"length(int)"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"LESS_ZERO_FRAME"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"lessThan(IntegerValue)","url":"lessThan(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"lessThan(IntegerValue)","url":"lessThan(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"lessThan(IntegerValue)","url":"lessThan(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"lessThan(IntegerValue)","url":"lessThan(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"lessThan(IntegerValue)","url":"lessThan(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"lessThan(ParticularIntegerValue)","url":"lessThan(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"lessThan(ParticularIntegerValue)","url":"lessThan(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"lessThan(ParticularIntegerValue)","url":"lessThan(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"lessThan(RangeIntegerValue)","url":"lessThan(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"lessThan(RangeIntegerValue)","url":"lessThan(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"lessThan(RangeIntegerValue)","url":"lessThan(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"lessThan(RangeIntegerValue)","url":"lessThan(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"lessThan(SpecificIntegerValue)","url":"lessThan(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"lessThan(SpecificIntegerValue)","url":"lessThan(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"lessThan(UnknownIntegerValue)","url":"lessThan(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"lessThanOrEqual(IntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"lessThanOrEqual(IntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"lessThanOrEqual(IntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"lessThanOrEqual(IntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"lessThanOrEqual(IntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"lessThanOrEqual(ParticularIntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"lessThanOrEqual(ParticularIntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"lessThanOrEqual(ParticularIntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"lessThanOrEqual(RangeIntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"lessThanOrEqual(RangeIntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"lessThanOrEqual(RangeIntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"lessThanOrEqual(RangeIntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"lessThanOrEqual(SpecificIntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"lessThanOrEqual(SpecificIntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"lessThanOrEqual(UnknownIntegerValue)","url":"lessThanOrEqual(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.classfile.attribute.preverification","c":"LessZeroFrame","l":"LessZeroFrame()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"LessZeroFrame","l":"LessZeroFrame(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.classfile.attribute.preverification","c":"LessZeroFrame","l":"LessZeroFrame(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"level"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"LIB_DYFILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"LIB_FILE_EXPRESSION"},{"p":"proguard.classfile","c":"LibraryClass","l":"LibraryClass()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"LibraryClass","l":"LibraryClass(int, String, String, KotlinMetadata)","url":"%3Cinit%3E(int,java.lang.String,java.lang.String,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile","c":"LibraryClass","l":"LibraryClass(int, String, String, String[], Clazz[], int, Clazz[], LibraryField[], LibraryMethod[], KotlinMetadata)","url":"%3Cinit%3E(int,java.lang.String,java.lang.String,java.lang.String[],proguard.classfile.Clazz[],int,proguard.classfile.Clazz[],proguard.classfile.LibraryField[],proguard.classfile.LibraryMethod[],proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile","c":"LibraryClass","l":"LibraryClass(int, String, String)","url":"%3Cinit%3E(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"LibraryClassBuilder(int, String, String, String[], Clazz[], int, Clazz[], LibraryField[], LibraryMethod[], KotlinMetadata)","url":"%3Cinit%3E(int,java.lang.String,java.lang.String,java.lang.String[],proguard.classfile.Clazz[],int,proguard.classfile.Clazz[],proguard.classfile.LibraryField[],proguard.classfile.LibraryMethod[],proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"LibraryClassBuilder(int, String, String)","url":"%3Cinit%3E(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"LibraryClassBuilder","l":"LibraryClassBuilder(LibraryClass)","url":"%3Cinit%3E(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.editor","c":"LibraryClassEditor","l":"LibraryClassEditor(LibraryClass)","url":"%3Cinit%3E(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.visitor","c":"LibraryClassFilter","l":"LibraryClassFilter(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"AbstractKotlinMetadataConstraint","l":"libraryClassPool"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"LibraryClassReader(DataInput, boolean, boolean, LibraryClassReader.KotlinMetadataElementValueConsumer)","url":"%3Cinit%3E(java.io.DataInput,boolean,boolean,proguard.classfile.io.LibraryClassReader.KotlinMetadataElementValueConsumer)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"LibraryClassReader(DataInput, boolean, boolean)","url":"%3Cinit%3E(java.io.DataInput,boolean,boolean)"},{"p":"proguard.classfile","c":"LibraryField","l":"LibraryField()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"LibraryField","l":"LibraryField(int, String, String)","url":"%3Cinit%3E(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile","c":"LibraryMember","l":"LibraryMember()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"LibraryMember","l":"LibraryMember(int, String, String)","url":"%3Cinit%3E(int,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.visitor","c":"LibraryMemberFilter","l":"LibraryMemberFilter(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"LibraryMethod","l":"LibraryMethod()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"LibraryMethod","l":"LibraryMethod(int, String, String)","url":"%3Cinit%3E(int,java.lang.String,java.lang.String)"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMap","l":"LimitedHashMap(int, TriFunction, K, V, Optional>)","url":"%3Cinit%3E(int,proguard.analysis.cpa.util.TriFunction)"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMap","l":"LimitedHashMap(Map, TriFunction, K, V, Optional>)","url":"%3Cinit%3E(java.util.Map,proguard.analysis.cpa.util.TriFunction)"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMap","l":"LimitedHashMap(TriFunction, K, V, Optional>)","url":"%3Cinit%3E(proguard.analysis.cpa.util.TriFunction)"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMapAbstractState","l":"LimitedHashMapAbstractState(int, TriFunction, KeyT, AbstractSpaceT, Optional>)","url":"%3Cinit%3E(int,proguard.analysis.cpa.util.TriFunction)"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMapAbstractState","l":"LimitedHashMapAbstractState(Map, TriFunction, KeyT, AbstractSpaceT, Optional>)","url":"%3Cinit%3E(java.util.Map,proguard.analysis.cpa.util.TriFunction)"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMapAbstractState","l":"LimitedHashMapAbstractState(TriFunction, KeyT, AbstractSpaceT, Optional>)","url":"%3Cinit%3E(proguard.analysis.cpa.util.TriFunction)"},{"p":"proguard.analysis.cpa.state","c":"LimitedHashMapAbstractStateFactory","l":"LimitedHashMapAbstractStateFactory(TriFunction, KeyT, AbstractSpaceT, Optional>)","url":"%3Cinit%3E(proguard.analysis.cpa.util.TriFunction)"},{"p":"proguard.analysis.datastructure","c":"Location","l":"line"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.LineNumber","l":"line"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"LINE_NUMBER_TABLE"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"line(Instruction)","url":"line(proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"line(int, int, String)","url":"line(int,int,java.lang.String)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"line(int, String)","url":"line(int,java.lang.String)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"line(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"line(int)"},{"p":"proguard.classfile.visitor","c":"LineNumberFinder","l":"lineNumber"},{"p":"proguard.dexfile.ir.stmt","c":"LabelStmt","l":"lineNumber"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.LineNumber","l":"LineNumber(DexLabel, int)","url":"%3Cinit%3E(proguard.dexfile.reader.DexLabel,int)"},{"p":"proguard.classfile.visitor","c":"LineNumberFinder","l":"LineNumberFinder(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.attribute","c":"LineNumberInfo","l":"LineNumberInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"LineNumberInfo","l":"LineNumberInfo(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.classfile.editor","c":"LineNumberInfoAdder","l":"LineNumberInfoAdder(LineNumberTableAttribute)","url":"%3Cinit%3E(proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"LineNumberRangeFinder","l":"LineNumberRangeFinder()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"LineNumberTableAttribute","l":"lineNumbersAccept(Clazz, Method, CodeAttribute, LineNumberInfoVisitor)","url":"lineNumbersAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.visitor.LineNumberInfoVisitor)"},{"p":"proguard.classfile.attribute","c":"LineNumberTableAttribute","l":"lineNumberTable"},{"p":"proguard.classfile.attribute","c":"LineNumberTableAttribute","l":"LineNumberTableAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"LineNumberTableAttribute","l":"LineNumberTableAttribute(int, int, LineNumberInfo[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.LineNumberInfo[])"},{"p":"proguard.classfile.editor","c":"LineNumberTableAttributeEditor","l":"LineNumberTableAttributeEditor(LineNumberTableAttribute)","url":"%3Cinit%3E(proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.editor","c":"LineNumberTableAttributeTrimmer","l":"LineNumberTableAttributeTrimmer()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.ts","c":"RemoveLocalFromSSA","l":"linkPhiObject(RemoveLocalFromSSA.PhiObject, RemoveLocalFromSSA.PhiObject)","url":"linkPhiObject(proguard.dexfile.ir.ts.RemoveLocalFromSSA.PhiObject,proguard.dexfile.ir.ts.RemoveLocalFromSSA.PhiObject)"},{"p":"proguard.analysis.cpa.defaults","c":"ListAbstractState","l":"ListAbstractState()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.defaults","c":"ListAbstractState","l":"ListAbstractState(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.dexfile.ir","c":"Util","l":"listDesc(String)","url":"listDesc(java.lang.String)"},{"p":"proguard.util","c":"ListFunctionParser","l":"ListFunctionParser(StringFunctionParser)","url":"%3Cinit%3E(proguard.util.StringFunctionParser)"},{"p":"proguard.util","c":"ListMatcher","l":"ListMatcher(StringMatcher...)","url":"%3Cinit%3E(proguard.util.StringMatcher...)"},{"p":"proguard.util","c":"ListMatcher","l":"ListMatcher(StringMatcher[], boolean[])","url":"%3Cinit%3E(proguard.util.StringMatcher[],boolean[])"},{"p":"proguard.util","c":"ListParser","l":"ListParser(StringParser)","url":"%3Cinit%3E(proguard.util.StringParser)"},{"p":"proguard.util","c":"StringUtil","l":"listToString(List)","url":"listToString(java.util.List)"},{"p":"proguard.util","c":"ListUtil","l":"ListUtil()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.LiteralValue","l":"LiteralValue(T)","url":"%3Cinit%3E(T)"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer.LiveA","l":"LiveA(IrMethod)","url":"%3Cinit%3E(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"LivenessAnalyzer()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"LivenessAnalyzer(PartialEvaluator, boolean, InitializationFinder, boolean)","url":"%3Cinit%3E(proguard.evaluation.PartialEvaluator,boolean,proguard.evaluation.InitializationFinder,boolean)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lload_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lload_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lload_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lload_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lload_2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lload_2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lload_3()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lload_3()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lload(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lload(int)"},{"p":"proguard.evaluation","c":"Variables","l":"lload(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lmul()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lmul()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lneg()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lneg()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"load(int, char)","url":"load(int,char)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"load(int, char)","url":"load(int,char)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"load(int, String)","url":"load(int,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"load(int, String)","url":"load(int,java.lang.String)"},{"p":"proguard.evaluation","c":"Variables","l":"load(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"loadFromArray(String)","url":"loadFromArray(java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"LOCAL"},{"p":"proguard.dexfile.ir.ts","c":"RemoveConstantFromSSA","l":"LOCAL_COMPARATOR"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"LOCAL_END"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"LOCAL_START"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"LOCAL_VARIABLE_TABLE"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"LOCAL_VARIABLE_TYPE_TABLE"},{"p":"proguard.dexfile.ir.expr","c":"Local","l":"Local()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.expr","c":"Local","l":"Local(int, String)","url":"%3Cinit%3E(int,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Local","l":"Local(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.dexfile.ir.expr","c":"Local","l":"Local(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"localDelegatedProperties"},{"p":"proguard.dexfile.ir","c":"IrMethod","l":"locals"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"localSize"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"LOCALVAR_REFERENCE_CLASS_NAME"},{"p":"proguard.dexfile.ir","c":"LocalVar","l":"LocalVar(String, String, String, LabelStmt, LabelStmt, Local)","url":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,proguard.dexfile.ir.stmt.LabelStmt,proguard.dexfile.ir.stmt.LabelStmt,proguard.dexfile.ir.expr.Local)"},{"p":"proguard.classfile.attribute","c":"LocalVariableInfo","l":"LocalVariableInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"LocalVariableInfo","l":"LocalVariableInfo(int, int, int, int, int)","url":"%3Cinit%3E(int,int,int,int,int)"},{"p":"proguard.classfile.editor","c":"LocalVariableInfoAdder","l":"LocalVariableInfoAdder(ProgramClass, LocalVariableTableAttribute)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.kotlin.reflect","c":"LocalVariableReferenceInfo","l":"LocalVariableReferenceInfo(Clazz, KotlinDeclarationContainerMetadata, String, String)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,java.lang.String,java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"localVariables"},{"p":"proguard.classfile.attribute","c":"LocalVariableTableAttribute","l":"localVariablesAccept(Clazz, Method, CodeAttribute, LocalVariableInfoVisitor)","url":"localVariablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.visitor.LocalVariableInfoVisitor)"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeTableAttribute","l":"localVariablesAccept(Clazz, Method, CodeAttribute, LocalVariableTypeInfoVisitor)","url":"localVariablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.visitor.LocalVariableTypeInfoVisitor)"},{"p":"proguard.classfile.attribute","c":"LocalVariableTableAttribute","l":"localVariableTable"},{"p":"proguard.classfile.attribute","c":"LocalVariableTableAttribute","l":"LocalVariableTableAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"LocalVariableTableAttribute","l":"LocalVariableTableAttribute(int, int, LocalVariableInfo[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.LocalVariableInfo[])"},{"p":"proguard.classfile.editor","c":"LocalVariableTableAttributeEditor","l":"LocalVariableTableAttributeEditor(LocalVariableTableAttribute)","url":"%3Cinit%3E(proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.attribute.annotation.target","c":"LocalVariableTargetElement","l":"LocalVariableTargetElement()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.target","c":"LocalVariableTargetElement","l":"LocalVariableTargetElement(int, int, int)","url":"%3Cinit%3E(int,int,int)"},{"p":"proguard.classfile.attribute.annotation.target","c":"LocalVariableTargetInfo","l":"LocalVariableTargetInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.target","c":"LocalVariableTargetInfo","l":"LocalVariableTargetInfo(byte, int, LocalVariableTargetElement[])","url":"%3Cinit%3E(byte,int,proguard.classfile.attribute.annotation.target.LocalVariableTargetElement[])"},{"p":"proguard.classfile.attribute.annotation.target","c":"LocalVariableTargetInfo","l":"LocalVariableTargetInfo(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeInfo","l":"LocalVariableTypeInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeInfo","l":"LocalVariableTypeInfo(int, int, int, int, int)","url":"%3Cinit%3E(int,int,int,int,int)"},{"p":"proguard.classfile.editor","c":"LocalVariableTypeInfoAdder","l":"LocalVariableTypeInfoAdder(ProgramClass, LocalVariableTypeTableAttribute)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeTableAttribute","l":"localVariableTypeTable"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeTableAttribute","l":"LocalVariableTypeTableAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeTableAttribute","l":"LocalVariableTypeTableAttribute(int, int, LocalVariableTypeInfo[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.LocalVariableTypeInfo[])"},{"p":"proguard.classfile.editor","c":"LocalVariableTypeTableAttributeEditor","l":"LocalVariableTypeTableAttributeEditor(LocalVariableTypeTableAttribute)","url":"%3Cinit%3E(proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.analysis.datastructure","c":"Location","l":"Location(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"LOCK"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ReflectiveModel","l":"log"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"LONG"},{"p":"proguard.classfile","c":"TypeConstants","l":"LONG"},{"p":"proguard.classfile.constant","c":"Constant","l":"LONG"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"LONG"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"LONG_A_STRING"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"LONG_B_STRING"},{"p":"proguard.dexfile.reader","c":"Op","l":"LONG_TO_DOUBLE"},{"p":"proguard.dexfile.reader","c":"Op","l":"LONG_TO_FLOAT"},{"p":"proguard.dexfile.reader","c":"Op","l":"LONG_TO_INT"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"LONG_TYPE"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"LONG_VALUE"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"longArrayLoad(IntegerValue, ValueFactory)","url":"longArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"longArrayLoad(IntegerValue, ValueFactory)","url":"longArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"longArrayLoad(IntegerValue, ValueFactory)","url":"longArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"longArrayLoad(IntegerValue, ValueFactory)","url":"longArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.classfile.constant","c":"LongConstant","l":"LongConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"LongConstant","l":"LongConstant(long)","url":"%3Cinit%3E(long)"},{"p":"proguard.classfile.attribute.preverification","c":"LongType","l":"LongType()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"LongValue","l":"longValue()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"longValue()"},{"p":"proguard.evaluation.value","c":"Value","l":"longValue()"},{"p":"proguard.evaluation.value","c":"LongValue","l":"LongValue()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.LongValue","l":"LongValue(long)","url":"%3Cinit%3E(long)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"LOOKUP_SWITCH"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lookupswitch(CompactCodeAttributeComposer.Label, int[], CompactCodeAttributeComposer.Label[])","url":"lookupswitch(proguard.classfile.editor.CompactCodeAttributeComposer.Label,int[],proguard.classfile.editor.CompactCodeAttributeComposer.Label[])"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lookupswitch(int, int[], int[])","url":"lookupswitch(int,int[],int[])"},{"p":"proguard.classfile.instruction","c":"LookUpSwitchInstruction","l":"LookUpSwitchInstruction()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.instruction","c":"LookUpSwitchInstruction","l":"LookUpSwitchInstruction(byte, int, int[], int[])","url":"%3Cinit%3E(byte,int,int[],int[])"},{"p":"proguard.dexfile.ir.stmt","c":"LookupSwitchStmt","l":"LookupSwitchStmt(Value, int[], LabelStmt[], LabelStmt)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value,int[],proguard.dexfile.ir.stmt.LabelStmt[],proguard.dexfile.ir.stmt.LabelStmt)"},{"p":"proguard.dexfile.ir.stmt","c":"LookupSwitchStmt","l":"lookupValues"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lor()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lor()"},{"p":"proguard.classfile.instruction","c":"TableSwitchInstruction","l":"lowCase"},{"p":"proguard.dexfile.ir.stmt","c":"TableSwitchStmt","l":"lowIndex"},{"p":"proguard.evaluation","c":"Stack","l":"lpop()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lrem()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lrem()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lreturn()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lreturn()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lshl()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lshl()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lshr()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lshr()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lstore_0()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lstore_0()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lstore_1()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lstore_1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lstore_2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lstore_2()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lstore_3()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lstore_3()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lstore(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lstore(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lsub()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lsub()"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"LT"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lushr()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lushr()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"lxor()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"lxor()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"M"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"M"},{"p":"proguard.classfile","c":"VersionConstants","l":"MAGIC"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"MAIN_DEX_LIST_TXT"},{"p":"proguard.classfile.editor","c":"ClassBuilder","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.classfile.editor","c":"MemberAdder","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.classfile.util","c":"DescriptorClassEnumeration","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.classfile.util","c":"InternalTypeEnumeration","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples","c":"AnalyzeTaints","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples","c":"ApplyPeepholeOptimizations","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples","c":"CreateHelloWorldClass","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples","c":"CyclomaticComplexity","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples","c":"EvaluateCode","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples","c":"FindBranches","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples","c":"Preverify","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples","c":"PrintClasses","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples","c":"RemoveLogging","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples","c":"TransformExample","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples","c":"VisualizeCfa","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples","c":"VisualizeControlFlow","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples.instrument","c":"AddMethodInvocationLogging","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples.instrument","c":"DebugStackTop","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples.instrument","c":"DebugStackTopExample","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples.modify","c":"EditClass","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.examples.modify","c":"ReplaceSimpleConstantInstruction","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.io","c":"ClassReader","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.io","c":"DataEntryCopier","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.io","c":"DexClassReader","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.io","c":"JarWriter","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.io","c":"SignedJarWriter","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.io","c":"ZipOutput","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.util","c":"ClassNameParser","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.util","c":"FileNameParser","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.util","c":"ListFunctionParser","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.util","c":"ListParser","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.util","c":"ListUtil","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.util","c":"NameParser","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.util","c":"SingleFunctionParser","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"proguard.classfile.attribute.module","c":"ModuleMainClassAttribute","l":"mainClassAccept(Clazz, ConstantVisitor)","url":"mainClassAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"mainSignature"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadataVersion","l":"major"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"major"},{"p":"proguard.classfile","c":"AccessConstants","l":"MANDATED"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"MANDATED"},{"p":"proguard.io","c":"JarWriter","l":"manifestEntryWriter"},{"p":"proguard.io","c":"ManifestRewriter","l":"ManifestRewriter(ClassPool, Charset, DataEntryWriter)","url":"%3Cinit%3E(proguard.classfile.ClassPool,java.nio.charset.Charset,proguard.io.DataEntryWriter)"},{"p":"proguard.dexfile.ir","c":"LabelAndLocalMapper","l":"map(LabelStmt)","url":"map(proguard.dexfile.ir.stmt.LabelStmt)"},{"p":"proguard.dexfile.ir","c":"LabelAndLocalMapper","l":"map(Local)","url":"map(proguard.dexfile.ir.expr.Local)"},{"p":"proguard.util","c":"MapStringFunction","l":"MapStringFunction(Map, String)","url":"%3Cinit%3E(java.util.Map,java.lang.String)"},{"p":"proguard.util","c":"MapStringFunction","l":"MapStringFunction(Map)","url":"%3Cinit%3E(java.util.Map)"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer.LiveA","l":"markUsed()"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveAnalyze","l":"markUsed()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink","l":"matchCfaEdge(JvmCfaEdge)","url":"matchCfaEdge(proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmReturnTaintSink","l":"matchCfaEdge(JvmCfaEdge)","url":"matchCfaEdge(proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSink","l":"matchCfaEdge(JvmCfaEdge)","url":"matchCfaEdge(proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"matchedArgument(Clazz, int)","url":"matchedArgument(proguard.classfile.Clazz,int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"matchedArgument(Clazz, Method, CodeAttribute, int, int)","url":"matchedArgument(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"matchedArgument(int)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"matchedArgument(int)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"matchedArguments(int[])"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"matchedBranchOffset(int, int)","url":"matchedBranchOffset(int,int)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"matchedBranchOffset(int, int)","url":"matchedBranchOffset(int,int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"matchedConstant(ProgramClass, int)","url":"matchedConstant(proguard.classfile.ProgramClass,int)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"matchedConstantIndex(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"matchedConstantIndex(ProgramClass, int)","url":"matchedConstantIndex(proguard.classfile.ProgramClass,int)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"matchedInstructionOffset(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"matchedJumpOffsets(int, int[])","url":"matchedJumpOffsets(int,int[])"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"matchedJumpOffsets(int, int[])","url":"matchedJumpOffsets(int,int[])"},{"p":"proguard.util","c":"MatchedStringFunction","l":"MatchedStringFunction(VariableStringMatcher)","url":"%3Cinit%3E(proguard.util.VariableStringMatcher)"},{"p":"proguard.util","c":"MatchedStringMatcher","l":"MatchedStringMatcher(VariableStringMatcher, StringMatcher)","url":"%3Cinit%3E(proguard.util.VariableStringMatcher,proguard.util.StringMatcher)"},{"p":"proguard.util","c":"AndMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"CollectionMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"ConstantMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"EmptyStringMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"ExtensionMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"FixedStringMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"ListMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"MatchedStringMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"NotMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"OrMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"SettableMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"StringMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"TransformedStringMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"VariableStringMatcher","l":"matches(String, int, int)","url":"matches(java.lang.String,int,int)"},{"p":"proguard.util","c":"CollectionMatcher","l":"matches(String)","url":"matches(java.lang.String)"},{"p":"proguard.util","c":"StringMatcher","l":"matches(String)","url":"matches(java.lang.String)"},{"p":"proguard.util","c":"TransformedStringMatcher","l":"matches(String)","url":"matches(java.lang.String)"},{"p":"proguard.classfile.util","c":"ArrayInitializationMatcher","l":"matchesArrayInitialization(Clazz, Method, CodeAttribute, int, SimpleInstruction)","url":"matchesArrayInitialization(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SimpleInstruction)"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"matchesIgnoreNull(MethodDescriptor, MethodDescriptor)","url":"matchesIgnoreNull(proguard.classfile.MethodDescriptor,proguard.classfile.MethodDescriptor)"},{"p":"proguard.classfile","c":"MethodSignature","l":"matchesIgnoreNull(MethodSignature, MethodSignature)","url":"matchesIgnoreNull(proguard.classfile.MethodSignature,proguard.classfile.MethodSignature)"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"matchesIgnoreNullAndDollar(MethodDescriptor, MethodDescriptor)","url":"matchesIgnoreNullAndDollar(proguard.classfile.MethodDescriptor,proguard.classfile.MethodDescriptor)"},{"p":"proguard.classfile","c":"MethodSignature","l":"matchesIgnoreNullAndDollar(MethodSignature, MethodSignature)","url":"matchesIgnoreNullAndDollar(proguard.classfile.MethodSignature,proguard.classfile.MethodSignature)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"matchingArguments(int, int)","url":"matchingArguments(int,int)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"matchingArguments(int[], int[])","url":"matchingArguments(int[],int[])"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"matchingBranchOffsets(int, int, int)","url":"matchingBranchOffsets(int,int,int)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"matchingConstant"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"matchingConstantIndices(Clazz, int, int)","url":"matchingConstantIndices(proguard.classfile.Clazz,int,int)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"matchingJumpOffsets(int, int[], int[])","url":"matchingJumpOffsets(int,int[],int[])"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"matchingOpcodes(Instruction, Instruction)","url":"matchingOpcodes(proguard.classfile.instruction.Instruction,proguard.classfile.instruction.Instruction)"},{"p":"proguard.util","c":"MatchingStringFunction","l":"MatchingStringFunction(StringMatcher)","url":"%3Cinit%3E(proguard.util.StringMatcher)"},{"p":"proguard.util","c":"CallGraphWalker","l":"MAX_DEPTH_DEFAULT"},{"p":"proguard.exception","c":"ErrorId","l":"MAX_STACK_SIZE_COMPUTER_ERROR"},{"p":"proguard.classfile","c":"VersionConstants","l":"MAX_SUPPORTED_VERSION"},{"p":"proguard.util","c":"CallGraphWalker","l":"MAX_WIDTH_DEFAULT"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun.Builder","l":"maxCallStackDepth"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"maximumValue()"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"MaxStackSizeComputer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"MaxStackSizeComputer(MaxStackSizeComputer.StackSizeConsumer)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.MaxStackSizeComputer.StackSizeConsumer)"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"MAY_THROW"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"MAY_THROW"},{"p":"proguard.evaluation.value","c":"Value","l":"MAYBE"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"mayBeExtension"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"mayBeExtension()"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"mayBeExtension()"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"mayBeExtension()"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"mayBeExtension()"},{"p":"proguard.evaluation.value","c":"UnknownReferenceValue","l":"mayBeExtension()"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"mayBeNull"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"mayBeUnknown"},{"p":"proguard.classfile","c":"Clazz","l":"mayHaveImplementations(Method)","url":"mayHaveImplementations(proguard.classfile.Method)"},{"p":"proguard.classfile","c":"LibraryClass","l":"mayHaveImplementations(Method)","url":"mayHaveImplementations(proguard.classfile.Method)"},{"p":"proguard.classfile","c":"ProgramClass","l":"mayHaveImplementations(Method)","url":"mayHaveImplementations(proguard.classfile.Method)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"mayInstanceThrowExceptions(Clazz)","url":"mayInstanceThrowExceptions(proguard.classfile.Clazz)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"mayInstanceThrowExceptions(Clazz)","url":"mayInstanceThrowExceptions(proguard.classfile.Clazz)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"mayThrow()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"mayThrow()"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"mayThrowExceptions()"},{"p":"proguard.analysis.datastructure","c":"CodeLocation","l":"member"},{"p":"proguard.classfile.kotlin.reflect","c":"JavaReferenceInfo","l":"member"},{"p":"proguard.classfile.visitor","c":"MemberAccessFilter","l":"MemberAccessFilter(int, int, MemberVisitor, MemberVisitor)","url":"%3Cinit%3E(int,int,proguard.classfile.visitor.MemberVisitor,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFilter","l":"MemberAccessFilter(int, int, MemberVisitor)","url":"%3Cinit%3E(int,int,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFlagCleaner","l":"MemberAccessFlagCleaner(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFlagSetter","l":"MemberAccessFlagSetter(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.visitor","c":"MemberAccessSetter","l":"MemberAccessSetter(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.editor","c":"MemberAdder","l":"MemberAdder(ProgramClass, MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.editor","c":"MemberAdder","l":"MemberAdder(ProgramClass, StringFunction, MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.util.StringFunction,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.editor","c":"MemberAdder","l":"MemberAdder(ProgramClass)","url":"%3Cinit%3E(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"MemberClassAccessFilter","l":"MemberClassAccessFilter(Clazz, MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.attribute","c":"NestMembersAttribute","l":"memberClassConstantsAccept(Clazz, ConstantVisitor)","url":"memberClassConstantsAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberCollectionFilter","l":"MemberCollectionFilter(Set, MemberVisitor, MemberVisitor)","url":"%3Cinit%3E(java.util.Set,proguard.classfile.visitor.MemberVisitor,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberCollectionFilter","l":"MemberCollectionFilter(Set, MemberVisitor)","url":"%3Cinit%3E(java.util.Set,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberCollector","l":"MemberCollector(boolean, boolean, boolean, Set)","url":"%3Cinit%3E(boolean,boolean,boolean,java.util.Set)"},{"p":"proguard.classfile.visitor","c":"MemberCounter","l":"MemberCounter()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.visitor","c":"MemberDescriptorFilter","l":"MemberDescriptorFilter(String, MemberVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberDescriptorFilter","l":"MemberDescriptorFilter(String, WildcardManager, MemberVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.util.WildcardManager,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberDescriptorFilter","l":"MemberDescriptorFilter(StringMatcher, MemberVisitor)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberDescriptorReferencedClassVisitor","l":"MemberDescriptorReferencedClassVisitor(boolean, ClassVisitor)","url":"%3Cinit%3E(boolean,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberDescriptorReferencedClassVisitor","l":"MemberDescriptorReferencedClassVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.util","c":"MemberFinder","l":"MemberFinder()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"MemberFinder","l":"MemberFinder(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.classfile","c":"FieldSignature","l":"memberName"},{"p":"proguard.classfile.visitor","c":"MemberNameFilter","l":"MemberNameFilter(String, MemberVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberNameFilter","l":"MemberNameFilter(String, WildcardManager, MemberVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.util.WildcardManager,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberNameFilter","l":"MemberNameFilter(StringMatcher, MemberVisitor)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberProcessingFlagFilter","l":"MemberProcessingFlagFilter(int, int, MemberVisitor, MemberVisitor)","url":"%3Cinit%3E(int,int,proguard.classfile.visitor.MemberVisitor,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberProcessingFlagFilter","l":"MemberProcessingFlagFilter(int, int, MemberVisitor)","url":"%3Cinit%3E(int,int,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"MemberReferenceFixer(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.classfile.editor","c":"MemberRemover","l":"MemberRemover()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"MemberRenamer","l":"MemberRenamer(BiFunction, MemberVisitor)","url":"%3Cinit%3E(java.util.function.BiFunction,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.util","c":"MemberRenamer","l":"MemberRenamer(BiFunction)","url":"%3Cinit%3E(java.util.function.BiFunction)"},{"p":"proguard.classfile.util","c":"MemberRenamer","l":"MemberRenamer(Function, MemberVisitor)","url":"%3Cinit%3E(java.util.function.Function,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MemberToClassVisitor","l":"MemberToClassVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.kotlin.visitor","c":"MemberToKotlinPropertyVisitor","l":"MemberToKotlinPropertyVisitor(KotlinPropertyVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinPropertyVisitor)"},{"p":"proguard.classfile.util.renderer","c":"MemberViewModel","l":"MemberViewModel(Clazz, Member)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.visitor","c":"ReferencedMemberVisitor","l":"memberVisitor"},{"p":"proguard.analysis.cpa.defaults","c":"MergeJoinOperator","l":"merge(AbstractState, AbstractState, Precision)","url":"merge(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.defaults","c":"MergeSepOperator","l":"merge(AbstractState, AbstractState, Precision)","url":"merge(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.interfaces","c":"MergeOperator","l":"merge(AbstractState, AbstractState, Precision)","url":"merge(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationMergeJoinOperator","l":"merge(AbstractState, AbstractState, Precision)","url":"merge(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMap","l":"merge(K, V, BiFunction)","url":"merge(K,V,java.util.function.BiFunction)"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveAnalyze","l":"merge(SimpleLiveValue[], SimpleLiveValue[], Stmt, Stmt)","url":"merge(proguard.dexfile.ir.ts.an.SimpleLiveValue[],proguard.dexfile.ir.ts.an.SimpleLiveValue[],proguard.dexfile.ir.stmt.Stmt,proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg.FrameVisitor","l":"merge(T, T, Stmt, Stmt)","url":"merge(T,T,proguard.dexfile.ir.stmt.Stmt,proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"merge(TypeClass, TypeClass)","url":"merge(proguard.dexfile.ir.TypeClass,proguard.dexfile.ir.TypeClass)"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"merge(TypeTransformer.TypeRef)","url":"merge(proguard.dexfile.ir.ts.TypeTransformer.TypeRef)"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer.LiveA","l":"merge(UnSSATransformer.LiveV[], UnSSATransformer.LiveV[], Stmt, Stmt)","url":"merge(proguard.dexfile.ir.ts.UnSSATransformer.LiveV[],proguard.dexfile.ir.ts.UnSSATransformer.LiveV[],proguard.dexfile.ir.stmt.Stmt,proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.analysis.cpa.defaults","c":"MergeJoinOperator","l":"MergeJoinOperator(AbstractDomain)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.AbstractDomain)"},{"p":"proguard.analysis.cpa.defaults","c":"MergeSepOperator","l":"MergeSepOperator()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"message"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"META_INF_SIGNING_INFO"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"METADATA_KIND_CLASS"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"METADATA_KIND_FILE_FACADE"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"METADATA_KIND_MULTI_FILE_CLASS_FACADE"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"METADATA_KIND_MULTI_FILE_CLASS_PART"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"METADATA_KIND_SYNTHETIC_CLASS"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"metadataKindToString(int)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"metadataTypeOf(String)","url":"metadataTypeOf(java.lang.String)"},{"p":"proguard.classfile","c":"MethodSignature","l":"method"},{"p":"proguard.dexfile.ir.expr","c":"InvokeExpr","l":"method"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"method"},{"p":"proguard.dexfile.reader.node","c":"DexMethodNode","l":"method"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodPolymorphicStmtNode","l":"method"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodStmtNode","l":"method"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"method"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"METHOD_ARGUMENTS_CLOSE"},{"p":"proguard.classfile","c":"TypeConstants","l":"METHOD_ARGUMENTS_CLOSE"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"METHOD_ARGUMENTS_OPEN"},{"p":"proguard.classfile","c":"TypeConstants","l":"METHOD_ARGUMENTS_OPEN"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"METHOD_ARGUMENTS_SEPARATOR"},{"p":"proguard.classfile.constant","c":"Constant","l":"METHOD_HANDLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_ABS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_ACCESSIBLE_OBJECT_SET_ACCESSIBLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_ADD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_ADD_ALL"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_ADD_JAVASCRIPT_INTERFACE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_APPEND"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_ARRAY_NEW_INSTANCE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_BOOLEAN_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_BYTE_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CEIL"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CHAR_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_FOR_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_CANONICAL_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_CLASS_LOADER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_COMPONENT_TYPE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_CONSTRUCTOR"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_CONSTRUCTORS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_DECLARED_CONSTRUCTOR"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_DECLARED_CONSTRUCTORS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_DECLARED_FIELD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_DECLARED_FIELDS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_DECLARED_METHOD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_DECLARED_METHODS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_DECLARING_CLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_ENCLOSING_CLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_ENCLOSING_CONSTRUCTOR"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_ENCLOSING_METHOD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_FIELD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_FIELDS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_METHOD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_METHODS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_PACKAGE_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_SIMPLE_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_SUPERCLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_GET_TYPE_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_IS_ASSIGNABLE_FROM"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLASS_IS_INSTANCE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLINIT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CLONE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_CONSTRUCTOR_NEW_INSTANCE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_COS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_DO_LOAD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_DOT_CLASS_JAVAC"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_DOT_CLASS_JIKES"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_DOUBLE_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_EQUALS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_FIELD_GET"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_FIELD_GET_INT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_FIELD_SET"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_FIND_CLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_FIND_LIBRARY"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_FIND_LOADED_CLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_FLOAT_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_FLOOR"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_GET_ANNOTATION"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_GET_ANNOTATIONS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_GET_CAUSE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_GET_DECLARED_ANNOTATIONS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_GET_GENERIC_PREFIX"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_GET_PARAMETER_ANNOTATIONS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_GET_RUNTIME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_GET_TYPE_PREFIX"},{"p":"proguard.examples.modify","c":"EditClass","l":"METHOD_NAME_GETANSWER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_INIT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_INT_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_INTERN"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_IS_EMPTY"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"METHOD_NAME_LAMBDA_INVOKE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_LENGTH"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_LOAD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_LOAD_CLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_LOAD_LIBRARY"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_LONG_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_MAKE_CONCAT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_MAKE_CONCAT_WITH_CONSTANTS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_MAP_GET"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_MAP_LIBRARY_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_MAP_PUT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_MAX"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_METHOD_INVOKE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_MIN"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_NATIVE_LOAD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_NEW_INSTANCE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_NEW_UPDATER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_OBJECT_GET_CLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_ORDINAL"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_READ_OBJECT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_READ_RESOLVE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_SHORT_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_SIN"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_SQRT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_TOSTRING"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_TOSTRING_IMPL"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_VALUE_OF"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_VALUEOF"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_VALUES"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_WRITE_OBJECT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_NAME_WRITE_REPLACE"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"METHOD_PARAMETER"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"METHOD_PARAMETERS"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"METHOD_RETURN_VALUE"},{"p":"proguard.classfile.constant","c":"Constant","l":"METHOD_TYPE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_ACCESSIBLE_OBJECT_SET_ACCESSIBLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_ADD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_ADD_ALL"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_ADD_JAVASCRIPT_INTERFACE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_ARRAY_NEW_INSTANCE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_ARRAY_NEW_INSTANCE2"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_BOOLEAN_STRING_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_BOOLEAN_STRING_BUILDER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_BOOLEAN_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_BYTE_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_BYTES_INT_VOID"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_BYTES_VOID"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CHAR_STRING_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CHAR_STRING_BUILDER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CHAR_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CHARS_VOID"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_FOR_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_FOR_NAME_CLASSLOADER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_FOR_NAME2"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_CANONICAL_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_CLASS_LOADER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_COMPONENT_TYPE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_CONSTRUCTOR"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_CONSTRUCTORS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_DECLARED_CONSTRUCTOR"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_DECLARED_CONSTRUCTORS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_DECLARED_FIELD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_DECLARED_FIELDS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_DECLARED_METHOD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_DECLARED_METHODS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_FIELD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_FIELDS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_METHOD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_METHODS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_PACKAGE_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_SIMPLE_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_SUPERCLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_GET_TYPE_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_IS_ASSIGNABLE_FROM"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLASS_IS_INSTANCE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLINIT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CLONE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_CONSTRUCTOR_NEW_INSTANCE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_DOT_CLASS_JAVAC"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_DOT_CLASS_JIKES"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_DOUBLE_DOUBLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_DOUBLE_DOUBLE_DOUBLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_DOUBLE_STRING_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_DOUBLE_STRING_BUILDER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_DOUBLE_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_EQUALS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_FIELD_GET"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_FIELD_GET_INT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_FIELD_SET"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_FIND_CLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_FIND_LIBRARY"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_FIND_LOADED_CLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_FLOAT_FLOAT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_FLOAT_FLOAT_FLOAT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_FLOAT_STRING_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_FLOAT_STRING_BUILDER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_FLOAT_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_GET_CAUSE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_GET_RUNTIME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_INIT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_INIT_COLLECTION"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_INIT_ENUM"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_INIT_THROWABLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_INT_STRING_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_INT_STRING_BUILDER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_INT_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_INT_VOID"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_INTERN"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_IS_EMPTY"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_LENGTH"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_LOAD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_LOAD_CLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_LOAD_LIBRARY"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_LOAD2"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_LONG_STRING_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_LONG_STRING_BUILDER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_LONG_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_MAP_GET"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_MAP_LIBRARY_NAME"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_MAP_PUT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_METHOD_INVOKE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_NATIVE_LOAD"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_NEW_INSTANCE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_NEW_INTEGER_UPDATER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_NEW_LONG_UPDATER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_NEW_REFERENCE_UPDATER"},{"p":"proguard.examples.modify","c":"EditClass","l":"METHOD_TYPE_NUMBER_NUMBER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_OBJECT_GET_CLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_OBJECT_STRING_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_OBJECT_STRING_BUILDER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_ON_CLICK_HANDLER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_ORDINAL"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_READ_OBJECT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_READ_RESOLVE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_SHORT_VALUE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_STRING_STRING_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_STRING_STRING_BUILDER"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_STRING_VOID"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_TOSTRING"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_TOSTRING_BOOLEAN"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_TOSTRING_IMPL"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUE_OF_BOOLEAN"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUE_OF_BYTE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUE_OF_CHAR"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUE_OF_DOUBLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUE_OF_FLOAT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUE_OF_INT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUE_OF_LONG"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUE_OF_SHORT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUEOF_BOOLEAN"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUEOF_CHAR"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUEOF_DOUBLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUEOF_FLOAT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUEOF_INT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUEOF_LONG"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_VALUEOF_OBJECT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_WRITE_OBJECT"},{"p":"proguard.classfile","c":"ClassConstants","l":"METHOD_TYPE_WRITE_REPLACE"},{"p":"proguard.dexfile.reader","c":"Method","l":"Method(String, String, Proto)","url":"%3Cinit%3E(java.lang.String,java.lang.String,proguard.dexfile.reader.Proto)"},{"p":"proguard.dexfile.reader","c":"Method","l":"Method(String, String, String[], String)","url":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String[],java.lang.String)"},{"p":"proguard.evaluation.exception","c":"PartialEvaluatorException","l":"methodAccept(MemberVisitor)","url":"methodAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"Clazz","l":"methodAccept(String, String, MemberVisitor)","url":"methodAccept(java.lang.String,java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"methodAccept(String, String, MemberVisitor)","url":"methodAccept(java.lang.String,java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"methodAccept(String, String, MemberVisitor)","url":"methodAccept(java.lang.String,java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodInfo","l":"methodArgumentsAccept(Clazz, ConstantVisitor)","url":"methodArgumentsAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.visitor","c":"MethodCollector","l":"MethodCollector(Collection)","url":"%3Cinit%3E(java.util.Collection)"},{"p":"proguard.classfile.editor","c":"MethodCopier","l":"MethodCopier(ProgramClass, ProgramMethod, StringFunction, MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod,proguard.util.StringFunction,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.editor","c":"MethodCopier","l":"MethodCopier(ProgramClass, ProgramMethod, StringFunction)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod,proguard.util.StringFunction)"},{"p":"proguard.classfile.editor","c":"MethodCopier","l":"MethodCopier(ProgramClass, ProgramMethod)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MethodCounter","l":"MethodCounter()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodCustomStmtNode","l":"MethodCustomStmtNode(Op, int[], String, Proto, MethodHandle, Object[])","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int[],java.lang.String,proguard.dexfile.reader.Proto,proguard.dexfile.reader.MethodHandle,java.lang.Object[])"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"MethodDescriptor(String, List)","url":"%3Cinit%3E(java.lang.String,java.util.List)"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"MethodDescriptor(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper.MethodExecutionContext","l":"MethodExecutionContext(MethodExecutionInfo, ValueCalculator)","url":"%3Cinit%3E(proguard.evaluation.executor.MethodExecutionInfo,proguard.evaluation.ValueCalculator)"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"MethodExecutionInfo(AnyMethodrefConstant, CodeLocation, Value...)","url":"%3Cinit%3E(proguard.classfile.constant.AnyMethodrefConstant,proguard.analysis.datastructure.CodeLocation,proguard.evaluation.value.Value...)"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"MethodExecutionInfo(Clazz, Method, CodeLocation, Value...)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.Method,proguard.analysis.datastructure.CodeLocation,proguard.evaluation.value.Value...)"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"MethodExecutionInfo(ConcreteCall, Value...)","url":"%3Cinit%3E(proguard.analysis.datastructure.callgraph.ConcreteCall,proguard.evaluation.value.Value...)"},{"p":"proguard.classfile.visitor","c":"MethodFilter","l":"MethodFilter(MemberVisitor, MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MethodFilter","l":"MethodFilter(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"MethodHandle(int, Field, Method)","url":"%3Cinit%3E(int,proguard.dexfile.reader.Field,proguard.dexfile.reader.Method)"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"MethodHandle(int, Field)","url":"%3Cinit%3E(int,proguard.dexfile.reader.Field)"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"MethodHandle(int, Method)","url":"%3Cinit%3E(int,proguard.dexfile.reader.Method)"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodInfo","l":"methodHandleAccept(Clazz, ConstantVisitor)","url":"methodHandleAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"MethodHandleConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"MethodHandleConstant(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.classfile.visitor","c":"MethodImplementationFilter","l":"MethodImplementationFilter(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"MethodImplementationTraveler","l":"MethodImplementationTraveler(boolean, boolean, boolean, boolean, MemberVisitor)","url":"%3Cinit%3E(boolean,boolean,boolean,boolean,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.editor","c":"MethodInvocationFixer","l":"MethodInvocationFixer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"MethodLinker","l":"MethodLinker()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit","l":"methodMayHaveSideEffects(Clazz, AnyMethodrefConstant, String)","url":"methodMayHaveSideEffects(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant,java.lang.String)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"methodMayHaveSideEffects(Clazz, AnyMethodrefConstant, String)","url":"methodMayHaveSideEffects(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant,java.lang.String)"},{"p":"proguard.classfile.util","c":"ExternalTypeEnumeration","l":"methodName()"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"methodParameter(int)"},{"p":"proguard.classfile.attribute","c":"MethodParametersAttribute","l":"MethodParametersAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"MethodParametersAttribute","l":"MethodParametersAttribute(int, int, ParameterInfo[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.ParameterInfo[])"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodPolymorphicStmtNode","l":"MethodPolymorphicStmtNode(Op, int[], Method, Proto)","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int[],proguard.dexfile.reader.Method,proguard.dexfile.reader.Proto)"},{"p":"proguard.classfile.constant","c":"Constant","l":"METHODREF"},{"p":"proguard.classfile.constant","c":"MethodrefConstant","l":"MethodrefConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"MethodrefConstant","l":"MethodrefConstant(int, int, Clazz, Method)","url":"%3Cinit%3E(int,int,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.constant.visitor","c":"MethodrefTraveler","l":"MethodrefTraveler(ConstantVisitor)","url":"%3Cinit%3E(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"methods"},{"p":"proguard.classfile","c":"ProgramClass","l":"methods"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"methods"},{"p":"proguard.classfile","c":"Clazz","l":"methodsAccept(MemberVisitor)","url":"methodsAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"methodsAccept(MemberVisitor)","url":"methodsAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"methodsAccept(MemberVisitor)","url":"methodsAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"MethodSignature","l":"MethodSignature(Clazz, Method)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile","c":"MethodSignature","l":"MethodSignature(Clazz)","url":"%3Cinit%3E(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"MethodSignature","l":"MethodSignature(String, String, MethodDescriptor)","url":"%3Cinit%3E(java.lang.String,java.lang.String,proguard.classfile.MethodDescriptor)"},{"p":"proguard.classfile","c":"MethodSignature","l":"MethodSignature(String, String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile","c":"MethodSignature","l":"MethodSignature(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodStmtNode","l":"MethodStmtNode(Op, int[], Method)","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int[],proguard.dexfile.reader.Method)"},{"p":"proguard.classfile.kotlin.visitor","c":"MethodToKotlinConstructorVisitor","l":"MethodToKotlinConstructorVisitor(KotlinConstructorVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinConstructorVisitor)"},{"p":"proguard.classfile.kotlin.visitor","c":"MethodToKotlinFunctionVisitor","l":"MethodToKotlinFunctionVisitor(KotlinFunctionVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinFunctionVisitor)"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"MethodTypeConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"MethodTypeConstant(int, Clazz[])","url":"%3Cinit%3E(int,proguard.classfile.Clazz[])"},{"p":"proguard.analysis","c":"Metrics","l":"Metrics()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"minimumValue()"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadataVersion","l":"minor"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"minor"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"MISSING_CLASS"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"MISSING_METHODS"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"modality"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"modality"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyAccessorFlags","l":"modality"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"modality"},{"p":"proguard.classfile.util.renderer","c":"MemberViewModel","l":"model"},{"p":"proguard.util","c":"ProcessingFlags","l":"MODIFIED"},{"p":"proguard.classfile","c":"AccessConstants","l":"MODULE"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"MODULE"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"MODULE"},{"p":"proguard.classfile.constant","c":"Constant","l":"MODULE"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"MODULE_MAIN_CLASS"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"MODULE_PACKAGES"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.MODULE","l":"MODULE()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.module","c":"RequiresInfo","l":"moduleAccept(Clazz, ConstantVisitor)","url":"moduleAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"moduleAccept(KotlinModuleVisitor)","url":"moduleAccept(proguard.resources.kotlinmodule.visitor.KotlinModuleVisitor)"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"ModuleAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"ModuleAttribute(int, int, int, int, int, RequiresInfo[], int, ExportsInfo[], int, OpensInfo[], int, int[], int, ProvidesInfo[])","url":"%3Cinit%3E(int,int,int,int,int,proguard.classfile.attribute.module.RequiresInfo[],int,proguard.classfile.attribute.module.ExportsInfo[],int,proguard.classfile.attribute.module.OpensInfo[],int,int[],int,proguard.classfile.attribute.module.ProvidesInfo[])"},{"p":"proguard.classfile.constant","c":"ModuleConstant","l":"ModuleConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"ModuleConstant","l":"ModuleConstant(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.attribute.module","c":"ModuleMainClassAttribute","l":"ModuleMainClassAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.module","c":"ModuleMainClassAttribute","l":"ModuleMainClassAttribute(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModule","l":"modulePackages"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModule","l":"modulePackagesAccept(KotlinModulePackageVisitor)","url":"modulePackagesAccept(proguard.resources.kotlinmodule.visitor.KotlinModulePackageVisitor)"},{"p":"proguard.classfile.attribute.module","c":"ModulePackagesAttribute","l":"ModulePackagesAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.module","c":"ModulePackagesAttribute","l":"ModulePackagesAttribute(int, int, int[])","url":"%3Cinit%3E(int,int,int[])"},{"p":"proguard.dexfile.reader","c":"Op","l":"MONITOR_ENTER"},{"p":"proguard.dexfile.reader","c":"Op","l":"MONITOR_EXIT"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"monitorenter()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"monitorenter()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"monitorexit()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"monitorexit()"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"MORE_ZERO_FRAME"},{"p":"proguard.classfile.attribute.preverification","c":"MoreZeroFrame","l":"MoreZeroFrame()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"MoreZeroFrame","l":"MoreZeroFrame(int, VerificationType[])","url":"%3Cinit%3E(int,proguard.classfile.attribute.preverification.VerificationType[])"},{"p":"proguard.classfile.attribute.preverification","c":"MoreZeroFrame","l":"MoreZeroFrame(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.attribute.preverification","c":"MoreZeroFrame","l":"MoreZeroFrame(VerificationType[])","url":"%3Cinit%3E(proguard.classfile.attribute.preverification.VerificationType[])"},{"p":"proguard.dexfile.reader","c":"Op","l":"MOVE"},{"p":"proguard.dexfile.reader","c":"Op","l":"MOVE_16"},{"p":"proguard.dexfile.reader","c":"Op","l":"MOVE_EXCEPTION"},{"p":"proguard.dexfile.reader","c":"Op","l":"MOVE_FROM16"},{"p":"proguard.dexfile.reader","c":"Op","l":"MOVE_OBJECT"},{"p":"proguard.dexfile.reader","c":"Op","l":"MOVE_OBJECT_16"},{"p":"proguard.dexfile.reader","c":"Op","l":"MOVE_OBJECT_FROM16"},{"p":"proguard.dexfile.reader","c":"Op","l":"MOVE_RESULT"},{"p":"proguard.dexfile.reader","c":"Op","l":"MOVE_RESULT_OBJECT"},{"p":"proguard.dexfile.reader","c":"Op","l":"MOVE_RESULT_WIDE"},{"p":"proguard.dexfile.reader","c":"Op","l":"MOVE_WIDE"},{"p":"proguard.dexfile.reader","c":"Op","l":"MOVE_WIDE_16"},{"p":"proguard.dexfile.reader","c":"Op","l":"MOVE_WIDE_FROM16"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"move(Stmt, Stmt, Stmt)","url":"move(proguard.dexfile.ir.stmt.Stmt,proguard.dexfile.ir.stmt.Stmt,proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"MUL"},{"p":"proguard.dexfile.reader","c":"Op","l":"MUL_DOUBLE"},{"p":"proguard.dexfile.reader","c":"Op","l":"MUL_DOUBLE_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"MUL_FLOAT"},{"p":"proguard.dexfile.reader","c":"Op","l":"MUL_FLOAT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"MUL_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"MUL_INT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"MUL_INT_LIT16"},{"p":"proguard.dexfile.reader","c":"Op","l":"MUL_INT_LIT8"},{"p":"proguard.dexfile.reader","c":"Op","l":"MUL_LONG"},{"p":"proguard.dexfile.reader","c":"Op","l":"MUL_LONG_2ADDR"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"multianewarray(Clazz)","url":"multianewarray(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"multianewarray(int, int)","url":"multianewarray(int,int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"multianewarray(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"multianewarray(String, Clazz, int)","url":"multianewarray(java.lang.String,proguard.classfile.Clazz,int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"multianewarray(String, Clazz)","url":"multianewarray(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"multianewarray(String)","url":"multianewarray(java.lang.String)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"MultiAnnotationVisitor","l":"MultiAnnotationVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"MultiAnnotationVisitor","l":"MultiAnnotationVisitor(AnnotationVisitor...)","url":"%3Cinit%3E(proguard.classfile.attribute.annotation.visitor.AnnotationVisitor...)"},{"p":"proguard.dexfile.ir.ts","c":"MultiArrayTransformer","l":"MultiArrayTransformer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"MultiAttributeVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"MultiAttributeVisitor(AttributeVisitor...)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.AttributeVisitor...)"},{"p":"proguard.classfile.visitor","c":"MultiClassPoolVisitor","l":"MultiClassPoolVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.visitor","c":"MultiClassPoolVisitor","l":"MultiClassPoolVisitor(ArrayList)","url":"%3Cinit%3E(java.util.ArrayList)"},{"p":"proguard.classfile.visitor","c":"MultiClassPoolVisitor","l":"MultiClassPoolVisitor(ClassPoolVisitor...)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassPoolVisitor...)"},{"p":"proguard.classfile.visitor","c":"MultiClassVisitor","l":"MultiClassVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.visitor","c":"MultiClassVisitor","l":"MultiClassVisitor(ClassVisitor...)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor...)"},{"p":"proguard.classfile.visitor","c":"MultiConstantVisitor","l":"MultiConstantVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.visitor","c":"MultiConstantVisitor","l":"MultiConstantVisitor(ConstantVisitor...)","url":"%3Cinit%3E(proguard.classfile.constant.visitor.ConstantVisitor...)"},{"p":"proguard.io","c":"MultiDataEntryReader","l":"MultiDataEntryReader(DataEntryReader...)","url":"%3Cinit%3E(proguard.io.DataEntryReader...)"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModulePackage","l":"multiFileClassParts"},{"p":"proguard.util.kotlin.asserter.constraint","c":"MultiFileFacadeIntegrity","l":"MultiFileFacadeIntegrity()","url":"%3Cinit%3E()"},{"p":"proguard.util.kotlin.asserter.constraint","c":"MultiFilePartIntegrity","l":"MultiFilePartIntegrity()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.instruction.visitor","c":"MultiInstructionVisitor","l":"MultiInstructionVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.instruction.visitor","c":"MultiInstructionVisitor","l":"MultiInstructionVisitor(InstructionVisitor...)","url":"%3Cinit%3E(proguard.classfile.instruction.visitor.InstructionVisitor...)"},{"p":"proguard.classfile.kotlin.visitor","c":"MultiKotlinMetadataVisitor","l":"MultiKotlinMetadataVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin.visitor","c":"MultiKotlinMetadataVisitor","l":"MultiKotlinMetadataVisitor(KotlinMetadataVisitor...)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor...)"},{"p":"proguard.classfile.kotlin.visitor","c":"MultiKotlinTypeParameterVisitor","l":"MultiKotlinTypeParameterVisitor(KotlinTypeParameterVisitor...)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor...)"},{"p":"proguard.classfile.visitor","c":"MultiMemberVisitor","l":"MultiMemberVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.visitor","c":"MultiMemberVisitor","l":"MultiMemberVisitor(MemberVisitor...)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor...)"},{"p":"proguard.evaluation.value","c":"CompositeDoubleValue","l":"MULTIPLY"},{"p":"proguard.evaluation.value","c":"CompositeFloatValue","l":"MULTIPLY"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"MULTIPLY"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"MULTIPLY"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"multiply(DoubleValue)","url":"multiply(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"multiply(DoubleValue)","url":"multiply(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"multiply(DoubleValue)","url":"multiply(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"multiply(DoubleValue)","url":"multiply(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"multiply(FloatValue)","url":"multiply(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"multiply(FloatValue)","url":"multiply(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"multiply(FloatValue)","url":"multiply(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"multiply(FloatValue)","url":"multiply(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"multiply(IntegerValue)","url":"multiply(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"multiply(IntegerValue)","url":"multiply(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"multiply(IntegerValue)","url":"multiply(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"multiply(IntegerValue)","url":"multiply(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"multiply(IntegerValue)","url":"multiply(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"multiply(LongValue)","url":"multiply(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"multiply(LongValue)","url":"multiply(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"multiply(LongValue)","url":"multiply(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"multiply(LongValue)","url":"multiply(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"multiply(ParticularDoubleValue)","url":"multiply(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"multiply(ParticularDoubleValue)","url":"multiply(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"multiply(ParticularFloatValue)","url":"multiply(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"multiply(ParticularFloatValue)","url":"multiply(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"multiply(ParticularIntegerValue)","url":"multiply(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"multiply(ParticularIntegerValue)","url":"multiply(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"multiply(ParticularIntegerValue)","url":"multiply(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"multiply(ParticularLongValue)","url":"multiply(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"multiply(ParticularLongValue)","url":"multiply(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"multiply(RangeIntegerValue)","url":"multiply(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"multiply(RangeIntegerValue)","url":"multiply(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"multiply(RangeIntegerValue)","url":"multiply(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"multiply(RangeIntegerValue)","url":"multiply(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"multiply(SpecificDoubleValue)","url":"multiply(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"multiply(SpecificDoubleValue)","url":"multiply(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"multiply(SpecificFloatValue)","url":"multiply(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"multiply(SpecificFloatValue)","url":"multiply(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"multiply(SpecificIntegerValue)","url":"multiply(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"multiply(SpecificIntegerValue)","url":"multiply(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"multiply(SpecificLongValue)","url":"multiply(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"multiply(SpecificLongValue)","url":"multiply(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"multiply(UnknownIntegerValue)","url":"multiply(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.resources.file.visitor","c":"MultiResourceFileVisitor","l":"MultiResourceFileVisitor(ResourceFileVisitor...)","url":"%3Cinit%3E(proguard.resources.file.visitor.ResourceFileVisitor...)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"MultiTypedReferenceValue(Set, boolean)","url":"%3Cinit%3E(java.util.Set,boolean)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"MultiTypedReferenceValue(TypedReferenceValue, boolean)","url":"%3Cinit%3E(proguard.evaluation.value.TypedReferenceValue,boolean)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValueFactory","l":"MultiTypedReferenceValueFactory()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValueFactory","l":"MultiTypedReferenceValueFactory(boolean, ClassPool, ClassPool)","url":"%3Cinit%3E(boolean,proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.util","c":"MultiValueMap","l":"MultiValueMap()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadata","l":"mv"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataType","l":"mv"},{"p":"proguard.io","c":"JarWriter.MyMultiDigestOutputStream","l":"MyMultiDigestOutputStream(String, MessageDigest[], PrintWriter, OutputStream)","url":"%3Cinit%3E(java.lang.String,java.security.MessageDigest[],java.io.PrintWriter,java.io.OutputStream)"},{"p":"proguard.examples","c":"TransformExample.MyTransformer","l":"MyTransformer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"N"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"N"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nAdd(Value, Value, String)","url":"nAdd(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.classfile","c":"LibraryMember","l":"name"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument","l":"name"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"name"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"name"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"name"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"name"},{"p":"proguard.dexfile.ir","c":"IrMethod","l":"name"},{"p":"proguard.dexfile.ir","c":"LocalVar","l":"name"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"name"},{"p":"proguard.dexfile.ir.expr","c":"FieldExpr","l":"name"},{"p":"proguard.dexfile.ir.expr","c":"InvokeCustomExpr","l":"name"},{"p":"proguard.dexfile.ir.expr","c":"StaticFieldExpr","l":"name"},{"p":"proguard.dexfile.reader.node","c":"DexAnnotationNode.Item","l":"name"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.StartLocalNode","l":"name"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodCustomStmtNode","l":"name"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModule","l":"name"},{"p":"proguard.classfile.constant","c":"Constant","l":"NAME_AND_TYPE"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_APP_ACTIVITY"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_APP_APPLICATION"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_APP_BACKUP_BACKUP_AGENT"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_APP_FRAGMENT"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_APP_INSTRUMENTATION"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_APP_SERVICE"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_CONTENT_BROADCAST_RECEIVER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_CONTENT_CONTENT_PROVIDER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_CONTENT_CONTEXT"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_CONTENT_RES_RESOURCES"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_PREFERENCE_PREFERENCE"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_PREFERENCE_PREFERENCE_FRAGMENT"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_SUPPORT_V4_APP_FRAGMENT"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_UTIL_FLOAT_MATH"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_VIEW_ACTION_PROVIDER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_VIEW_VIEW"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_ANDROID_WEBKIT_WEB_VIEW"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_IO_BYTE_ARRAY_INPUT_STREAM"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_IO_DATA_INPUT_STREAM"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_IO_INPUT_STREAM"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_IO_SERIALIZABLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_ANNOTATION_ANNOTATION"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_BOOLEAN"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_BYTE"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_CHARACTER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_CLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_CLASS_LOADER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_CLASS_NOT_FOUND_EXCEPTION"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_CLONEABLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_DOUBLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_ENUM"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_EXCEPTION"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_FLOAT"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_INTEGER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_INVOKE_METHOD_HANDLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_INVOKE_METHOD_TYPE"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_INVOKE_STRING_CONCAT_FACTORY"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_LONG"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_MATH"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_NUMBER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_NUMBER_FORMAT_EXCEPTION"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_OBJECT"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_REFLECT_ACCESSIBLE_OBJECT"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_REFLECT_ARRAY"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_REFLECT_CONSTRUCTOR"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_REFLECT_FIELD"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_REFLECT_METHOD"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_RUNTIME"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_SHORT"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_STRING"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_STRING_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_STRING_BUILDER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_SYSTEM"},{"p":"proguard.examples.modify","c":"EditClass","l":"NAME_JAVA_LANG_SYSTEM"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_THROWABLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_UNSUPPORTED_OP_EXCEPTION"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_LANG_VOID"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_NIO_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_NIO_BYTE_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_NIO_CHANNELS_CHANNELS"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_NIO_CHANNELS_READABLE_BYTE_CHANNEL"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_NIO_CHAR_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_NIO_DOUBLE_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_NIO_FLOAT_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_NIO_INT_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_NIO_LONG_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_NIO_SHORT_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_UTIL_ARRAY_LIST"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_UTIL_COLLECTION"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_INTEGER_FIELD_UPDATER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_LONG_FIELD_UPDATER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_REFERENCE_FIELD_UPDATER"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_UTIL_HASH_MAP"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_UTIL_LIST"},{"p":"proguard.classfile","c":"ClassConstants","l":"NAME_JAVA_UTIL_MAP"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"NAME_KOTLIN_ANY"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"NAME_KOTLIN_COROUTINES_DEBUG_METADATA"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"NAME_KOTLIN_ENUM"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"NAME_KOTLIN_EXTENSION_FUNCTION"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"NAME_KOTLIN_FUNCTION"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"NAME_KOTLIN_METADATA"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"NAME_KOTLIN_PARAMETER_NAME"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"NAME_KOTLIN_UNIT"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModeledInstanceMethod","l":"name()"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModeledStaticMethod","l":"name()"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"nameAccept(Clazz, ConstantVisitor)","url":"nameAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"NameAndTypeConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"NameAndTypeConstant(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.classfile.editor","c":"NameAndTypeShrinker","l":"NameAndTypeShrinker()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"ParameterInfo","l":"nameConstantAccept(Clazz, ConstantVisitor)","url":"nameConstantAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.editor","c":"NamedAttributeDeleter","l":"NamedAttributeDeleter(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.classfile.visitor","c":"NamedClassVisitor","l":"NamedClassVisitor(ClassVisitor, String)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor,java.lang.String)"},{"p":"proguard.io","c":"NamedDataEntry","l":"NamedDataEntry(DataEntry, String, long, boolean)","url":"%3Cinit%3E(proguard.io.DataEntry,java.lang.String,long,boolean)"},{"p":"proguard.classfile.visitor","c":"NamedFieldVisitor","l":"NamedFieldVisitor(String, String, MemberVisitor)","url":"%3Cinit%3E(java.lang.String,java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"NamedMethodVisitor","l":"NamedMethodVisitor(String, String, MemberVisitor)","url":"%3Cinit%3E(java.lang.String,java.lang.String,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.io","c":"NameFilteredDataEntryReader","l":"NameFilteredDataEntryReader(List, DataEntryReader, DataEntryReader)","url":"%3Cinit%3E(java.util.List,proguard.io.DataEntryReader,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"NameFilteredDataEntryReader","l":"NameFilteredDataEntryReader(List, DataEntryReader)","url":"%3Cinit%3E(java.util.List,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"NameFilteredDataEntryReader","l":"NameFilteredDataEntryReader(String, DataEntryReader, DataEntryReader)","url":"%3Cinit%3E(java.lang.String,proguard.io.DataEntryReader,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"NameFilteredDataEntryReader","l":"NameFilteredDataEntryReader(String, DataEntryReader)","url":"%3Cinit%3E(java.lang.String,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"NameFilteredDataEntryReader","l":"NameFilteredDataEntryReader(StringMatcher, DataEntryReader, DataEntryReader)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.io.DataEntryReader,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"NameFilteredDataEntryReader","l":"NameFilteredDataEntryReader(StringMatcher, DataEntryReader)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"NameFilteredDataEntryWriter","l":"NameFilteredDataEntryWriter(List, DataEntryWriter, DataEntryWriter)","url":"%3Cinit%3E(java.util.List,proguard.io.DataEntryWriter,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"NameFilteredDataEntryWriter","l":"NameFilteredDataEntryWriter(List, DataEntryWriter)","url":"%3Cinit%3E(java.util.List,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"NameFilteredDataEntryWriter","l":"NameFilteredDataEntryWriter(String, DataEntryWriter, DataEntryWriter)","url":"%3Cinit%3E(java.lang.String,proguard.io.DataEntryWriter,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"NameFilteredDataEntryWriter","l":"NameFilteredDataEntryWriter(String, DataEntryWriter)","url":"%3Cinit%3E(java.lang.String,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"NameFilteredDataEntryWriter","l":"NameFilteredDataEntryWriter(StringMatcher, DataEntryWriter, DataEntryWriter)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.io.DataEntryWriter,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"NameFilteredDataEntryWriter","l":"NameFilteredDataEntryWriter(StringMatcher, DataEntryWriter)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.io.DataEntryWriter)"},{"p":"proguard.util","c":"NameParser","l":"NameParser()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"NameParser","l":"NameParser(WildcardManager)","url":"%3Cinit%3E(proguard.util.WildcardManager)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"NAMES"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nAnd(Value, Value, String)","url":"nAnd(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nArray(Value, Value, String)","url":"nArray(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nArrayValue(Object)","url":"nArrayValue(java.lang.Object)"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmInterpreter","l":"naryOperation(DexStmtNode, List)","url":"naryOperation(proguard.dexfile.reader.node.insn.DexStmtNode,java.util.List)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nAssign(Value, Value)","url":"nAssign(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.classfile","c":"AccessConstants","l":"NATIVE"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"NATIVE"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"NATIVE_PB"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nByte(byte)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nCast(Value, String, String)","url":"nCast(proguard.dexfile.ir.expr.Value,java.lang.String,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nChar(char)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nCheckCast(Value, String)","url":"nCheckCast(proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nConstant(Object)","url":"nConstant(java.lang.Object)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nDCmpg(Value, Value)","url":"nDCmpg(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nDCmpl(Value, Value)","url":"nDCmpl(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nDiv(Value, Value, String)","url":"nDiv(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nDouble(double)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"NE"},{"p":"proguard.backport","c":"LambdaExpression","l":"needsAccessorMethod()"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"NEG"},{"p":"proguard.dexfile.reader","c":"Op","l":"NEG_DOUBLE"},{"p":"proguard.dexfile.reader","c":"Op","l":"NEG_FLOAT"},{"p":"proguard.dexfile.reader","c":"Op","l":"NEG_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"NEG_LONG"},{"p":"proguard.analysis.cpa.util","c":"TriPredicate","l":"negate()"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"LongValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"NegatedDoubleValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"NegatedFloatValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"NegatedIntegerValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"NegatedLongValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"negate()"},{"p":"proguard.evaluation.value","c":"NegatedDoubleValue","l":"NegatedDoubleValue(DoubleValue)","url":"%3Cinit%3E(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"NegatedFloatValue","l":"NegatedFloatValue(FloatValue)","url":"%3Cinit%3E(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"NegatedIntegerValue","l":"NegatedIntegerValue(IntegerValue)","url":"%3Cinit%3E(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"NegatedLongValue","l":"NegatedLongValue(LongValue)","url":"%3Cinit%3E(proguard.evaluation.value.LongValue)"},{"p":"proguard.exception","c":"ErrorId","l":"NEGATIVE_STACK_SIZE"},{"p":"proguard.classfile.exception","c":"NegativeStackSizeException","l":"NegativeStackSizeException(Clazz, Method, Instruction, int)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.instruction.Instruction,int)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nEq(Value, Value, String)","url":"nEq(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"NEST_HOST"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"NEST_MEMBERS"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"nestedClassesAccept(boolean, ClassVisitor)","url":"nestedClassesAccept(boolean,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"nestedClassNames"},{"p":"proguard.classfile.attribute","c":"NestHostAttribute","l":"NestHostAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"NestHostAttribute","l":"NestHostAttribute(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.classfile.util","c":"NestHostFinder","l":"NestHostFinder()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"NestMemberAdder","l":"NestMemberAdder(ProgramClass, NestMembersAttribute)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.attribute","c":"NestMembersAttribute","l":"NestMembersAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"NestMembersAttribute","l":"NestMembersAttribute(int, int, int[])","url":"%3Cinit%3E(int,int,int[])"},{"p":"proguard.evaluation.value","c":"Value","l":"NEVER"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"NEW"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"new_(Clazz)","url":"new_(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"new_(Clazz)","url":"new_(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"new_(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"new_(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"new_(String, Clazz)","url":"new_(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"new_(String, Clazz)","url":"new_(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"new_(String)","url":"new_(java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"new_(String)","url":"new_(java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"NEW_ARRAY"},{"p":"proguard.dexfile.reader","c":"Op","l":"NEW_ARRAY"},{"p":"proguard.dexfile.reader","c":"Op","l":"NEW_INSTANCE"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"NEW_INSTANCE"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"NEW_MULTI_ARRAY"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"newarray(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"newarray(int)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmForgetfulHeapAbstractState","l":"newArray(String, List, JvmCfaNode)","url":"newArray(java.lang.String,java.util.List,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmHeapAbstractState","l":"newArray(String, List, JvmCfaNode)","url":"newArray(java.lang.String,java.util.List,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"newArray(String, List, JvmCfaNode)","url":"newArray(java.lang.String,java.util.List,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"newArray(String, List)","url":"newArray(java.lang.String,java.util.List)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"newDescriptor(String, Clazz[])","url":"newDescriptor(java.lang.String,proguard.classfile.Clazz[])"},{"p":"proguard.dexfile.ir.expr","c":"NewExpr","l":"NewExpr(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"newFrame()"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer.LiveA","l":"newFrame(int)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"newFrame(int)"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveAnalyze","l":"newFrame(int)"},{"p":"proguard.dexfile.ir.expr","c":"NewMutiArrayExpr","l":"NewMutiArrayExpr(String, int, Value[])","url":"%3Cinit%3E(java.lang.String,int,proguard.dexfile.ir.expr.Value[])"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmHeapAbstractState","l":"newObject(Clazz, JvmCfaNode)","url":"newObject(proguard.classfile.Clazz,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueAbstractState","l":"newObject(Clazz)","url":"newObject(proguard.classfile.Clazz)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"newObject(Clazz)","url":"newObject(proguard.classfile.Clazz)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmForgetfulHeapAbstractState","l":"newObject(String, JvmCfaNode)","url":"newObject(java.lang.String,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmHeapAbstractState","l":"newObject(String, JvmCfaNode)","url":"newObject(java.lang.String,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"newObject(String, JvmCfaNode)","url":"newObject(java.lang.String,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueAbstractState","l":"newObject(String)","url":"newObject(java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"newObject(String)","url":"newObject(java.lang.String)"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmInterpreter","l":"newOperation(DexStmtNode)","url":"newOperation(proguard.dexfile.reader.node.insn.DexStmtNode)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun.TransferRelationFactory","l":"newTransferRelation(ValueFactory, ExecutingInvocationUnit)","url":"newTransferRelation(proguard.evaluation.value.ValueFactory,proguard.evaluation.ExecutingInvocationUnit)"},{"p":"proguard.dexfile.ir.ts","c":"NewTransformer","l":"NewTransformer()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer.LiveA","l":"newValue()"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"newValue()"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveAnalyze","l":"newValue()"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nExceptionRef(String)","url":"nExceptionRef(java.lang.String)"},{"p":"proguard.classfile.util","c":"InternalTypeEnumeration","l":"next()"},{"p":"proguard.classfile.util","c":"DescriptorClassEnumeration","l":"nextClassName()"},{"p":"proguard.classfile.util","c":"DescriptorClassEnumeration","l":"nextFluff()"},{"p":"proguard.io","c":"DataEntryTokenizer","l":"nextToken()"},{"p":"proguard.classfile.util","c":"ExternalTypeEnumeration","l":"nextType()"},{"p":"proguard.classfile.util","c":"InternalTypeEnumeration","l":"nextType()"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nFCmpg(Value, Value)","url":"nFCmpg(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nFCmpl(Value, Value)","url":"nFCmpl(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nField(Value, String, String, String)","url":"nField(proguard.dexfile.ir.expr.Value,java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nFillArrayData(Value, Value)","url":"nFillArrayData(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nFilledArray(String, Value[])","url":"nFilledArray(java.lang.String,proguard.dexfile.ir.expr.Value[])"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nFloat(float)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nGe(Value, Value, String)","url":"nGe(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nGoto(LabelStmt)","url":"nGoto(proguard.dexfile.ir.stmt.LabelStmt)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nGt(Value, Value, String)","url":"nGt(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"niAdd(Value, Value)","url":"niAdd(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"niceExceptionMessage(Throwable, int)","url":"niceExceptionMessage(java.lang.Throwable,int)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nIdentity(Value, Value)","url":"nIdentity(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"niEq(Value, Value)","url":"niEq(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nIf(Value, LabelStmt)","url":"nIf(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.stmt.LabelStmt)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"niGt(Value, Value)","url":"niGt(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nInstanceOf(Value, String)","url":"nInstanceOf(proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nInt(int)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nInvokeCustom(Value[], String, Proto, MethodHandle, Object[])","url":"nInvokeCustom(proguard.dexfile.ir.expr.Value[],java.lang.String,proguard.dexfile.reader.Proto,proguard.dexfile.reader.MethodHandle,java.lang.Object[])"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nInvokeInterface(Value[], String, String, String[], String)","url":"nInvokeInterface(proguard.dexfile.ir.expr.Value[],java.lang.String,java.lang.String,java.lang.String[],java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nInvokeNew(Value[], String[], String, String)","url":"nInvokeNew(proguard.dexfile.ir.expr.Value[],java.lang.String[],java.lang.String,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nInvokeNew(Value[], String[], String)","url":"nInvokeNew(proguard.dexfile.ir.expr.Value[],java.lang.String[],java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nInvokePolymorphic(Value[], Proto, Method)","url":"nInvokePolymorphic(proguard.dexfile.ir.expr.Value[],proguard.dexfile.reader.Proto,proguard.dexfile.reader.Method)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nInvokeSpecial(Value[], String, String, String[], String)","url":"nInvokeSpecial(proguard.dexfile.ir.expr.Value[],java.lang.String,java.lang.String,java.lang.String[],java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nInvokeStatic(Value[], String, String, String[], String)","url":"nInvokeStatic(proguard.dexfile.ir.expr.Value[],java.lang.String,java.lang.String,java.lang.String[],java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nInvokeVirtual(Value[], String, String, String[], String)","url":"nInvokeVirtual(proguard.dexfile.ir.expr.Value[],java.lang.String,java.lang.String,java.lang.String[],java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"njGt(Value, Value)","url":"njGt(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nLabel()"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nLCmp(Value, Value)","url":"nLCmp(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nLe(Value, Value, String)","url":"nLe(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nLength(Value)","url":"nLength(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nLocal(int, String)","url":"nLocal(int,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nLocal(int)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nLocal(String)","url":"nLocal(java.lang.String)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nLock(Value)","url":"nLock(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nLong(long)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nLookupSwitch(Value, int[], LabelStmt[], LabelStmt)","url":"nLookupSwitch(proguard.dexfile.ir.expr.Value,int[],proguard.dexfile.ir.stmt.LabelStmt[],proguard.dexfile.ir.stmt.LabelStmt)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nLt(Value, Value, String)","url":"nLt(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nMul(Value, Value, String)","url":"nMul(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nNe(Value, Value, String)","url":"nNe(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nNeg(Value, String)","url":"nNeg(proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nNew(String)","url":"nNew(java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nNewArray(String, Value)","url":"nNewArray(java.lang.String,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nNewIntArray(Value)","url":"nNewIntArray(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nNewLongArray(Value)","url":"nNewLongArray(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nNewMutiArray(String, int, Value[])","url":"nNewMutiArray(java.lang.String,int,proguard.dexfile.ir.expr.Value[])"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nNop()"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nNot(Value, String)","url":"nNot(proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nNull()"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"NO_SUBROUTINE"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"Node(MethodSignature)","url":"%3Cinit%3E(proguard.classfile.MethodSignature)"},{"p":"proguard.io","c":"NonClosingDataEntryWriter","l":"NonClosingDataEntryWriter(DataEntryWriter)","url":"%3Cinit%3E(proguard.io.DataEntryWriter)"},{"p":"proguard.evaluation","c":"InitializationFinder","l":"NONE"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"NONE"},{"p":"proguard.evaluation","c":"TracedVariables","l":"NONE"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"NonEmptyAttributeFilter(AttributeVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.analysis.cpa.bam","c":"NoOpRebuildOperator","l":"NoOpRebuildOperator()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.bam","c":"NoOpReduceOperator","l":"NoOpReduceOperator()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"NOP"},{"p":"proguard.dexfile.reader","c":"Op","l":"NOP"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"nop()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"nop()"},{"p":"proguard.dexfile.ir.stmt","c":"NopStmt","l":"NopStmt()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nOr(Value, Value, String)","url":"nOr(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"NOT"},{"p":"proguard.dexfile.reader","c":"Op","l":"NOT_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"NOT_LONG"},{"p":"proguard.classfile.util","c":"WarningLogger","l":"note(String, String, String)","url":"note(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"WarningPrinter","l":"note(String, String, String)","url":"note(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"WarningLogger","l":"note(String, String)","url":"note(java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"WarningPrinter","l":"note(String, String)","url":"note(java.lang.String,java.lang.String)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"notEqual(IntegerValue)","url":"notEqual(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"notEqual(ParticularIntegerValue)","url":"notEqual(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"notEqual(RangeIntegerValue)","url":"notEqual(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"notEqual(ReferenceValue)","url":"notEqual(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"notEqual(SpecificIntegerValue)","url":"notEqual(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"notEqual(UnknownIntegerValue)","url":"notEqual(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.util","c":"NotMatcher","l":"NotMatcher(StringMatcher)","url":"%3Cinit%3E(proguard.util.StringMatcher)"},{"p":"proguard.util","c":"NotStringFunction","l":"NotStringFunction(StringFunction)","url":"%3Cinit%3E(proguard.util.StringFunction)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"notThrow(Stmt)","url":"notThrow(proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nParameterRef(String, int)","url":"nParameterRef(java.lang.String,int)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nPhi(Value...)","url":"nPhi(proguard.dexfile.ir.expr.Value...)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nRem(Value, Value, String)","url":"nRem(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nReturn(Value)","url":"nReturn(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nReturnVoid()"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nShl(Value, Value, String)","url":"nShl(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nShort(short)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nShr(Value, Value, String)","url":"nShr(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nStaticField(String, String, String)","url":"nStaticField(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nString(String)","url":"nString(java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nSub(Value, Value, String)","url":"nSub(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nTableSwitch(Value, int, LabelStmt[], LabelStmt)","url":"nTableSwitch(proguard.dexfile.ir.expr.Value,int,proguard.dexfile.ir.stmt.LabelStmt[],proguard.dexfile.ir.stmt.LabelStmt)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nThisRef(String)","url":"nThisRef(java.lang.String)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nThrow(Value)","url":"nThrow(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nType(DexType)","url":"nType(proguard.dexfile.reader.DexType)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nType(String)","url":"nType(java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Constant","l":"Null"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"NULL_TYPE"},{"p":"proguard.classfile.attribute.preverification","c":"NullType","l":"NullType()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nUnLock(Value)","url":"nUnLock(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nUshr(Value, Value, String)","url":"nUshr(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmts","l":"nVoidInvoke(Value)","url":"nVoidInvoke(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Exprs","l":"nXor(Value, Value, String)","url":"nXor(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"O"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"O"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"OBB_FILE_EXTENSION"},{"p":"proguard.analysis.datastructure","c":"FileLocation","l":"obfuscatedFilename"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"OBJECT"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"OBJECT_TYPE"},{"p":"proguard.classfile.attribute.preverification","c":"ObjectType","l":"ObjectType()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"ObjectType","l":"ObjectType(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.util","c":"ObjectUtil","l":"ObjectUtil()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"Signature","l":"of(Clazz, Member)","url":"of(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.analysis.datastructure","c":"CodeLocation","l":"offset"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor.Label","l":"offset()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer.Label","l":"offset()"},{"p":"proguard.classfile.attribute.annotation.target","c":"OffsetTargetInfo","l":"OffsetTargetInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.target","c":"OffsetTargetInfo","l":"OffsetTargetInfo(byte, int)","url":"%3Cinit%3E(byte,int)"},{"p":"proguard.classfile.attribute.annotation.target","c":"OffsetTargetInfo","l":"OffsetTargetInfo(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.evaluation","c":"Variables","l":"oload(int)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg.OnAssignCallBack","l":"onAssign(Local, AssignStmt)","url":"onAssign(proguard.dexfile.ir.expr.Local,proguard.dexfile.ir.stmt.AssignStmt)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"onAssign(Local, AssignStmt)","url":"onAssign(proguard.dexfile.ir.expr.Local,proguard.dexfile.ir.stmt.AssignStmt)"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer.LiveA","l":"onAssignLocal(Local, Value)","url":"onAssignLocal(proguard.dexfile.ir.expr.Local,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"onAssignLocal(Local, Value)","url":"onAssignLocal(proguard.dexfile.ir.expr.Local,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveAnalyze","l":"onAssignLocal(Local, Value)","url":"onAssignLocal(proguard.dexfile.ir.expr.Local,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.analysis.cpa.bam","c":"ReduceOperator","l":"onMethodEntry(AbstractState, boolean)","url":"onMethodEntry(proguard.analysis.cpa.interfaces.AbstractState,boolean)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintReduceOperator","l":"onMethodEntry(AbstractState, boolean)","url":"onMethodEntry(proguard.analysis.cpa.interfaces.AbstractState,boolean)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg.OnUseCallBack","l":"onUse(Local)","url":"onUse(proguard.dexfile.ir.expr.Local)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"onUse(Local)","url":"onUse(proguard.dexfile.ir.expr.Local)"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveAnalyze","l":"onUseLocal(SimpleLiveValue, Local)","url":"onUseLocal(proguard.dexfile.ir.ts.an.SimpleLiveValue,proguard.dexfile.ir.expr.Local)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"onUseLocal(T, Local)","url":"onUseLocal(T,proguard.dexfile.ir.expr.Local)"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer.LiveA","l":"onUseLocal(UnSSATransformer.LiveV, Local)","url":"onUseLocal(proguard.dexfile.ir.ts.UnSSATransformer.LiveV,proguard.dexfile.ir.expr.Local)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg.DfsVisitor","l":"onVisit(Stmt)","url":"onVisit(proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.dexfile.ir.expr","c":"Value.E1Expr","l":"op"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.E1Stmt","l":"op"},{"p":"proguard.dexfile.reader.node.insn","c":"DexStmtNode","l":"op"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_AALOAD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_AASTORE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ACONST_NULL"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ALOAD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ALOAD_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ALOAD_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ALOAD_2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ALOAD_3"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ANEWARRAY"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ARETURN"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ARRAYLENGTH"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ASTORE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ASTORE_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ASTORE_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ASTORE_2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ASTORE_3"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ATHROW"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_BALOAD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_BASTORE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_BIPUSH"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_CALOAD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_CASTORE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_CHECKCAST"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_D2F"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_D2I"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_D2L"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DADD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DALOAD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DASTORE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DCMPG"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DCMPL"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DCONST_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DCONST_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DDIV"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DLOAD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DLOAD_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DLOAD_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DLOAD_2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DLOAD_3"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DMUL"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DNEG"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DREM"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DRETURN"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DSTORE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DSTORE_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DSTORE_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DSTORE_2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DSTORE_3"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DSUB"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DUP"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DUP_X1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DUP_X2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DUP2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DUP2_X1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_DUP2_X2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_F2D"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_F2I"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_F2L"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FADD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FALOAD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FASTORE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FCMPG"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FCMPL"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FCONST_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FCONST_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FCONST_2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FDIV"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FLOAD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FLOAD_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FLOAD_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FLOAD_2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FLOAD_3"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FMUL"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FNEG"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FREM"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FRETURN"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FSTORE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FSTORE_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FSTORE_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FSTORE_2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FSTORE_3"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_FSUB"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_GETFIELD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_GETSTATIC"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_GOTO"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_GOTO_W"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_I2B"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_I2C"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_I2D"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_I2F"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_I2L"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_I2S"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IADD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IALOAD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IAND"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IASTORE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ICONST_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ICONST_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ICONST_2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ICONST_3"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ICONST_4"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ICONST_5"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ICONST_M1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IDIV"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFACMPEQ"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFACMPNE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFEQ"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFGE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFGT"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFICMPEQ"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFICMPGE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFICMPGT"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFICMPLE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFICMPLT"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFICMPNE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFLE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFLT"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFNE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFNONNULL"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IFNULL"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IINC"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ILOAD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ILOAD_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ILOAD_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ILOAD_2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ILOAD_3"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IMUL"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_INEG"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_INSTANCEOF"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_INVOKEDYNAMIC"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_INVOKEINTERFACE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_INVOKESPECIAL"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_INVOKESTATIC"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_INVOKEVIRTUAL"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IOR"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IREM"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IRETURN"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ISHL"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ISHR"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ISTORE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ISTORE_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ISTORE_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ISTORE_2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ISTORE_3"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_ISUB"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IUSHR"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_IXOR"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_JSR"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_JSR_W"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_L2D"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_L2F"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_L2I"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LADD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LALOAD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LAND"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LASTORE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LCMP"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LCONST_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LCONST_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LDC"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LDC_W"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LDC2_W"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LDIV"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LLOAD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LLOAD_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LLOAD_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LLOAD_2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LLOAD_3"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LMUL"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LNEG"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LOOKUPSWITCH"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LOR"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LREM"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LRETURN"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LSHL"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LSHR"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LSTORE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LSTORE_0"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LSTORE_1"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LSTORE_2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LSTORE_3"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LSUB"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LUSHR"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_LXOR"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_MONITORENTER"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_MONITOREXIT"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_MULTIANEWARRAY"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_NEW"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_NEWARRAY"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_NOP"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_POP"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_POP2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_PUTFIELD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_PUTSTATIC"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_RET"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_RETURN"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_SALOAD"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_SASTORE"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_SIPUSH"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_SWAP"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_TABLESWITCH"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"OP_WIDE"},{"p":"proguard.dexfile.ir.expr","c":"Value.E2Expr","l":"op1"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.E2Stmt","l":"op1"},{"p":"proguard.dexfile.ir.expr","c":"Value.E2Expr","l":"op2"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.E2Stmt","l":"op2"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"opcode"},{"p":"proguard.dexfile.reader","c":"Op","l":"opcode"},{"p":"proguard.classfile","c":"AccessConstants","l":"OPEN"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"OPEN"},{"p":"proguard.io","c":"JarWriter","l":"openManifestFiles()"},{"p":"proguard.io","c":"SignedJarWriter","l":"openManifestFiles()"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"opens"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"opensAccept(Clazz, OpensInfoVisitor)","url":"opensAccept(proguard.classfile.Clazz,proguard.classfile.attribute.module.visitor.OpensInfoVisitor)"},{"p":"proguard.classfile.attribute.module","c":"OpensInfo","l":"OpensInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.module","c":"OpensInfo","l":"OpensInfo(int, int, int, int[])","url":"%3Cinit%3E(int,int,int,int[])"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"operandStack"},{"p":"proguard.evaluation","c":"Stack","l":"opop()"},{"p":"proguard.dexfile.ir.expr","c":"Value.EnExpr","l":"ops"},{"p":"proguard.dexfile.reader","c":"Op","l":"ops"},{"p":"proguard.classfile.kotlin.reflect.util","c":"KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter","l":"OptimizedCallableReferenceFilter(ClassVisitor, ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.dexfile.converter","c":"IR2ProConverter","l":"optimizeSynchronized(boolean)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"OR"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"OR"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"OR"},{"p":"proguard.dexfile.reader","c":"Op","l":"OR_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"OR_INT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"OR_INT_LIT16"},{"p":"proguard.dexfile.reader","c":"Op","l":"OR_INT_LIT8"},{"p":"proguard.dexfile.reader","c":"Op","l":"OR_LONG"},{"p":"proguard.dexfile.reader","c":"Op","l":"OR_LONG_2ADDR"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"or(IntegerValue)","url":"or(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"or(IntegerValue)","url":"or(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"or(IntegerValue)","url":"or(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"or(IntegerValue)","url":"or(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"or(IntegerValue)","url":"or(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"or(LongValue)","url":"or(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"or(LongValue)","url":"or(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"or(LongValue)","url":"or(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"or(LongValue)","url":"or(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"or(ParticularIntegerValue)","url":"or(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"or(ParticularIntegerValue)","url":"or(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"or(ParticularIntegerValue)","url":"or(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"or(ParticularLongValue)","url":"or(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"or(ParticularLongValue)","url":"or(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"or(RangeIntegerValue)","url":"or(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"or(RangeIntegerValue)","url":"or(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"or(RangeIntegerValue)","url":"or(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"or(RangeIntegerValue)","url":"or(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"or(SpecificIntegerValue)","url":"or(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"or(SpecificIntegerValue)","url":"or(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"or(SpecificLongValue)","url":"or(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"or(SpecificLongValue)","url":"or(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.analysis.cpa.util","c":"TriPredicate","l":"or(TriPredicate)","url":"or(proguard.analysis.cpa.util.TriPredicate)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"or(UnknownIntegerValue)","url":"or(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer","l":"OrderRegAssignByExcludeSizeDesc"},{"p":"proguard.util","c":"OrMatcher","l":"OrMatcher(StringMatcher...)","url":"%3Cinit%3E(proguard.util.StringMatcher...)"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectExpressionMetadata","l":"orRightHandSideAccept(Clazz, KotlinEffectMetadata, KotlinEffectExprVisitor)","url":"orRightHandSideAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectMetadata,proguard.classfile.kotlin.visitor.KotlinEffectExprVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectExpressionMetadata","l":"orRightHandSides"},{"p":"proguard.util","c":"OrStringFunction","l":"OrStringFunction(StringFunction, StringFunction)","url":"%3Cinit%3E(proguard.util.StringFunction,proguard.util.StringFunction)"},{"p":"proguard.io","c":"DataEntryTokenType","l":"OTHER"},{"p":"proguard.io","c":"DexDataEntryWriter","l":"otherDataEntryWriter"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveValue","l":"otherParents"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeVariance","l":"OUT"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"outerClassAccept(Clazz, KotlinTypeVisitor)","url":"outerClassAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.attribute","c":"InnerClassesInfo","l":"outerClassConstantAccept(Clazz, ConstantVisitor)","url":"outerClassConstantAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"outerClassType"},{"p":"proguard.analysis.datastructure.callgraph","c":"CallGraph","l":"outgoing"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"outgoingCallLocations"},{"p":"proguard.analysis.cpa.defaults","c":"SequentialCpaRun","l":"outputReachedSet"},{"p":"proguard.io","c":"ZipOutput","l":"outputStream"},{"p":"proguard.dexfile.ir","c":"IrMethod","l":"owner"},{"p":"proguard.dexfile.ir.expr","c":"FieldExpr","l":"owner"},{"p":"proguard.dexfile.ir.expr","c":"StaticFieldExpr","l":"owner"},{"p":"proguard.classfile.kotlin.reflect","c":"CallableReferenceInfo","l":"ownerAccept(KotlinMetadataVisitor)","url":"ownerAccept(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin.reflect","c":"FunctionReferenceInfo","l":"ownerAccept(KotlinMetadataVisitor)","url":"ownerAccept(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin.reflect","c":"JavaReferenceInfo","l":"ownerAccept(KotlinMetadataVisitor)","url":"ownerAccept(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin.reflect","c":"LocalVariableReferenceInfo","l":"ownerAccept(KotlinMetadataVisitor)","url":"ownerAccept(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin.reflect","c":"PropertyReferenceInfo","l":"ownerAccept(KotlinMetadataVisitor)","url":"ownerAccept(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"ownerClassName"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"ownerReferencedClass"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"P"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"P"},{"p":"proguard.classfile.constant","c":"Constant","l":"PACKAGE"},{"p":"proguard.classfile","c":"ClassConstants","l":"PACKAGE_JAVA_LANG"},{"p":"proguard.classfile","c":"JavaConstants","l":"PACKAGE_JAVA_LANG"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"PACKAGE_SEPARATOR"},{"p":"proguard.classfile","c":"TypeConstants","l":"PACKAGE_SEPARATOR"},{"p":"proguard.classfile.util","c":"AccessUtil","l":"PACKAGE_VISIBLE"},{"p":"proguard.classfile.attribute.module","c":"ExportsInfo","l":"packageAccept(Clazz, ConstantVisitor)","url":"packageAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.attribute.module","c":"OpensInfo","l":"packageAccept(Clazz, ConstantVisitor)","url":"packageAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant","c":"PackageConstant","l":"PackageConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"PackageConstant","l":"PackageConstant(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.attribute.module","c":"ModulePackagesAttribute","l":"packagesAccept(Clazz, ConstantVisitor)","url":"packagesAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.dexfile.reader","c":"Op","l":"PACKED_SWITCH"},{"p":"proguard.dexfile.reader.node.insn","c":"PackedSwitchStmtNode","l":"PackedSwitchStmtNode(Op, int, int, DexLabel[])","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int,int,proguard.dexfile.reader.DexLabel[])"},{"p":"proguard.classfile.util.renderer","c":"MemberViewModel.Pair","l":"Pair(K, V)","url":"%3Cinit%3E(K,V)"},{"p":"proguard.classfile.visitor","c":"ParallelAllClassVisitor","l":"ParallelAllClassVisitor(ParallelAllClassVisitor.ClassVisitorFactory)","url":"%3Cinit%3E(proguard.classfile.visitor.ParallelAllClassVisitor.ClassVisitorFactory)"},{"p":"proguard.io","c":"ParallelDexClassReader","l":"ParallelDexClassReader(boolean, boolean, ClassVisitor, int)","url":"%3Cinit%3E(boolean,boolean,proguard.classfile.visitor.ClassVisitor,int)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"PARAMETER_REF"},{"p":"proguard.classfile.attribute.annotation","c":"ParameterAnnotationsAttribute","l":"parameterAnnotations"},{"p":"proguard.classfile.attribute.annotation","c":"ParameterAnnotationsAttribute","l":"ParameterAnnotationsAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"ParameterAnnotationsAttribute","l":"ParameterAnnotationsAttribute(int, int, int[], Annotation[][])","url":"%3Cinit%3E(int,int,int[],proguard.classfile.attribute.annotation.Annotation[][])"},{"p":"proguard.classfile.editor","c":"ParameterAnnotationsAttributeEditor","l":"ParameterAnnotationsAttributeEditor(ParameterAnnotationsAttribute)","url":"%3Cinit%3E(proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.dexfile.reader.node","c":"DexMethodNode","l":"parameterAnns"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectExpressionMetadata","l":"parameterIndex"},{"p":"proguard.dexfile.ir.expr","c":"RefExpr","l":"parameterIndex"},{"p":"proguard.classfile.attribute","c":"ParameterInfo","l":"ParameterInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"ParameterInfo","l":"ParameterInfo(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.classfile.editor","c":"ParameterInfoAdder","l":"ParameterInfoAdder(ProgramClass, MethodParametersAttribute)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"parameterName"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"parameterNames"},{"p":"proguard.classfile.attribute","c":"MethodParametersAttribute","l":"parameters"},{"p":"proguard.classfile.attribute","c":"MethodParametersAttribute","l":"parametersAccept(Clazz, Method, ParameterInfoVisitor)","url":"parametersAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.visitor.ParameterInfoVisitor)"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveValue","l":"parent"},{"p":"proguard.io","c":"ParentDataEntryWriter","l":"ParentDataEntryWriter(DataEntryWriter)","url":"%3Cinit%3E(proguard.io.DataEntryWriter)"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"parents"},{"p":"proguard.util","c":"ListFunctionParser","l":"parse(List)","url":"parse(java.util.List)"},{"p":"proguard.util","c":"ListParser","l":"parse(List)","url":"parse(java.util.List)"},{"p":"proguard.util","c":"CollectionParser","l":"parse(List)","url":"parse(java.util.List)"},{"p":"proguard.util","c":"ClassNameParser","l":"parse(String)","url":"parse(java.lang.String)"},{"p":"proguard.util","c":"CollectionParser","l":"parse(String)","url":"parse(java.lang.String)"},{"p":"proguard.util","c":"FileNameParser","l":"parse(String)","url":"parse(java.lang.String)"},{"p":"proguard.util","c":"ListFunctionParser","l":"parse(String)","url":"parse(java.lang.String)"},{"p":"proguard.util","c":"ListParser","l":"parse(String)","url":"parse(java.lang.String)"},{"p":"proguard.util","c":"NameParser","l":"parse(String)","url":"parse(java.lang.String)"},{"p":"proguard.util","c":"SingleFunctionParser","l":"parse(String)","url":"parse(java.lang.String)"},{"p":"proguard.util","c":"StringFunctionParser","l":"parse(String)","url":"parse(java.lang.String)"},{"p":"proguard.util","c":"StringParser","l":"parse(String)","url":"parse(java.lang.String)"},{"p":"proguard.classfile.kotlin","c":"KotlinMultiFileFacadeKindMetadata","l":"partClassNames"},{"p":"proguard.exception","c":"ErrorId","l":"PARTIAL_EVALUATOR_ERROR1"},{"p":"proguard.exception","c":"ErrorId","l":"PARTIAL_EVALUATOR_ERROR2"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"PARTIAL_EVALUATOR_EXCESSIVE_COMPLEXITY"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"PARTIAL_EVALUATOR_VALUE_IMPRECISE"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"PartialEvaluator()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"PartialEvaluator(ValueFactory, InvocationUnit, boolean, InstructionVisitor)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,proguard.evaluation.InvocationUnit,boolean,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"PartialEvaluator(ValueFactory, InvocationUnit, boolean)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,proguard.evaluation.InvocationUnit,boolean)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"PartialEvaluator(ValueFactory)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.exception","c":"PartialEvaluatorException","l":"PartialEvaluatorException(int, Throwable, Clazz, Method, String, String...)","url":"%3Cinit%3E(int,java.lang.Throwable,proguard.classfile.Clazz,proguard.classfile.Method,java.lang.String,java.lang.String...)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"ParticularDoubleValue(double)","url":"%3Cinit%3E(double)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"ParticularFloatValue(float)","url":"%3Cinit%3E(float)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"ParticularIntegerValue(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"ParticularLongValue(long)","url":"%3Cinit%3E(long)"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"ParticularReferenceValue(Clazz, ValueFactory, Object, AnalyzedObject)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.evaluation.value.ValueFactory,java.lang.Object,proguard.evaluation.value.object.AnalyzedObject)"},{"p":"proguard.evaluation","c":"ParticularReferenceValueFactory","l":"ParticularReferenceValueFactory()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"ParticularValueFactory()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"ParticularValueFactory(ValueFactory, ValueFactory)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"ParticularValueFactory(ValueFactory)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadataVersion","l":"patch"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"patch"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"patternConstant"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"patternConstants"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"patternInstructions"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"peek()"},{"p":"proguard.util","c":"CircularIntBuffer","l":"peek()"},{"p":"proguard.analysis.cpa.defaults","c":"StackAbstractState","l":"peek(int)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"peek(int)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"peek(int)"},{"p":"proguard.util","c":"CircularIntBuffer","l":"peek(int)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"peekCallStack()"},{"p":"proguard.analysis.cpa.defaults","c":"StackAbstractState","l":"peekOrDefault(int, AbstractSpaceT)","url":"peekOrDefault(int,AbstractSpaceT)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"peekOrDefault(int, StateT)","url":"peekOrDefault(int,StateT)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"peekOrDefault(int, StateT)","url":"peekOrDefault(int,StateT)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"peekOrDefault(StateT)"},{"p":"proguard.classfile.editor","c":"PeepholeEditor","l":"PeepholeEditor(BranchTargetFinder, CodeAttributeEditor, InstructionVisitor)","url":"%3Cinit%3E(proguard.classfile.util.BranchTargetFinder,proguard.classfile.editor.CodeAttributeEditor,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.editor","c":"PeepholeEditor","l":"PeepholeEditor(CodeAttributeEditor, InstructionVisitor)","url":"%3Cinit%3E(proguard.classfile.editor.CodeAttributeEditor,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"PERMITTED_SUBCLASSES"},{"p":"proguard.classfile.editor","c":"PermittedSubclassAdder","l":"PermittedSubclassAdder(ProgramClass, PermittedSubclassesAttribute)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.attribute","c":"PermittedSubclassesAttribute","l":"permittedSubclassConstantsAccept(Clazz, ConstantVisitor)","url":"permittedSubclassConstantsAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.attribute","c":"PermittedSubclassesAttribute","l":"PermittedSubclassesAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"PermittedSubclassesAttribute","l":"PermittedSubclassesAttribute(int, int, int[])","url":"%3Cinit%3E(int,int,int[])"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"PHI"},{"p":"proguard.dexfile.ir.expr","c":"PhiExpr","l":"PhiExpr(Value[])","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value[])"},{"p":"proguard.dexfile.ir","c":"IrMethod","l":"phiLabels"},{"p":"proguard.dexfile.ir.stmt","c":"LabelStmt","l":"phis"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadata","l":"pn"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataType","l":"pn"},{"p":"proguard.dexfile.ir.ts","c":"UniqueQueue","l":"poll()"},{"p":"proguard.analysis.cpa.defaults","c":"BreadthFirstWaitlist","l":"pop()"},{"p":"proguard.analysis.cpa.defaults","c":"DepthFirstWaitlist","l":"pop()"},{"p":"proguard.analysis.cpa.interfaces","c":"Waitlist","l":"pop()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"pop()"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"pop()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"pop()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"pop()"},{"p":"proguard.dexfile.ir.ts","c":"UniqueQueue","l":"pop()"},{"p":"proguard.evaluation","c":"Stack","l":"pop()"},{"p":"proguard.evaluation","c":"TracedStack","l":"pop()"},{"p":"proguard.evaluation","c":"Stack","l":"pop1()"},{"p":"proguard.evaluation","c":"TracedStack","l":"pop1()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"pop2()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"pop2()"},{"p":"proguard.evaluation","c":"Stack","l":"pop2()"},{"p":"proguard.evaluation","c":"TracedStack","l":"pop2()"},{"p":"proguard.analysis.cpa.defaults","c":"StackAbstractState","l":"popOrDefault(AbstractSpaceT)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"popOrDefault(StateT)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"popOrDefault(StateT)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"postInsertions"},{"p":"proguard.analysis.cpa.defaults","c":"StaticPrecisionAdjustment","l":"prec(AbstractState, Precision, Collection)","url":"prec(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision,java.util.Collection)"},{"p":"proguard.analysis.cpa.interfaces","c":"PrecisionAdjustment","l":"prec(AbstractState, Precision, Collection)","url":"prec(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision,java.util.Collection)"},{"p":"proguard.analysis.cpa.defaults","c":"PrecisionAdjustmentResult","l":"PrecisionAdjustmentResult(AbstractState, Precision)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.util","c":"CallGraphWalker","l":"predecessorPathsAccept(CallGraph, MethodSignature, Predicate, int, int)","url":"predecessorPathsAccept(proguard.analysis.datastructure.callgraph.CallGraph,proguard.classfile.MethodSignature,java.util.function.Predicate,int,int)"},{"p":"proguard.util","c":"CallGraphWalker","l":"predecessorPathsAccept(CallGraph, MethodSignature, Predicate)","url":"predecessorPathsAccept(proguard.analysis.datastructure.callgraph.CallGraph,proguard.classfile.MethodSignature,java.util.function.Predicate)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"predecessors"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"predecessorsContain(MethodSignature)","url":"predecessorsContain(proguard.classfile.MethodSignature)"},{"p":"proguard.dexfile.ir.ts","c":"Ir2JRegAssignTransformer.Reg","l":"prefers"},{"p":"proguard.util","c":"AndMatcher","l":"prefix()"},{"p":"proguard.util","c":"ConstantMatcher","l":"prefix()"},{"p":"proguard.util","c":"FixedStringMatcher","l":"prefix()"},{"p":"proguard.util","c":"MatchedStringMatcher","l":"prefix()"},{"p":"proguard.util","c":"OrMatcher","l":"prefix()"},{"p":"proguard.util","c":"SettableMatcher","l":"prefix()"},{"p":"proguard.util","c":"StringMatcher","l":"prefix()"},{"p":"proguard.io","c":"PrefixAddingDataEntryWriter","l":"PrefixAddingDataEntryWriter(String, DataEntryWriter)","url":"%3Cinit%3E(java.lang.String,proguard.io.DataEntryWriter)"},{"p":"proguard.util","c":"PrefixAddingStringFunction","l":"PrefixAddingStringFunction(String, StringFunction)","url":"%3Cinit%3E(java.lang.String,proguard.util.StringFunction)"},{"p":"proguard.util","c":"PrefixAddingStringFunction","l":"PrefixAddingStringFunction(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.util","c":"PrefixRemovingStringFunction","l":"PrefixRemovingStringFunction(String, StringFunction, StringFunction)","url":"%3Cinit%3E(java.lang.String,proguard.util.StringFunction,proguard.util.StringFunction)"},{"p":"proguard.util","c":"PrefixRemovingStringFunction","l":"PrefixRemovingStringFunction(String, StringFunction)","url":"%3Cinit%3E(java.lang.String,proguard.util.StringFunction)"},{"p":"proguard.util","c":"PrefixRemovingStringFunction","l":"PrefixRemovingStringFunction(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.io","c":"PrefixStrippingDataEntryReader","l":"PrefixStrippingDataEntryReader(String, DataEntryReader)","url":"%3Cinit%3E(java.lang.String,proguard.io.DataEntryReader)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"preInsertions"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"preOffsetInsertions"},{"p":"proguard.classfile","c":"Signature","l":"prettyFqn"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"prettyInstructionBuffered"},{"p":"proguard.examples","c":"Preverify","l":"Preverify()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"VersionConstants","l":"PREVIEW_VERSION_MINOR"},{"p":"proguard.classfile.constant","c":"Constant","l":"PRIMITIVE_ARRAY"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"primitiveArrayAccept(Clazz, PrimitiveArrayConstantVisitor)","url":"primitiveArrayAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.PrimitiveArrayConstantVisitor)"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"PrimitiveArrayConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"PrimitiveArrayConstant(Object)","url":"%3Cinit%3E(java.lang.Object)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"PrimitiveArrayConstantReplacer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"primitiveArrayElementsAccept(Clazz, PrimitiveArrayConstantElementVisitor)","url":"primitiveArrayElementsAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.PrimitiveArrayConstantElementVisitor)"},{"p":"proguard.evaluation.value","c":"PrimitiveTypedReferenceValueFactory","l":"PrimitiveTypedReferenceValueFactory()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"principalHeapNodeMapAbstractStateFactory"},{"p":"proguard.classfile.util","c":"WarningLogger","l":"print(String, String, String)","url":"print(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"WarningPrinter","l":"print(String, String, String)","url":"print(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"WarningLogger","l":"print(String, String)","url":"print(java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"WarningPrinter","l":"print(String, String)","url":"print(java.lang.String,java.lang.String)"},{"p":"proguard.util.kotlin.asserter","c":"Reporter","l":"print(String, String)","url":"print(java.lang.String,java.lang.String)"},{"p":"proguard.examples","c":"PrintClasses","l":"PrintClasses()","url":"%3Cinit%3E()"},{"p":"proguard.exception","c":"InstructionExceptionFormatter","l":"printException(ProguardCoreException, TracedVariables, TracedStack)","url":"printException(proguard.exception.ProguardCoreException,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack)"},{"p":"proguard.exception","c":"InstructionExceptionFormatter","l":"printException(ProguardCoreException)","url":"printException(proguard.exception.ProguardCoreException)"},{"p":"proguard.io","c":"CascadingDataEntryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"ClassDataEntryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"ClassMapDataEntryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"D8BasedDexDataEntryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"DataEntryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"DexDataEntryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"DirectoryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"FilteredDataEntryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"FixedFileWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"JarWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"NonClosingDataEntryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"ParentDataEntryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"PrefixAddingDataEntryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"RenamedDataEntryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"RenamedParentDataEntryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"SignedJarWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.io","c":"ZipWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleDataEntryWriter","l":"println(PrintWriter, String)","url":"println(java.io.PrintWriter,java.lang.String)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"printState()"},{"p":"proguard.io","c":"JarWriter","l":"printWriter(OutputStream)","url":"printWriter(java.io.OutputStream)"},{"p":"proguard.classfile","c":"AccessConstants","l":"PRIVATE"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"PRIVATE"},{"p":"proguard.classfile.util","c":"AccessUtil","l":"PRIVATE"},{"p":"proguard.classfile.util.renderer","c":"ProcessableViewModel","l":"ProcessableViewModel()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation","l":"processCall(JvmAbstractState, Call)","url":"processCall(proguard.analysis.cpa.jvm.state.JvmAbstractState,proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueTransferRelation","l":"processCall(JvmAbstractState, Call)","url":"processCall(proguard.analysis.cpa.jvm.state.JvmAbstractState,proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationTransferRelation","l":"processCall(JvmMemoryLocation, ConstantInstruction, Clazz, JvmCfaNode)","url":"processCall(proguard.analysis.cpa.jvm.witness.JvmMemoryLocation,proguard.classfile.instruction.ConstantInstruction,proguard.classfile.Clazz,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.util","c":"ProcessingFlagCleaner","l":"ProcessingFlagCleaner(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.io.visitor","c":"ProcessingFlagDataEntryFilter","l":"ProcessingFlagDataEntryFilter(ResourceFilePool, int, int)","url":"%3Cinit%3E(proguard.resources.file.ResourceFilePool,int,int)"},{"p":"proguard.classfile.util.renderer","c":"ProcessableViewModel","l":"processingFlags"},{"p":"proguard.util","c":"SimpleProcessable","l":"processingFlags"},{"p":"proguard.util","c":"ProcessingFlags","l":"ProcessingFlags()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"ProcessingFlagSetter","l":"ProcessingFlagSetter(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.util.renderer","c":"MemberViewModel","l":"processingInfo"},{"p":"proguard.classfile.util.renderer","c":"ProcessableViewModel","l":"processingInfo"},{"p":"proguard.util","c":"SimpleProcessable","l":"processingInfo"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"ProcessingInfoSetter(Object)","url":"%3Cinit%3E(java.lang.Object)"},{"p":"proguard.evaluation","c":"Processor","l":"Processor(Variables, Stack, ValueFactory, BranchUnit, InvocationUnit, boolean)","url":"%3Cinit%3E(proguard.evaluation.Variables,proguard.evaluation.Stack,proguard.evaluation.value.ValueFactory,proguard.evaluation.BranchUnit,proguard.evaluation.InvocationUnit,boolean)"},{"p":"proguard.classfile","c":"ProgramClass","l":"ProgramClass()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"ProgramClass","l":"ProgramClass(int, int, Constant[], int, int, int, int, int[], int, ProgramField[], int, ProgramMethod[], int, Attribute[], int, Clazz[], String, int, Object)","url":"%3Cinit%3E(int,int,proguard.classfile.constant.Constant[],int,int,int,int,int[],int,proguard.classfile.ProgramField[],int,proguard.classfile.ProgramMethod[],int,proguard.classfile.attribute.Attribute[],int,proguard.classfile.Clazz[],java.lang.String,int,java.lang.Object)"},{"p":"proguard.classfile","c":"ProgramClass","l":"ProgramClass(int, int, Constant[], int, int, int, int, int[], int, ProgramField[], int, ProgramMethod[], int, Attribute[], int, Clazz[])","url":"%3Cinit%3E(int,int,proguard.classfile.constant.Constant[],int,int,int,int,int[],int,proguard.classfile.ProgramField[],int,proguard.classfile.ProgramMethod[],int,proguard.classfile.attribute.Attribute[],int,proguard.classfile.Clazz[])"},{"p":"proguard.classfile","c":"ProgramClass","l":"ProgramClass(int, int, Constant[], int, int, int, String, int, Object)","url":"%3Cinit%3E(int,int,proguard.classfile.constant.Constant[],int,int,int,java.lang.String,int,java.lang.Object)"},{"p":"proguard.classfile","c":"ProgramClass","l":"ProgramClass(int, int, Constant[], int, int, int)","url":"%3Cinit%3E(int,int,proguard.classfile.constant.Constant[],int,int,int)"},{"p":"proguard.classfile.visitor","c":"ProgramClassFilter","l":"ProgramClassFilter(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"AbstractKotlinMetadataConstraint","l":"programClassPool"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"ProgramClassReader(DataInput, boolean)","url":"%3Cinit%3E(java.io.DataInput,boolean)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"ProgramClassReader(DataInput)","url":"%3Cinit%3E(java.io.DataInput)"},{"p":"proguard.classfile.io","c":"ProgramClassWriter","l":"ProgramClassWriter(DataOutput)","url":"%3Cinit%3E(java.io.DataOutput)"},{"p":"proguard.classfile","c":"ProgramField","l":"ProgramField()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"ProgramField","l":"ProgramField(int, int, int, Clazz, int, Object)","url":"%3Cinit%3E(int,int,int,proguard.classfile.Clazz,int,java.lang.Object)"},{"p":"proguard.classfile","c":"ProgramField","l":"ProgramField(int, int, int, Clazz)","url":"%3Cinit%3E(int,int,int,proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"ProgramField","l":"ProgramField(int, int, int, int, Attribute[], Clazz, int, Object)","url":"%3Cinit%3E(int,int,int,int,proguard.classfile.attribute.Attribute[],proguard.classfile.Clazz,int,java.lang.Object)"},{"p":"proguard.classfile","c":"ProgramField","l":"ProgramField(int, int, int, int, Attribute[], Clazz)","url":"%3Cinit%3E(int,int,int,int,proguard.classfile.attribute.Attribute[],proguard.classfile.Clazz)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"programLocation"},{"p":"proguard.analysis.cpa.defaults","c":"ProgramLocationDependentReachedSet","l":"ProgramLocationDependentReachedSet()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"ProgramMember","l":"ProgramMember()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"ProgramMember","l":"ProgramMember(int, int, int, int, Attribute[], int, Object)","url":"%3Cinit%3E(int,int,int,int,proguard.classfile.attribute.Attribute[],int,java.lang.Object)"},{"p":"proguard.classfile","c":"ProgramMember","l":"ProgramMember(int, int, int, int, Attribute[])","url":"%3Cinit%3E(int,int,int,int,proguard.classfile.attribute.Attribute[])"},{"p":"proguard.classfile.visitor","c":"ProgramMemberFilter","l":"ProgramMemberFilter(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile","c":"ProgramMethod","l":"ProgramMethod()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"ProgramMethod","l":"ProgramMethod(int, int, int, Clazz[], int, Object)","url":"%3Cinit%3E(int,int,int,proguard.classfile.Clazz[],int,java.lang.Object)"},{"p":"proguard.classfile","c":"ProgramMethod","l":"ProgramMethod(int, int, int, Clazz[])","url":"%3Cinit%3E(int,int,int,proguard.classfile.Clazz[])"},{"p":"proguard.classfile","c":"ProgramMethod","l":"ProgramMethod(int, int, int, int, Attribute[], Clazz[], int, Object)","url":"%3Cinit%3E(int,int,int,int,proguard.classfile.attribute.Attribute[],proguard.classfile.Clazz[],int,java.lang.Object)"},{"p":"proguard.classfile","c":"ProgramMethod","l":"ProgramMethod(int, int, int, int, Attribute[], Clazz[])","url":"%3Cinit%3E(int,int,int,int,proguard.classfile.attribute.Attribute[],proguard.classfile.Clazz[])"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"PROGUARD_MAP"},{"p":"proguard.exception","c":"ProguardCoreException","l":"ProguardCoreException(int, String, Object...)","url":"%3Cinit%3E(int,java.lang.String,java.lang.Object...)"},{"p":"proguard.exception","c":"ProguardCoreException","l":"ProguardCoreException(int, Throwable, String, Object...)","url":"%3Cinit%3E(int,java.lang.Throwable,java.lang.String,java.lang.Object...)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.Prologue","l":"Prologue(DexLabel)","url":"%3Cinit%3E(proguard.dexfile.reader.DexLabel)"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"properties"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"propertiesAccept(Clazz, KotlinPropertyVisitor)","url":"propertiesAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinPropertyVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"PROPERTY_REFERENCE_CLASS_NAME"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"PROPERTY_REFERENCE_GET_METHOD_NAME"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"PROPERTY_REFERENCE_GET_METHOD_TYPE"},{"p":"proguard.util.kotlin.asserter.constraint","c":"PropertyIntegrity","l":"PropertyIntegrity()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin.reflect","c":"PropertyReferenceInfo","l":"PropertyReferenceInfo(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata)"},{"p":"proguard.classfile","c":"AccessConstants","l":"PROTECTED"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"PROTECTED"},{"p":"proguard.classfile.util","c":"AccessUtil","l":"PROTECTED"},{"p":"proguard.dexfile.ir.expr","c":"InvokeCustomExpr","l":"proto"},{"p":"proguard.dexfile.ir.expr","c":"InvokePolymorphicExpr","l":"proto"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodCustomStmtNode","l":"proto"},{"p":"proguard.dexfile.reader.node.insn","c":"MethodPolymorphicStmtNode","l":"proto"},{"p":"proguard.dexfile.reader","c":"Proto","l":"Proto(String[], String)","url":"%3Cinit%3E(java.lang.String[],java.lang.String)"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"provideDesc"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"provides"},{"p":"proguard.classfile.attribute.module","c":"ProvidesInfo","l":"providesAccept(Clazz, ConstantVisitor)","url":"providesAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"providesAccept(Clazz, ProvidesInfoVisitor)","url":"providesAccept(proguard.classfile.Clazz,proguard.classfile.attribute.module.visitor.ProvidesInfoVisitor)"},{"p":"proguard.classfile.attribute.module","c":"ProvidesInfo","l":"ProvidesInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.module","c":"ProvidesInfo","l":"ProvidesInfo(int, int, int[])","url":"%3Cinit%3E(int,int,int[])"},{"p":"proguard.classfile","c":"AccessConstants","l":"PUBLIC"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"PUBLIC"},{"p":"proguard.classfile.util","c":"AccessUtil","l":"PUBLIC"},{"p":"proguard.io","c":"DataEntrySource","l":"pumpDataEntries(DataEntryReader)","url":"pumpDataEntries(proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"DirectorySource","l":"pumpDataEntries(DataEntryReader)","url":"pumpDataEntries(proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"FileSource","l":"pumpDataEntries(DataEntryReader)","url":"pumpDataEntries(proguard.io.DataEntryReader)"},{"p":"proguard.util","c":"CircularIntBuffer","l":"push(int)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"push(StateT)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"push(StateT)"},{"p":"proguard.evaluation","c":"Stack","l":"push(Value)","url":"push(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"TracedStack","l":"push(Value)","url":"push(proguard.evaluation.value.Value)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"pushAll(List)","url":"pushAll(java.util.List)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"pushAll(List)","url":"pushAll(java.util.List)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"pushBoxedPrimitive(Object, String)","url":"pushBoxedPrimitive(java.lang.Object,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"pushDefault(String)","url":"pushDefault(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"pushDouble(double)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"pushDouble(double)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"pushFloat(float)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"pushFloat(float)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"pushInt(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"pushInt(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"pushLong(long)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"pushLong(long)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"pushNewArray(String, int)","url":"pushNewArray(java.lang.String,int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"pushNewArray(String, int)","url":"pushNewArray(java.lang.String,int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"pushPrimitive(Object, char)","url":"pushPrimitive(java.lang.Object,char)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"pushPrimitive(Object, char)","url":"pushPrimitive(java.lang.Object,char)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"pushPrimitiveOrString(Object, String, boolean)","url":"pushPrimitiveOrString(java.lang.Object,java.lang.String,boolean)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"pushPrimitiveOrString(Object, String)","url":"pushPrimitiveOrString(java.lang.Object,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"pushPrimitiveOrStringArray(String, Object[])","url":"pushPrimitiveOrStringArray(java.lang.String,java.lang.Object[])"},{"p":"proguard.analysis.cpa.bam","c":"BamCache","l":"put(AbstractState, Precision, SignatureT, BlockAbstraction)","url":"put(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision,SignatureT,proguard.analysis.cpa.bam.BlockAbstraction)"},{"p":"proguard.analysis.cpa.bam","c":"BamCacheImpl","l":"put(AbstractState, Precision, SignatureT, BlockAbstraction)","url":"put(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.Precision,SignatureT,proguard.analysis.cpa.bam.BlockAbstraction)"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"put(K, V)","url":"put(K,V)"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMap","l":"put(K, V)","url":"put(K,V)"},{"p":"proguard.util","c":"MultiValueMap","l":"put(K, V)","url":"put(K,V)"},{"p":"proguard.util","c":"MultiValueMap","l":"putAll(K, Set)","url":"putAll(K,java.util.Set)"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"putAll(Map)","url":"putAll(java.util.Map)"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMap","l":"putAll(Map)","url":"putAll(java.util.Map)"},{"p":"proguard.util","c":"MultiValueMap","l":"putAll(Set, Set)","url":"putAll(java.util.Set,java.util.Set)"},{"p":"proguard.util","c":"MultiValueMap","l":"putAll(Set, V)","url":"putAll(java.util.Set,V)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"putfield(Clazz, Field)","url":"putfield(proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"putfield(Clazz, Field)","url":"putfield(proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"putfield(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"putfield(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"putfield(String, String, String, Clazz, Field)","url":"putfield(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"putfield(String, String, String, Clazz, Field)","url":"putfield(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"putfield(String, String, String)","url":"putfield(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"putfield(String, String, String)","url":"putfield(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMap","l":"putIfAbsent(K, V)","url":"putIfAbsent(K,V)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"putstatic(Clazz, Field)","url":"putstatic(proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"putstatic(Clazz, Field)","url":"putstatic(proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"putstatic(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"putstatic(int)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"putstatic(String, String, String, Clazz, Field)","url":"putstatic(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"putstatic(String, String, String, Clazz, Field)","url":"putstatic(java.lang.String,java.lang.String,java.lang.String,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"putstatic(String, String, String)","url":"putstatic(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"putstatic(String, String, String)","url":"putstatic(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"Q"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"Q"},{"p":"proguard.analysis","c":"CallResolver","l":"quickResolve(Instruction, ProgramClass)","url":"quickResolve(proguard.classfile.instruction.Instruction,proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"R"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"R"},{"p":"proguard.dexfile.reader.node.insn","c":"FillArrayDataStmtNode","l":"ra"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"RangeIntegerValue(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.evaluation.value","c":"RangeValueFactory","l":"RangeValueFactory()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"RangeValueFactory","l":"RangeValueFactory(ValueFactory, ValueFactory)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState.StackEntry","l":"reachedSet"},{"p":"proguard.io.util","c":"IOUtil","l":"read(ClassPath, String, boolean, boolean, boolean, boolean, boolean, BiFunction)","url":"read(proguard.io.ClassPath,java.lang.String,boolean,boolean,boolean,boolean,boolean,java.util.function.BiFunction)"},{"p":"proguard.io.util","c":"IOUtil","l":"read(ClassPath, String, boolean, boolean, boolean, boolean, boolean, boolean, BiFunction)","url":"read(proguard.io.ClassPath,java.lang.String,boolean,boolean,boolean,boolean,boolean,boolean,java.util.function.BiFunction)"},{"p":"proguard.io","c":"ClassReader","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DataEntryCopier","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DataEntryReader","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.io","c":"DexClassReader","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.io","c":"FilteredDataEntryReader","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.io","c":"IdleRewriter","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.io","c":"JarReader","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.io","c":"MultiDataEntryReader","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.io","c":"ParallelDexClassReader","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.io","c":"PrefixStrippingDataEntryReader","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.io","c":"RenamedDataEntryReader","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.resources.file.io","c":"ResourceFileDataEntryReader","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.resources.file.visitor","c":"ResourceJavaReferenceCollector","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleDataEntryReader","l":"read(DataEntry)","url":"read(proguard.io.DataEntry)"},{"p":"proguard.io.util","c":"IOUtil","l":"read(File, boolean, boolean, BiFunction)","url":"read(java.io.File,boolean,boolean,java.util.function.BiFunction)"},{"p":"proguard.io.util","c":"IOUtil","l":"read(File, boolean, boolean)","url":"read(java.io.File,boolean,boolean)"},{"p":"proguard.io.util","c":"IOUtil","l":"read(File, boolean)","url":"read(java.io.File,boolean)"},{"p":"proguard.io.util","c":"IOUtil","l":"read(String, boolean, boolean)","url":"read(java.lang.String,boolean,boolean)"},{"p":"proguard.io.util","c":"IOUtil","l":"read(String, boolean)","url":"read(java.lang.String,boolean)"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readBoolean()"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readByte()"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"readByte(byte[], int)","url":"readByte(byte[],int)"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readChar()"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readDouble()"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readFloat()"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readFully(byte[], int, int)","url":"readFully(byte[],int,int)"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readFully(byte[])"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor.Label","l":"readInfo(byte[], int)","url":"readInfo(byte[],int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer.Label","l":"readInfo(byte[], int)","url":"readInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"readInfo(byte[], int)","url":"readInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"readInfo(byte[], int)","url":"readInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"readInfo(byte[], int)","url":"readInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"LookUpSwitchInstruction","l":"readInfo(byte[], int)","url":"readInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"readInfo(byte[], int)","url":"readInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"TableSwitchInstruction","l":"readInfo(byte[], int)","url":"readInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"readInfo(byte[], int)","url":"readInfo(byte[],int)"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readInt()"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"readInt(byte[], int)","url":"readInt(byte[],int)"},{"p":"proguard.examples","c":"JarUtil","l":"readJar(String, boolean)","url":"readJar(java.lang.String,boolean)"},{"p":"proguard.examples","c":"JarUtil","l":"readJar(String, String, boolean)","url":"readJar(java.lang.String,java.lang.String,boolean)"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"readLeb128i(ByteBuffer)","url":"readLeb128i(java.nio.ByteBuffer)"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readLine()"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readLong()"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readShort()"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"readShort(byte[], int)","url":"readShort(byte[],int)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"readSignedByte(byte[], int)","url":"readSignedByte(byte[],int)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"readSignedShort(byte[], int)","url":"readSignedShort(byte[],int)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"readSignedValue(byte[], int, int)","url":"readSignedValue(byte[],int,int)"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"readULeb128i(ByteBuffer)","url":"readULeb128i(java.nio.ByteBuffer)"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readUnsignedByte()"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readUnsignedShort()"},{"p":"proguard.io","c":"RuntimeDataInput","l":"readUTF()"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"readValue(byte[], int, int)","url":"readValue(byte[],int,int)"},{"p":"proguard.analysis.cpa.bam","c":"NoOpRebuildOperator","l":"rebuild(AbstractState, AbstractState)","url":"rebuild(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.bam","c":"RebuildOperator","l":"rebuild(AbstractState, AbstractState)","url":"rebuild(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"receiverType"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"receiverType"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"receiverTypeAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeVisitor)","url":"receiverTypeAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"receiverTypeAccept(Clazz, KotlinMetadata, KotlinTypeVisitor)","url":"receiverTypeAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.analysis.datastructure.callgraph","c":"CallGraph","l":"reconstructCallGraph(ClassPool, MethodSignature, int, int, Set)","url":"reconstructCallGraph(proguard.classfile.ClassPool,proguard.classfile.MethodSignature,int,int,java.util.Set)"},{"p":"proguard.analysis.datastructure.callgraph","c":"CallGraph","l":"reconstructCallGraph(ClassPool, MethodSignature, Set, Set)","url":"reconstructCallGraph(proguard.classfile.ClassPool,proguard.classfile.MethodSignature,java.util.Set,java.util.Set)"},{"p":"proguard.analysis.datastructure.callgraph","c":"CallGraph","l":"reconstructCallGraph(ClassPool, MethodSignature, Set)","url":"reconstructCallGraph(proguard.classfile.ClassPool,proguard.classfile.MethodSignature,java.util.Set)"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"RECORD"},{"p":"proguard.classfile.attribute","c":"RecordAttribute","l":"RecordAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"RecordAttribute","l":"RecordAttribute(int, int, RecordComponentInfo[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.RecordComponentInfo[])"},{"p":"proguard.classfile.attribute","c":"RecordComponentInfo","l":"RecordComponentInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"RecordComponentInfo","l":"RecordComponentInfo(int, int, int, Attribute[])","url":"%3Cinit%3E(int,int,int,proguard.classfile.attribute.Attribute[])"},{"p":"proguard.analysis.cpa.bam","c":"ReduceOperator","l":"reduce(AbstractState, CfaNodeT, Call)","url":"reduce(proguard.analysis.cpa.interfaces.AbstractState,CfaNodeT,proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmHeapAbstractState","l":"reduce(Set)","url":"reduce(java.util.Set)"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"reduce(Set)","url":"reduce(java.util.Set)"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun","l":"reduceHeap"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun.Builder","l":"reduceHeap"},{"p":"proguard.analysis.cpa.jvm.operators","c":"JvmDefaultReduceOperator","l":"reduceHeap(JvmHeapAbstractState, JvmFrameAbstractState, MapAbstractState)","url":"reduceHeap(proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.jvm.state.JvmFrameAbstractState,proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueReduceOperator","l":"reduceHeap(JvmHeapAbstractState, JvmFrameAbstractState, MapAbstractState)","url":"reduceHeap(proguard.analysis.cpa.jvm.state.heap.JvmHeapAbstractState,proguard.analysis.cpa.jvm.state.JvmFrameAbstractState,proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.analysis.cpa.bam","c":"NoOpReduceOperator","l":"reduceImpl(AbstractState, CfaNodeT, Call)","url":"reduceImpl(proguard.analysis.cpa.interfaces.AbstractState,CfaNodeT,proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis.cpa.bam","c":"ReduceOperator","l":"reduceImpl(AbstractState, CfaNodeT, Call)","url":"reduceImpl(proguard.analysis.cpa.interfaces.AbstractState,CfaNodeT,proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis.cpa.jvm.operators","c":"JvmDefaultReduceOperator","l":"reduceImpl(AbstractState, JvmCfaNode, Call)","url":"reduceImpl(proguard.analysis.cpa.interfaces.AbstractState,proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.datastructure.callgraph.Call)"},{"p":"proguard.analysis.cpa.jvm.operators","c":"JvmDefaultReduceOperator","l":"reduceStaticFields(MapAbstractState)","url":"reduceStaticFields(proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"REF_GET_FIELD"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"REF_GET_STATIC"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"REF_INVOKE_INTERFACE"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"REF_INVOKE_SPECIAL"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"REF_INVOKE_STATIC"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"REF_INVOKE_VIRTUAL"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"REF_NEW_INVOKE_SPECIAL"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"REF_PUT_FIELD"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"REF_PUT_STATIC"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"RefConstant()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmHeapLocation","l":"reference"},{"p":"proguard.analysis.cpa.util","c":"StateNames","l":"Reference"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"REFERENCE_VALUE"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"Reference","l":"Reference(JvmCfaNode, JvmMemoryLocation)","url":"%3Cinit%3E(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode,proguard.analysis.cpa.jvm.witness.JvmMemoryLocation)"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"referenceAccept(Clazz, ConstantVisitor)","url":"referenceAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"referenceArrayLoad(IntegerValue, ValueFactory)","url":"referenceArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"referenceArrayLoad(IntegerValue, ValueFactory)","url":"referenceArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"referenceArrayLoad(IntegerValue, ValueFactory)","url":"referenceArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"referenceArrayLoad(IntegerValue, ValueFactory)","url":"referenceArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"referenceArrayLoad(IntegerValue, ValueFactory)","url":"referenceArrayLoad(proguard.evaluation.value.IntegerValue,proguard.evaluation.value.ValueFactory)"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"referenceClass"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"referencedAnnotationClass"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument","l":"referencedAnnotationMethod"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument","l":"referencedAnnotationMethodClass"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"referencedBackingField"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"referencedBackingFieldClass"},{"p":"proguard.backport","c":"LambdaExpression","l":"referencedClass"},{"p":"proguard.classfile","c":"LibraryField","l":"referencedClass"},{"p":"proguard.classfile","c":"ProgramField","l":"referencedClass"},{"p":"proguard.classfile","c":"Signature","l":"referencedClass"},{"p":"proguard.classfile.attribute","c":"EnclosingMethodAttribute","l":"referencedClass"},{"p":"proguard.classfile.attribute","c":"LocalVariableInfo","l":"referencedClass"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"referencedClass"},{"p":"proguard.classfile.constant","c":"ClassConstant","l":"referencedClass"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"referencedClass"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"referencedClass"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ClassValue","l":"referencedClass"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.EnumValue","l":"referencedClass"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"referencedClass"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"referencedClass"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"referencedClass"},{"p":"proguard.resources.file","c":"ResourceJavaReference","l":"referencedClass"},{"p":"proguard.classfile.attribute","c":"EnclosingMethodAttribute","l":"referencedClassAccept(ClassVisitor)","url":"referencedClassAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.attribute","c":"LocalVariableInfo","l":"referencedClassAccept(ClassVisitor)","url":"referencedClassAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"Annotation","l":"referencedClassAccept(ClassVisitor)","url":"referencedClassAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.constant","c":"ClassConstant","l":"referencedClassAccept(ClassVisitor)","url":"referencedClassAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"referencedClassAccept(ClassVisitor)","url":"referencedClassAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"referencedClassAccept(ClassVisitor)","url":"referencedClassAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"referencedClassAccept(ClassVisitor)","url":"referencedClassAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ClassValue","l":"referencedClassAccept(ClassVisitor)","url":"referencedClassAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.EnumValue","l":"referencedClassAccept(ClassVisitor)","url":"referencedClassAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"referencedClassAccept(ClassVisitor)","url":"referencedClassAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"LibraryMethod","l":"referencedClasses"},{"p":"proguard.classfile","c":"ProgramMethod","l":"referencedClasses"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeInfo","l":"referencedClasses"},{"p":"proguard.classfile.attribute","c":"SignatureAttribute","l":"referencedClasses"},{"p":"proguard.classfile.attribute.annotation","c":"Annotation","l":"referencedClasses"},{"p":"proguard.classfile.attribute.annotation","c":"ClassElementValue","l":"referencedClasses"},{"p":"proguard.classfile.attribute.annotation","c":"EnumConstantElementValue","l":"referencedClasses"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"referencedClasses"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"referencedClasses"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"referencedClasses"},{"p":"proguard.classfile","c":"LibraryField","l":"referencedClassesAccept(ClassVisitor)","url":"referencedClassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"LibraryMethod","l":"referencedClassesAccept(ClassVisitor)","url":"referencedClassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"Member","l":"referencedClassesAccept(ClassVisitor)","url":"referencedClassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"ProgramField","l":"referencedClassesAccept(ClassVisitor)","url":"referencedClassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"ProgramMethod","l":"referencedClassesAccept(ClassVisitor)","url":"referencedClassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeInfo","l":"referencedClassesAccept(ClassVisitor)","url":"referencedClassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.attribute","c":"SignatureAttribute","l":"referencedClassesAccept(ClassVisitor)","url":"referencedClassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"Annotation","l":"referencedClassesAccept(ClassVisitor)","url":"referencedClassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"ClassElementValue","l":"referencedClassesAccept(ClassVisitor)","url":"referencedClassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"EnumConstantElementValue","l":"referencedClassesAccept(ClassVisitor)","url":"referencedClassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"referencedClassesAccept(ClassVisitor)","url":"referencedClassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"referencedClassesAccept(ClassVisitor)","url":"referencedClassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"referencedClassesAccept(ClassVisitor)","url":"referencedClassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassesExtractor","l":"ReferencedClassesExtractor()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"ReferencedClassVisitor(boolean, ClassVisitor)","url":"%3Cinit%3E(boolean,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"ReferencedClassVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"referencedCompanionClass"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"referencedCompanionField"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"referencedCompanionFieldAccept(MemberVisitor)","url":"referencedCompanionFieldAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"referencedDeclarationContainer"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"referencedDefaultImplementationMethod"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"referencedDefaultImplementationMethodAccept(MemberVisitor)","url":"referencedDefaultImplementationMethodAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"referencedDefaultImplementationMethodClass"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"referencedDefaultImplsClass"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"referencedDefaultMethod"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"referencedDefaultMethodAccept(MemberVisitor)","url":"referencedDefaultMethodAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"referencedDefaultMethodClass"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"referencedEnumEntries"},{"p":"proguard.classfile.kotlin","c":"KotlinMultiFilePartKindMetadata","l":"referencedFacadeClass"},{"p":"proguard.classfile.attribute","c":"RecordComponentInfo","l":"referencedField"},{"p":"proguard.classfile.attribute.annotation","c":"EnumConstantElementValue","l":"referencedField"},{"p":"proguard.classfile.constant","c":"FieldrefConstant","l":"referencedField"},{"p":"proguard.classfile.attribute","c":"RecordComponentInfo","l":"referencedFieldAccept(Clazz, MemberVisitor)","url":"referencedFieldAccept(proguard.classfile.Clazz,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"EnumConstantElementValue","l":"referencedFieldAccept(MemberVisitor)","url":"referencedFieldAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.constant","c":"FieldrefConstant","l":"referencedFieldAccept(MemberVisitor)","url":"referencedFieldAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModulePackage","l":"referencedFileFacades"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"referencedGetterMethod"},{"p":"proguard.backport","c":"LambdaExpression","l":"referencedInvokedClass"},{"p":"proguard.backport","c":"LambdaExpression","l":"referencedInvokedMethod"},{"p":"proguard.classfile.kotlin.visitor","c":"ReferencedKotlinMetadataVisitor","l":"ReferencedKotlinMetadataVisitor(KotlinMetadataVisitor)","url":"%3Cinit%3E(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"referencedLambdaClassOrigin"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"referencedMember"},{"p":"proguard.classfile.constant","c":"AnyMethodrefConstant","l":"referencedMemberAccept(MemberVisitor)","url":"referencedMemberAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.constant","c":"FieldrefConstant","l":"referencedMemberAccept(MemberVisitor)","url":"referencedMemberAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"referencedMemberAccept(MemberVisitor)","url":"referencedMemberAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"referencedMemberAccept(MemberVisitor)","url":"referencedMemberAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"ReferencedMemberVisitor","l":"ReferencedMemberVisitor(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.attribute","c":"EnclosingMethodAttribute","l":"referencedMethod"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"referencedMethod"},{"p":"proguard.classfile.constant","c":"AnyMethodrefConstant","l":"referencedMethod"},{"p":"proguard.classfile.kotlin","c":"KotlinConstructorMetadata","l":"referencedMethod"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"referencedMethod"},{"p":"proguard.classfile.kotlin","c":"KotlinConstructorMetadata","l":"referencedMethodAccept(Clazz, MemberVisitor)","url":"referencedMethodAccept(proguard.classfile.Clazz,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"referencedMethodAccept(Clazz, MemberVisitor)","url":"referencedMethodAccept(proguard.classfile.Clazz,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.attribute","c":"EnclosingMethodAttribute","l":"referencedMethodAccept(MemberVisitor)","url":"referencedMethodAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"referencedMethodAccept(MemberVisitor)","url":"referencedMethodAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.constant","c":"AnyMethodrefConstant","l":"referencedMethodAccept(MemberVisitor)","url":"referencedMethodAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument","l":"referencedMethodAccept(MemberVisitor)","url":"referencedMethodAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"referencedMethodAccept(MemberVisitor)","url":"referencedMethodAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"referencedMethodClass"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"referencedModule"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModulePackage","l":"referencedMultiFileParts"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"referencedNestedClasses"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"referencedOwnerClassAccept(ClassVisitor)","url":"referencedOwnerClassAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"referencedOwnerClassAccept(KotlinMetadataVisitor)","url":"referencedOwnerClassAccept(proguard.classfile.kotlin.visitor.KotlinMetadataVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"referencedParameter"},{"p":"proguard.classfile.kotlin","c":"KotlinMultiFileFacadeKindMetadata","l":"referencedPartClasses"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"referencedResourceFile"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"referencedResourceFileAccept(ResourceFileVisitor)","url":"referencedResourceFileAccept(proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"referencedResourceId"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"referencedSealedSubClasses"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"referencedSetterMethod"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"referencedSyntheticMethodClass"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"referencedSyntheticMethodForAnnotations"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"referencedSyntheticMethodForDelegateClass"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"referencedSyntheticMethodForDelegateMethod"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"referencedTypeAlias"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"referencedTypeAliasAccept(Clazz, KotlinTypeAliasVisitor)","url":"referencedTypeAliasAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinTypeAliasVisitor)"},{"p":"proguard.resources.file","c":"ResourceFile","l":"references"},{"p":"proguard.backport","c":"LambdaExpression","l":"referencesPrivateConstructor()"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"referenceToObject"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"ReferenceTracingInvocationUnit(SimplifiedInvocationUnit)","url":"%3Cinit%3E(proguard.evaluation.SimplifiedInvocationUnit)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"ReferenceTracingValueFactory(ValueFactory, boolean)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory,boolean)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"ReferenceTracingValueFactory(ValueFactory)","url":"%3Cinit%3E(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"referenceValue()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"referenceValue()"},{"p":"proguard.evaluation.value","c":"Value","l":"referenceValue()"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"ReferenceValue()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"ParticularValueFactory","l":"referenceValueFactory"},{"p":"proguard.dexfile.ir.expr","c":"RefExpr","l":"RefExpr(Value.VT, String, int)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,java.lang.String,int)"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants.REFLECTION","l":"REFLECTION()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.executor","c":"ReflectionExecutor","l":"ReflectionExecutor()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"ReflectiveMethodCallUtil","l":"ReflectiveMethodCallUtil()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor","l":"ReflectiveModelExecutor(Set>, HierarchyProvider)","url":"%3Cinit%3E(java.util.Set,proguard.util.HierarchyProvider)"},{"p":"proguard.classfile","c":"ClassPool","l":"refreshedCopy()"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"refreshedCopy()"},{"p":"proguard.classfile","c":"ClassPool","l":"refreshedKeysCopy(Map)","url":"refreshedKeysCopy(java.util.Map)"},{"p":"proguard.classfile","c":"ClassPool","l":"refreshedValuesCopy(Map)","url":"refreshedValuesCopy(java.util.Map)"},{"p":"proguard.dexfile.ir","c":"LocalVar","l":"reg"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.EndLocal","l":"reg"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.RestartLocal","l":"reg"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.StartLocalNode","l":"reg"},{"p":"proguard.dexfile.ir.ts","c":"Ir2JRegAssignTransformer.Reg","l":"Reg()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer.RegAssign","l":"RegAssign()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"registerAlternativeBranch(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int, int, int)","url":"registerAlternativeBranch(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int,int,int)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"registerAlternativeBranch(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int, int, int)","url":"registerAlternativeBranch(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int,int,int)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"registerAlternativeBranch(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int, int, int)","url":"registerAlternativeBranch(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int,int,int)"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit.Builder","l":"registeredExecutorBuilders"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"registerException(Clazz, Method, CodeAttribute, PartialEvaluator, Throwable)","url":"registerException(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.PartialEvaluator,java.lang.Throwable)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"registerException(Clazz, Method, CodeAttribute, PartialEvaluator, Throwable)","url":"registerException(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.PartialEvaluator,java.lang.Throwable)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"registerException(Clazz, Method, CodeAttribute, PartialEvaluator, Throwable)","url":"registerException(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.PartialEvaluator,java.lang.Throwable)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"registerExceptionHandler(Clazz, Method, int, int, ExceptionInfo)","url":"registerExceptionHandler(proguard.classfile.Clazz,proguard.classfile.Method,int,int,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"registerExceptionHandler(Clazz, Method, int, int, ExceptionInfo)","url":"registerExceptionHandler(proguard.classfile.Clazz,proguard.classfile.Method,int,int,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"registerExceptionHandler(Clazz, Method, int, int, ExceptionInfo)","url":"registerExceptionHandler(proguard.classfile.Clazz,proguard.classfile.Method,int,int,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.exception","c":"InstructionExceptionFormatter","l":"registerInstructionOffset(int)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"registerSubroutineReturn(Clazz, Method, int, TracedVariables, TracedStack)","url":"registerSubroutineReturn(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"registerSubroutineReturn(Clazz, Method, int, TracedVariables, TracedStack)","url":"registerSubroutineReturn(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"registerSubroutineReturn(Clazz, Method, int, TracedVariables, TracedStack)","url":"registerSubroutineReturn(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"registerUnusedExceptionHandler(Clazz, Method, int, int, ExceptionInfo)","url":"registerUnusedExceptionHandler(proguard.classfile.Clazz,proguard.classfile.Method,int,int,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"registerUnusedExceptionHandler(Clazz, Method, int, int, ExceptionInfo)","url":"registerUnusedExceptionHandler(proguard.classfile.Clazz,proguard.classfile.Method,int,int,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata.Flavor","l":"REGULAR"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"reIndexLocal(IrMethod)","url":"reIndexLocal(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"reIndexLocalAndLabel(IrMethod)","url":"reIndexLocalAndLabel(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.expr","c":"AbstractInvokeExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"BinopExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"CastExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"FieldExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"FilledArrayExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"InvokeCustomExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"InvokeExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"InvokePolymorphicExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"NewExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"NewMutiArrayExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"RefExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"StaticFieldExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"TypeExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"UnopExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"Value.E1Expr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"Value.E2Expr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"Value.EnExpr","l":"releaseMemory()"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"REM"},{"p":"proguard.dexfile.reader","c":"Op","l":"REM_DOUBLE"},{"p":"proguard.dexfile.reader","c":"Op","l":"REM_DOUBLE_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"REM_FLOAT"},{"p":"proguard.dexfile.reader","c":"Op","l":"REM_FLOAT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"REM_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"REM_INT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"REM_INT_LIT16"},{"p":"proguard.dexfile.reader","c":"Op","l":"REM_INT_LIT8"},{"p":"proguard.dexfile.reader","c":"Op","l":"REM_LONG"},{"p":"proguard.dexfile.reader","c":"Op","l":"REM_LONG_2ADDR"},{"p":"proguard.evaluation.value","c":"CompositeDoubleValue","l":"REMAINDER"},{"p":"proguard.evaluation.value","c":"CompositeFloatValue","l":"REMAINDER"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"REMAINDER"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"REMAINDER"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"remainder(DoubleValue)","url":"remainder(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"remainder(DoubleValue)","url":"remainder(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"remainder(DoubleValue)","url":"remainder(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"remainder(DoubleValue)","url":"remainder(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"remainder(FloatValue)","url":"remainder(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"remainder(FloatValue)","url":"remainder(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"remainder(FloatValue)","url":"remainder(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"remainder(FloatValue)","url":"remainder(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"remainder(IntegerValue)","url":"remainder(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"remainder(IntegerValue)","url":"remainder(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"remainder(IntegerValue)","url":"remainder(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"remainder(IntegerValue)","url":"remainder(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"remainder(IntegerValue)","url":"remainder(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"remainder(LongValue)","url":"remainder(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"remainder(LongValue)","url":"remainder(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"remainder(LongValue)","url":"remainder(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"remainder(LongValue)","url":"remainder(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"remainder(ParticularDoubleValue)","url":"remainder(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"remainder(ParticularDoubleValue)","url":"remainder(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"remainder(ParticularFloatValue)","url":"remainder(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"remainder(ParticularFloatValue)","url":"remainder(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"remainder(ParticularIntegerValue)","url":"remainder(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"remainder(ParticularIntegerValue)","url":"remainder(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"remainder(ParticularIntegerValue)","url":"remainder(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"remainder(ParticularLongValue)","url":"remainder(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"remainder(ParticularLongValue)","url":"remainder(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"remainder(RangeIntegerValue)","url":"remainder(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"remainder(RangeIntegerValue)","url":"remainder(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"remainder(RangeIntegerValue)","url":"remainder(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"remainder(RangeIntegerValue)","url":"remainder(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"remainder(SpecificDoubleValue)","url":"remainder(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"remainder(SpecificDoubleValue)","url":"remainder(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"remainder(SpecificFloatValue)","url":"remainder(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"remainder(SpecificFloatValue)","url":"remainder(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"remainder(SpecificIntegerValue)","url":"remainder(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"remainder(SpecificIntegerValue)","url":"remainder(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"remainder(SpecificLongValue)","url":"remainder(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"remainder(SpecificLongValue)","url":"remainder(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"remainder(UnknownIntegerValue)","url":"remainder(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"remainderOf(DoubleValue)","url":"remainderOf(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"remainderOf(DoubleValue)","url":"remainderOf(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"remainderOf(DoubleValue)","url":"remainderOf(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"remainderOf(DoubleValue)","url":"remainderOf(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"remainderOf(FloatValue)","url":"remainderOf(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"remainderOf(FloatValue)","url":"remainderOf(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"remainderOf(FloatValue)","url":"remainderOf(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"remainderOf(FloatValue)","url":"remainderOf(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"remainderOf(IntegerValue)","url":"remainderOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"remainderOf(IntegerValue)","url":"remainderOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"remainderOf(IntegerValue)","url":"remainderOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"remainderOf(IntegerValue)","url":"remainderOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"remainderOf(IntegerValue)","url":"remainderOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"remainderOf(LongValue)","url":"remainderOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"remainderOf(LongValue)","url":"remainderOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"remainderOf(LongValue)","url":"remainderOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"remainderOf(LongValue)","url":"remainderOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"remainderOf(ParticularDoubleValue)","url":"remainderOf(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"remainderOf(ParticularDoubleValue)","url":"remainderOf(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"remainderOf(ParticularFloatValue)","url":"remainderOf(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"remainderOf(ParticularFloatValue)","url":"remainderOf(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"remainderOf(ParticularIntegerValue)","url":"remainderOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"remainderOf(ParticularIntegerValue)","url":"remainderOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"remainderOf(ParticularIntegerValue)","url":"remainderOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"remainderOf(ParticularLongValue)","url":"remainderOf(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"remainderOf(ParticularLongValue)","url":"remainderOf(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"remainderOf(RangeIntegerValue)","url":"remainderOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"remainderOf(RangeIntegerValue)","url":"remainderOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"remainderOf(RangeIntegerValue)","url":"remainderOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"remainderOf(RangeIntegerValue)","url":"remainderOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"remainderOf(SpecificDoubleValue)","url":"remainderOf(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"remainderOf(SpecificDoubleValue)","url":"remainderOf(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"remainderOf(SpecificFloatValue)","url":"remainderOf(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"remainderOf(SpecificFloatValue)","url":"remainderOf(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"remainderOf(SpecificIntegerValue)","url":"remainderOf(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"remainderOf(SpecificIntegerValue)","url":"remainderOf(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"remainderOf(SpecificLongValue)","url":"remainderOf(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"remainderOf(SpecificLongValue)","url":"remainderOf(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"remainderOf(UnknownIntegerValue)","url":"remainderOf(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.util","c":"WildcardManager","l":"rememberVariableStringMatcher(VariableStringMatcher)","url":"rememberVariableStringMatcher(proguard.util.VariableStringMatcher)"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWaitlist","l":"remove(AbstractState)","url":"remove(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"DefaultReachedSet","l":"remove(AbstractState)","url":"remove(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.defaults","c":"ProgramLocationDependentReachedSet","l":"remove(AbstractState)","url":"remove(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.interfaces","c":"ReachedSet","l":"remove(AbstractState)","url":"remove(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.analysis.cpa.interfaces","c":"Waitlist","l":"remove(AbstractState)","url":"remove(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.util","c":"ArrayUtil","l":"remove(byte[], int, int)","url":"remove(byte[],int,int)"},{"p":"proguard.util","c":"ArrayUtil","l":"remove(char[], int, int)","url":"remove(char[],int,int)"},{"p":"proguard.util","c":"ArrayUtil","l":"remove(double[], int, int)","url":"remove(double[],int,int)"},{"p":"proguard.util","c":"ArrayUtil","l":"remove(float[], int, int)","url":"remove(float[],int,int)"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"remove(int)"},{"p":"proguard.io","c":"ClassPath","l":"remove(int)"},{"p":"proguard.util","c":"ArrayUtil","l":"remove(int[], int, int)","url":"remove(int[],int,int)"},{"p":"proguard.util","c":"MultiValueMap","l":"remove(K, V)","url":"remove(K,V)"},{"p":"proguard.util","c":"ArrayUtil","l":"remove(long[], int, int)","url":"remove(long[],int,int)"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"remove(Object)","url":"remove(java.lang.Object)"},{"p":"proguard.util","c":"ArrayUtil","l":"remove(Object[], int, int)","url":"remove(java.lang.Object[],int,int)"},{"p":"proguard.util","c":"ArrayUtil","l":"remove(short[], int, int)","url":"remove(short[],int,int)"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"remove(Stmt)","url":"remove(proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWaitlist","l":"removeAll(Collection)","url":"removeAll(java.util.Collection)"},{"p":"proguard.analysis.cpa.defaults","c":"ProgramLocationDependentReachedSet","l":"removeAll(Collection)","url":"removeAll(java.util.Collection)"},{"p":"proguard.analysis.cpa.interfaces","c":"ReachedSet","l":"removeAll(Collection)","url":"removeAll(java.util.Collection)"},{"p":"proguard.analysis.cpa.interfaces","c":"Waitlist","l":"removeAll(Collection)","url":"removeAll(java.util.Collection)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeEditor","l":"removeBootstrapMethodInfo(BootstrapMethodInfo)","url":"removeBootstrapMethodInfo(proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.classfile","c":"ClassPool","l":"removeClass(Clazz)","url":"removeClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"ClassPool","l":"removeClass(String)","url":"removeClass(java.lang.String)"},{"p":"proguard.dexfile.ir.ts","c":"RemoveConstantFromSSA","l":"RemoveConstantFromSSA()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"ProcessingFlags","l":"REMOVED_CONSTRUCTORS"},{"p":"proguard.classfile","c":"AccessConstants","l":"REMOVED_FIELDS"},{"p":"proguard.util","c":"ProcessingFlags","l":"REMOVED_FIELDS"},{"p":"proguard.classfile","c":"AccessConstants","l":"REMOVED_METHODS"},{"p":"proguard.util","c":"ProcessingFlags","l":"REMOVED_METHODS"},{"p":"proguard.util","c":"ProcessingFlags","l":"REMOVED_PUBLIC_CONSTRUCTORS"},{"p":"proguard.util","c":"ProcessingFlags","l":"REMOVED_PUBLIC_FIELDS"},{"p":"proguard.util","c":"ProcessingFlags","l":"REMOVED_PUBLIC_METHODS"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"TraceExtractor","l":"removeDuplicateProgramLocations(List)","url":"removeDuplicateProgramLocations(java.util.List)"},{"p":"proguard.analysis.cpa.defaults","c":"LimitedHashMap","l":"removeElement"},{"p":"proguard.classfile.editor","c":"ClassEditor","l":"removeField(Field)","url":"removeField(proguard.classfile.Field)"},{"p":"proguard.classfile.editor","c":"LibraryClassEditor","l":"removeField(Field)","url":"removeField(proguard.classfile.Field)"},{"p":"proguard.classfile.util","c":"ClassUtil","l":"removeGenericTypes(String)","url":"removeGenericTypes(java.lang.String)"},{"p":"proguard.classfile.editor","c":"InnerClassesAttributeEditor","l":"removeInnerClassesInfo(InnerClassesInfo)","url":"removeInnerClassesInfo(proguard.classfile.attribute.InnerClassesInfo)"},{"p":"proguard.classfile.editor","c":"ClassEditor","l":"removeInterface(int)"},{"p":"proguard.classfile.editor","c":"LibraryClassEditor","l":"removeInterface(String)","url":"removeInterface(java.lang.String)"},{"p":"proguard.dexfile.ir.ts","c":"RemoveLocalFromSSA","l":"RemoveLocalFromSSA()","url":"%3Cinit%3E()"},{"p":"proguard.examples","c":"RemoveLogging","l":"RemoveLogging()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"ClassEditor","l":"removeMethod(Method)","url":"removeMethod(proguard.classfile.Method)"},{"p":"proguard.classfile.editor","c":"LibraryClassEditor","l":"removeMethod(Method)","url":"removeMethod(proguard.classfile.Method)"},{"p":"proguard.util","c":"SimpleProcessable","l":"removeProcessingFlags(int...)"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"removeResourceFile(String)","url":"removeResourceFile(java.lang.String)"},{"p":"proguard.classfile","c":"Clazz","l":"removeSubClass(Clazz)","url":"removeSubClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"LibraryClass","l":"removeSubClass(Clazz)","url":"removeSubClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"ProgramClass","l":"removeSubClass(Clazz)","url":"removeSubClass(proguard.classfile.Clazz)"},{"p":"proguard.evaluation","c":"Stack","l":"removeTop(int)"},{"p":"proguard.evaluation","c":"TracedStack","l":"removeTop(int)"},{"p":"proguard.classfile","c":"AccessConstants","l":"RENAMED"},{"p":"proguard.io","c":"RenamedDataEntry","l":"RenamedDataEntry(DataEntry, String)","url":"%3Cinit%3E(proguard.io.DataEntry,java.lang.String)"},{"p":"proguard.io","c":"RenamedDataEntryReader","l":"RenamedDataEntryReader(StringFunction, DataEntryReader, DataEntryReader)","url":"%3Cinit%3E(proguard.util.StringFunction,proguard.io.DataEntryReader,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"RenamedDataEntryReader","l":"RenamedDataEntryReader(StringFunction, DataEntryReader)","url":"%3Cinit%3E(proguard.util.StringFunction,proguard.io.DataEntryReader)"},{"p":"proguard.io","c":"RenamedDataEntryWriter","l":"RenamedDataEntryWriter(StringFunction, DataEntryWriter)","url":"%3Cinit%3E(proguard.util.StringFunction,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"RenamedParentDataEntryWriter","l":"RenamedParentDataEntryWriter(StringMatcher, String, DataEntryWriter)","url":"%3Cinit%3E(proguard.util.StringMatcher,java.lang.String,proguard.io.DataEntryWriter)"},{"p":"proguard.classfile.util.renderer","c":"ClassViewModel","l":"render(Clazz, Class)","url":"render(proguard.classfile.Clazz,java.lang.Class)"},{"p":"proguard.classfile.util.renderer","c":"FieldViewModel","l":"render(Clazz, Field)","url":"render(proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.classfile.util.renderer","c":"MethodViewModel","l":"render(Clazz, Method)","url":"render(proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.classfile.util.renderer","c":"ClassViewModel","l":"render(Clazz)","url":"render(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util.renderer","c":"ClassViewModel","l":"renderConstantPool(Clazz)","url":"renderConstantPool(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util.renderer","c":"ClassViewModel","l":"renderFields(Clazz)","url":"renderFields(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util.renderer","c":"ClassViewModel","l":"renderInterfaces(Clazz)","url":"renderInterfaces(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util.renderer","c":"ClassViewModel","l":"renderMethods(Clazz)","url":"renderMethods(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util.renderer","c":"ConstantViewModel","l":"renderPreview()"},{"p":"proguard.classfile.util.renderer","c":"FieldViewModel","l":"renderPreview()"},{"p":"proguard.classfile.util.renderer","c":"MethodViewModel","l":"renderPreview()"},{"p":"proguard.classfile.util.renderer","c":"ClassViewModel","l":"renderPreview(Clazz)","url":"renderPreview(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util.renderer","c":"ProcessableViewModel","l":"renderProcessingFlags(int)"},{"p":"proguard.classfile.util.renderer","c":"ClassViewModel","l":"renderSuperClass(Clazz)","url":"renderSuperClass(proguard.classfile.Clazz)"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"replace(Stmt, Stmt)","url":"replace(proguard.dexfile.ir.stmt.Stmt,proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.classfile.util","c":"AccessUtil","l":"replaceAccessFlags(int, int)","url":"replaceAccessFlags(int,int)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"replaceInstruction(int, Instruction)","url":"replaceInstruction(int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"replaceInstruction(int, Instruction[])","url":"replaceInstruction(int,proguard.classfile.instruction.Instruction[])"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"replacements"},{"p":"proguard.evaluation","c":"Stack","l":"replaceReferences(Value, Value)","url":"replaceReferences(proguard.evaluation.value.Value,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"Variables","l":"replaceReferences(Value, Value)","url":"replaceReferences(proguard.evaluation.value.Value,proguard.evaluation.value.Value)"},{"p":"proguard.examples.modify","c":"ReplaceSimpleConstantInstruction","l":"ReplaceSimpleConstantInstruction()","url":"%3Cinit%3E()"},{"p":"proguard.util.kotlin.asserter","c":"Reporter","l":"report(String)","url":"report(java.lang.String)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"AbstractKotlinMetadataConstraint","l":"reporter"},{"p":"proguard.util.kotlin.asserter","c":"AssertUtil","l":"reportIfClassDangling(String, Clazz)","url":"reportIfClassDangling(java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.util.kotlin.asserter","c":"AssertUtil","l":"reportIfFieldDangling(String, Clazz, Field)","url":"reportIfFieldDangling(java.lang.String,proguard.classfile.Clazz,proguard.classfile.Field)"},{"p":"proguard.util.kotlin.asserter","c":"AssertUtil","l":"reportIfMethodDangling(String, Clazz, Method)","url":"reportIfMethodDangling(java.lang.String,proguard.classfile.Clazz,proguard.classfile.Method)"},{"p":"proguard.util.kotlin.asserter","c":"AssertUtil","l":"reportIfNull(String, Object...)","url":"reportIfNull(java.lang.String,java.lang.Object...)"},{"p":"proguard.util.kotlin.asserter","c":"AssertUtil","l":"reportIfNullReference(String, Object)","url":"reportIfNullReference(java.lang.String,java.lang.Object)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"RequiredAttributeFilter(AttributeVisitor, AttributeVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.AttributeVisitor,proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"RequiredAttributeFilter(AttributeVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"requires"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"requiresAccept(Clazz, RequiresInfoVisitor)","url":"requiresAccept(proguard.classfile.Clazz,proguard.classfile.attribute.module.visitor.RequiresInfoVisitor)"},{"p":"proguard.classfile.attribute.module","c":"RequiresInfo","l":"RequiresInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.module","c":"RequiresInfo","l":"RequiresInfo(int, int, int)","url":"%3Cinit%3E(int,int,int)"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_DRAWABLE"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_DRAWABLE_XML"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_FILE_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_FONT"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_LAYOUT"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_LAYOUT_XML"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_MENU"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_MENU_XML"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_NAVIGATION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_NAVIGATION_XML"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_TRANSITION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_TRANSITION_XML"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_XML"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RES_XML_FILE_EXPRESSION"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"reset()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"reset()"},{"p":"proguard.classfile.util","c":"ExternalTypeEnumeration","l":"reset()"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"reset()"},{"p":"proguard.evaluation","c":"BasicBranchUnit","l":"reset()"},{"p":"proguard.util","c":"WildcardManager","l":"reset()"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"reset(int)"},{"p":"proguard.classfile.editor","c":"InstructionWriter","l":"reset(int)"},{"p":"proguard.classfile.editor","c":"VariableEditor","l":"reset(int)"},{"p":"proguard.evaluation","c":"Stack","l":"reset(int)"},{"p":"proguard.evaluation","c":"TracedStack","l":"reset(int)"},{"p":"proguard.evaluation","c":"TracedVariables","l":"reset(int)"},{"p":"proguard.evaluation","c":"Variables","l":"reset(int)"},{"p":"proguard.util.kotlin.asserter","c":"Reporter","l":"resetCounter(String)","url":"resetCounter(java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.util","c":"ConstantLookupVisitor","l":"resetResult()"},{"p":"proguard.analysis","c":"CallUtil","l":"resolveFromSuperclasses(Clazz, String, String)","url":"resolveFromSuperclasses(proguard.classfile.Clazz,java.lang.String,java.lang.String)"},{"p":"proguard.analysis","c":"CallUtil","l":"resolveFromSuperinterfaces(Clazz, String, String)","url":"resolveFromSuperinterfaces(proguard.classfile.Clazz,java.lang.String,java.lang.String)"},{"p":"proguard.analysis","c":"CallUtil","l":"resolveVirtual(Clazz, Clazz, AnyMethodrefConstant)","url":"resolveVirtual(proguard.classfile.Clazz,proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant)"},{"p":"proguard.analysis","c":"CallUtil","l":"resolveVirtual(Clazz, String, String)","url":"resolveVirtual(proguard.classfile.Clazz,java.lang.String,java.lang.String)"},{"p":"proguard.analysis","c":"CallUtil","l":"resolveVirtualSignatures(Clazz, String, String)","url":"resolveVirtualSignatures(proguard.classfile.Clazz,java.lang.String,java.lang.String)"},{"p":"proguard.resources.file","c":"ResourceFile","l":"ResourceFile(String, long, int)","url":"%3Cinit%3E(java.lang.String,long,int)"},{"p":"proguard.resources.file","c":"ResourceFile","l":"ResourceFile(String, long)","url":"%3Cinit%3E(java.lang.String,long)"},{"p":"proguard.resources.file","c":"FilePool","l":"resourceFileAccept(String, ResourceFileVisitor)","url":"resourceFileAccept(java.lang.String,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file.io","c":"ResourceFileDataEntryReader","l":"ResourceFileDataEntryReader(ResourceFileVisitor, DataEntryFilter)","url":"%3Cinit%3E(proguard.resources.file.visitor.ResourceFileVisitor,proguard.io.DataEntryFilter)"},{"p":"proguard.resources.file.io","c":"ResourceFileDataEntryReader","l":"ResourceFileDataEntryReader(ResourceFileVisitor)","url":"%3Cinit%3E(proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"resourceFileMap"},{"p":"proguard.resources.file.visitor","c":"ResourceFileNameFilter","l":"ResourceFileNameFilter(List, ResourceFileVisitor, ResourceFileVisitor)","url":"%3Cinit%3E(java.util.List,proguard.resources.file.visitor.ResourceFileVisitor,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file.visitor","c":"ResourceFileNameFilter","l":"ResourceFileNameFilter(List, ResourceFileVisitor)","url":"%3Cinit%3E(java.util.List,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file.visitor","c":"ResourceFileNameFilter","l":"ResourceFileNameFilter(String, ResourceFileVisitor, ResourceFileVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.resources.file.visitor.ResourceFileVisitor,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file.visitor","c":"ResourceFileNameFilter","l":"ResourceFileNameFilter(String, ResourceFileVisitor)","url":"%3Cinit%3E(java.lang.String,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file.visitor","c":"ResourceFileNameFilter","l":"ResourceFileNameFilter(StringMatcher, ResourceFileVisitor, ResourceFileVisitor)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.resources.file.visitor.ResourceFileVisitor,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file.visitor","c":"ResourceFileNameFilter","l":"ResourceFileNameFilter(StringMatcher, ResourceFileVisitor)","url":"%3Cinit%3E(proguard.util.StringMatcher,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file","c":"FilePool","l":"resourceFileNames()"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"resourceFileNames()"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"ResourceFilePool()","url":"%3Cinit%3E()"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"ResourceFilePool(Iterable)","url":"%3Cinit%3E(java.lang.Iterable)"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"ResourceFilePool(ResourceFile...)","url":"%3Cinit%3E(proguard.resources.file.ResourceFile...)"},{"p":"proguard.resources.file.visitor","c":"ResourceFilePoolFiller","l":"ResourceFilePoolFiller(ResourceFilePool)","url":"%3Cinit%3E(proguard.resources.file.ResourceFilePool)"},{"p":"proguard.resources.file.util","c":"ResourceFilePoolNameFunction","l":"ResourceFilePoolNameFunction(ResourceFilePool)","url":"%3Cinit%3E(proguard.resources.file.ResourceFilePool)"},{"p":"proguard.resources.file.visitor","c":"ResourceFilePresenceFilter","l":"ResourceFilePresenceFilter(FilePool, ResourceFileVisitor, ResourceFileVisitor)","url":"%3Cinit%3E(proguard.resources.file.FilePool,proguard.resources.file.visitor.ResourceFileVisitor,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file.visitor","c":"ResourceFilePresenceFilter","l":"ResourceFilePresenceFilter(ResourceFilePool, ResourceFileVisitor, ResourceFileVisitor)","url":"%3Cinit%3E(proguard.resources.file.ResourceFilePool,proguard.resources.file.visitor.ResourceFileVisitor,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file.visitor","c":"ResourceFileProcessingFlagFilter","l":"ResourceFileProcessingFlagFilter(int, int, ResourceFileVisitor)","url":"%3Cinit%3E(int,int,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file","c":"FilePool","l":"resourceFilesAccept(List, ResourceFileVisitor)","url":"resourceFilesAccept(java.util.List,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"resourceFilesAccept(List, ResourceFileVisitor)","url":"resourceFilesAccept(java.util.List,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file","c":"FilePool","l":"resourceFilesAccept(ResourceFileVisitor)","url":"resourceFilesAccept(proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"resourceFilesAccept(ResourceFileVisitor)","url":"resourceFilesAccept(proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file","c":"FilePool","l":"resourceFilesAccept(String, ResourceFileVisitor)","url":"resourceFilesAccept(java.lang.String,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"resourceFilesAccept(String, ResourceFileVisitor)","url":"resourceFilesAccept(java.lang.String,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file","c":"FilePool","l":"resourceFilesAccept(StringMatcher, ResourceFileVisitor)","url":"resourceFilesAccept(proguard.util.StringMatcher,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"resourceFilesAccept(StringMatcher, ResourceFileVisitor)","url":"resourceFilesAccept(proguard.util.StringMatcher,proguard.resources.file.visitor.ResourceFileVisitor)"},{"p":"proguard.resources.file.visitor","c":"ResourceFilePresenceFilter","l":"resourceFileVisitor(ResourceFile)","url":"resourceFileVisitor(proguard.resources.file.ResourceFile)"},{"p":"proguard.resources.file","c":"ResourceJavaReference","l":"ResourceJavaReference(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.resources.file.visitor","c":"ResourceJavaReferenceClassInitializer","l":"ResourceJavaReferenceClassInitializer(ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool)"},{"p":"proguard.resources.file.visitor","c":"ResourceJavaReferenceCleaner","l":"ResourceJavaReferenceCleaner()","url":"%3Cinit%3E()"},{"p":"proguard.resources.file.visitor","c":"ResourceJavaReferenceCollector","l":"ResourceJavaReferenceCollector()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RESOURCES_ARSC"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RESOURCES_EXPRESSION"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RESOURCES_PB"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"RESOURCES_PB_EXPRESSION"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.RestartLocal","l":"RestartLocal(DexLabel, int)","url":"%3Cinit%3E(proguard.dexfile.reader.DexLabel,int)"},{"p":"proguard.analysis.cpa.jvm.util","c":"ConstantLookupVisitor","l":"result"},{"p":"proguard.analysis.cpa.jvm.util","c":"ConstantLookupVisitor","l":"resultClazz"},{"p":"proguard.analysis.cpa.jvm.util","c":"ConstantLookupVisitor","l":"resultSize"},{"p":"proguard.dexfile.ir","c":"IrMethod","l":"ret"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"ret(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"ret(int)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"RETURN"},{"p":"proguard.dexfile.reader","c":"Op","l":"RETURN"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"return_()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"return_()"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"return_(String)","url":"return_(java.lang.String)"},{"p":"proguard.analysis.cpa.interfaces","c":"CfaNode","l":"RETURN_EXIT_NODE_OFFSET"},{"p":"proguard.dexfile.reader","c":"Op","l":"RETURN_OBJECT"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"RETURN_VOID"},{"p":"proguard.dexfile.reader","c":"Op","l":"RETURN_VOID"},{"p":"proguard.dexfile.reader","c":"Op","l":"RETURN_WIDE"},{"p":"proguard.evaluation","c":"BasicBranchUnit","l":"returnFromMethod()"},{"p":"proguard.evaluation","c":"BranchUnit","l":"returnFromMethod()"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmInterpreter","l":"returnOperation(DexStmtNode, V)","url":"returnOperation(proguard.dexfile.reader.node.insn.DexStmtNode,V)"},{"p":"proguard.evaluation.executor.instancehandler","c":"ExecutorInstanceHandler","l":"returnsOwnInstance(String, String)","url":"returnsOwnInstance(java.lang.String,java.lang.String)"},{"p":"proguard.evaluation.executor.instancehandler","c":"ExecutorMethodInstanceHandler","l":"returnsOwnInstance(String, String)","url":"returnsOwnInstance(java.lang.String,java.lang.String)"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"returnsSameTypeAsInstance()"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"returnsVoid()"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"returnType"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"returnType"},{"p":"proguard.classfile.util","c":"InternalTypeEnumeration","l":"returnType()"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"returnTypeAccept(Clazz, KotlinMetadata, KotlinTypeVisitor)","url":"returnTypeAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.dexfile.ir.stmt","c":"ReturnVoidStmt","l":"ReturnVoidStmt()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"ClassPool","l":"reverseMapping()"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ROOT_RESOURCES_EXPRESSION"},{"p":"proguard.dexfile.reader","c":"Op","l":"RSUB_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"RSUB_INT_LIT8"},{"p":"proguard.analysis.cpa.algorithms","c":"CpaAlgorithm","l":"run(ReachedSet, Waitlist, AbortOperator)","url":"run(proguard.analysis.cpa.interfaces.ReachedSet,proguard.analysis.cpa.interfaces.Waitlist,proguard.analysis.cpa.interfaces.AbortOperator)"},{"p":"proguard.analysis.cpa.interfaces","c":"Algorithm","l":"run(ReachedSet, Waitlist, AbortOperator)","url":"run(proguard.analysis.cpa.interfaces.ReachedSet,proguard.analysis.cpa.interfaces.Waitlist,proguard.analysis.cpa.interfaces.AbortOperator)"},{"p":"proguard.analysis.cpa.interfaces","c":"Algorithm","l":"run(ReachedSet, Waitlist)","url":"run(proguard.analysis.cpa.interfaces.ReachedSet,proguard.analysis.cpa.interfaces.Waitlist)"},{"p":"proguard.dexfile.reader","c":"Visibility","l":"RUNTIME"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"RUNTIME_INVISIBLE_ANNOTATIONS"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"RUNTIME_INVISIBLE_TYPE_ANNOTATIONS"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"RUNTIME_VISIBLE_ANNOTATIONS"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"RUNTIME_VISIBLE_TYPE_ANNOTATIONS"},{"p":"proguard.io","c":"RuntimeDataInput","l":"RuntimeDataInput(DataInput)","url":"%3Cinit%3E(java.io.DataInput)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"RuntimeDataOutput(DataOutput)","url":"%3Cinit%3E(java.io.DataOutput)"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleAnnotationsAttribute","l":"RuntimeInvisibleAnnotationsAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleAnnotationsAttribute","l":"RuntimeInvisibleAnnotationsAttribute(int, int, Annotation[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.annotation.Annotation[])"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleParameterAnnotationsAttribute","l":"RuntimeInvisibleParameterAnnotationsAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleParameterAnnotationsAttribute","l":"RuntimeInvisibleParameterAnnotationsAttribute(int, int, int[], Annotation[][])","url":"%3Cinit%3E(int,int,int[],proguard.classfile.attribute.annotation.Annotation[][])"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleTypeAnnotationsAttribute","l":"RuntimeInvisibleTypeAnnotationsAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeInvisibleTypeAnnotationsAttribute","l":"RuntimeInvisibleTypeAnnotationsAttribute(int, int, TypeAnnotation[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.annotation.TypeAnnotation[])"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"runtimeTypeDependent"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleAnnotationsAttribute","l":"RuntimeVisibleAnnotationsAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleAnnotationsAttribute","l":"RuntimeVisibleAnnotationsAttribute(int, int, Annotation[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.annotation.Annotation[])"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleParameterAnnotationsAttribute","l":"RuntimeVisibleParameterAnnotationsAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleParameterAnnotationsAttribute","l":"RuntimeVisibleParameterAnnotationsAttribute(int, int, int[], Annotation[][])","url":"%3Cinit%3E(int,int,int[],proguard.classfile.attribute.annotation.Annotation[][])"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleTypeAnnotationsAttribute","l":"RuntimeVisibleTypeAnnotationsAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"RuntimeVisibleTypeAnnotationsAttribute","l":"RuntimeVisibleTypeAnnotationsAttribute(int, int, TypeAnnotation[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.annotation.TypeAnnotation[])"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"saload()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"saload()"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"SAME_ONE_FRAME"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"SAME_ONE_FRAME_EXTENDED"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"SAME_ZERO_FRAME"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"SAME_ZERO_FRAME_EXTENDED"},{"p":"proguard.classfile.attribute.preverification","c":"SameOneFrame","l":"SameOneFrame()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"SameOneFrame","l":"SameOneFrame(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.attribute.preverification","c":"SameOneFrame","l":"SameOneFrame(VerificationType)","url":"%3Cinit%3E(proguard.classfile.attribute.preverification.VerificationType)"},{"p":"proguard.io","c":"CascadingDataEntryWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"ClassDataEntryWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"ClassMapDataEntryWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"DataEntryWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"DexDataEntryWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"DirectoryWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"FilteredDataEntryWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"FixedFileWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"JarWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"NonClosingDataEntryWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"ParentDataEntryWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"PrefixAddingDataEntryWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"RenamedDataEntryWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"RenamedParentDataEntryWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.io","c":"ZipWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleDataEntryWriter","l":"sameOutputStream(DataEntry, DataEntry)","url":"sameOutputStream(proguard.io.DataEntry,proguard.io.DataEntry)"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"sameValues"},{"p":"proguard.classfile.attribute.preverification","c":"SameZeroFrame","l":"SameZeroFrame()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"SameZeroFrame","l":"SameZeroFrame(int)","url":"%3Cinit%3E(int)"},{"p":"com.example","c":"SampleClassWithArray","l":"SampleClassWithArray()","url":"%3Cinit%3E()"},{"p":"com.example","c":"SampleClassWithConstantComputation","l":"SampleClassWithConstantComputation()","url":"%3Cinit%3E()"},{"p":"com.example","c":"SampleClassWithObjects","l":"SampleClassWithObjects()","url":"%3Cinit%3E()"},{"p":"com.example","c":"SampleClassWithRangeComputation","l":"SampleClassWithRangeComputation()","url":"%3Cinit%3E()"},{"p":"com.example","c":"SampleClassWithVariableComputation","l":"SampleClassWithVariableComputation()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"sArrayValues"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"sastore()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"sastore()"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"sealedSubclassesAccept(ClassVisitor)","url":"sealedSubclassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"sealedSubclassNames"},{"p":"proguard.analysis.cpa.defaults","c":"SequentialCpaRun","l":"SequentialCpaRun(InputCpaRunT)","url":"%3Cinit%3E(InputCpaRunT)"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"SERVICE_PROVIDER_EXPRESSION"},{"p":"proguard.classfile.util.kotlin","c":"KotlinNameUtil","l":"SET_PREFIX"},{"p":"proguard.analysis.cpa.defaults","c":"ListAbstractState","l":"set(int, AbstractSpaceT, AbstractSpaceT)","url":"set(int,AbstractSpaceT,AbstractSpaceT)"},{"p":"proguard.io","c":"ClassPathEntry","l":"setAabFilter(List)","url":"setAabFilter(java.util.List)"},{"p":"proguard.io","c":"ClassPathEntry","l":"setAarFilter(List)","url":"setAarFilter(java.util.List)"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun.Builder","l":"setAbortOperator(AbortOperator)","url":"setAbortOperator(proguard.analysis.cpa.interfaces.AbortOperator)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"setAbortOperator(AbortOperator)","url":"setAbortOperator(proguard.analysis.cpa.interfaces.AbortOperator)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setAbortOperator(AbortOperator)","url":"setAbortOperator(proguard.analysis.cpa.interfaces.AbortOperator)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun.Builder","l":"setAbortOperator(AbortOperator)","url":"setAbortOperator(proguard.analysis.cpa.interfaces.AbortOperator)"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun.Builder","l":"setAbortOperator(AbortOperator)","url":"setAbortOperator(proguard.analysis.cpa.interfaces.AbortOperator)"},{"p":"proguard.analysis.cpa.defaults","c":"SetAbstractState","l":"SetAbstractState(Collection)","url":"%3Cinit%3E(java.util.Collection)"},{"p":"proguard.analysis.cpa.defaults","c":"SetAbstractState","l":"SetAbstractState(T...)","url":"%3Cinit%3E(T...)"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"setAliveAfter(int, int, boolean)","url":"setAliveAfter(int,int,boolean)"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"setAliveBefore(int, int, boolean)","url":"setAliveBefore(int,int,boolean)"},{"p":"proguard.io","c":"ClassPathEntry","l":"setApkFilter(List)","url":"setApkFilter(java.util.List)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"setArguments(List)","url":"setArguments(java.util.List)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"setArrayElement(T, StateT, StateT)","url":"setArrayElement(T,StateT,StateT)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmForgetfulHeapAbstractState","l":"setArrayElement(T, StateT, StateT)","url":"setArrayElement(T,StateT,StateT)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmHeapAbstractState","l":"setArrayElement(T, StateT, StateT)","url":"setArrayElement(T,StateT,StateT)"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"setArrayElement(T, StateT, StateT)","url":"setArrayElement(T,StateT,StateT)"},{"p":"proguard.analysis","c":"CallResolver.Builder","l":"setArrayValueFactory(ValueFactory)","url":"setArrayValueFactory(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodRemapper","l":"setBootstrapMethodIndexMap(int[])"},{"p":"proguard.evaluation","c":"Stack","l":"setBottom(int, Value)","url":"setBottom(int,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"PartialEvaluator.Builder","l":"setBranchTargetFinder(BranchTargetFinder)","url":"setBranchTargetFinder(proguard.classfile.util.BranchTargetFinder)"},{"p":"proguard.evaluation","c":"PartialEvaluator.Builder","l":"setBranchUnit(BasicBranchUnit)","url":"setBranchUnit(proguard.evaluation.BasicBranchUnit)"},{"p":"proguard.classfile.constant","c":"Utf8Constant","l":"setBytes(byte[])"},{"p":"proguard.classfile","c":"Signature","l":"setCacheEnabled(boolean)"},{"p":"proguard.evaluation","c":"PartialEvaluator.Builder","l":"setCallingInstructionBlockStack(Stack)","url":"setCallingInstructionBlockStack(java.util.Stack)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink.Builder","l":"setCallMatcher(Predicate)","url":"setCallMatcher(java.util.function.Predicate)"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"setCategory2(int, int, boolean)","url":"setCategory2(int,int,boolean)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"setCfa(JvmCfa)","url":"setCfa(proguard.analysis.cpa.jvm.cfa.JvmCfa)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setCfa(JvmCfa)","url":"setCfa(proguard.analysis.cpa.jvm.cfa.JvmCfa)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun.Builder","l":"setCfa(JvmCfa)","url":"setCfa(proguard.analysis.cpa.jvm.cfa.JvmCfa)"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun.Builder","l":"setCfa(JvmCfa)","url":"setCfa(proguard.analysis.cpa.jvm.cfa.JvmCfa)"},{"p":"proguard.classfile.visitor","c":"VariableClassVisitor","l":"setClassVisitor(ClassVisitor)","url":"setClassVisitor(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.analysis","c":"CallResolver.Builder","l":"setClearCallValuesAfterVisit(boolean)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"setConstantIndexMap(int[])"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"setDescriptorIndex(int)"},{"p":"proguard.io","c":"ClassPathEntry","l":"setEarFilter(List)","url":"setEarFilter(java.util.List)"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit.Builder","l":"setEnableSameInstanceIdApproximation(boolean)"},{"p":"proguard.util.kotlin.asserter","c":"Reporter","l":"setErrorMessage(String)","url":"setErrorMessage(java.lang.String)"},{"p":"proguard.analysis","c":"CallResolver.Builder","l":"setEvaluateAllCode(boolean)"},{"p":"proguard.evaluation","c":"PartialEvaluator.Builder","l":"setEvaluateAllCode(boolean)"},{"p":"proguard.analysis","c":"CallResolver.Builder","l":"setExecutingInvocationUnitBuilder(ExecutingInvocationUnit.Builder)","url":"setExecutingInvocationUnitBuilder(proguard.evaluation.ExecutingInvocationUnit.Builder)"},{"p":"proguard.evaluation","c":"PartialEvaluator.Builder","l":"setExtraInstructionVisitor(InstructionVisitor)","url":"setExtraInstructionVisitor(proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"setExtraTaintPropagationLocations(Map>)","url":"setExtraTaintPropagationLocations(java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setExtraTaintPropagationLocations(Map>)","url":"setExtraTaintPropagationLocations(java.util.Map)"},{"p":"proguard.io","c":"ClassPathEntry","l":"setFeatureName(String)","url":"setFeatureName(java.lang.String)"},{"p":"proguard.util","c":"FeatureNamed","l":"setFeatureName(String)","url":"setFeatureName(java.lang.String)"},{"p":"proguard.util","c":"SimpleFeatureNamedProcessable","l":"setFeatureName(String)","url":"setFeatureName(java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"setField(T, StateT)","url":"setField(T,StateT)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"setField(T, String, StateT)","url":"setField(T,java.lang.String,StateT)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmForgetfulHeapAbstractState","l":"setField(T, String, StateT)","url":"setField(T,java.lang.String,StateT)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"JvmHeapAbstractState","l":"setField(T, String, StateT)","url":"setField(T,java.lang.String,StateT)"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","c":"JvmShallowHeapAbstractState","l":"setField(T, String, StateT)","url":"setField(T,java.lang.String,StateT)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueAbstractState","l":"setField(T, ValueAbstractState)","url":"setField(T,proguard.analysis.cpa.jvm.domain.value.ValueAbstractState)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"setFieldClassValue(Clazz, FieldrefConstant, ReferenceValue)","url":"setFieldClassValue(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant,proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"setFieldClassValue(Clazz, FieldrefConstant, ReferenceValue)","url":"setFieldClassValue(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant,proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"setFieldClassValue(Clazz, FieldrefConstant, ReferenceValue)","url":"setFieldClassValue(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant,proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"setFieldValue(Clazz, FieldrefConstant, Value)","url":"setFieldValue(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"setFieldValue(Clazz, FieldrefConstant, Value)","url":"setFieldValue(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"setFieldValue(Clazz, FieldrefConstant, Value)","url":"setFieldValue(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant,proguard.evaluation.value.Value)"},{"p":"proguard.io","c":"ClassPathEntry","l":"setFile(File)","url":"setFile(java.io.File)"},{"p":"proguard.io","c":"ClassPathEntry","l":"setFilter(List)","url":"setFilter(java.util.List)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"setFollowerHeapNodeMapAbstractStateFactory(MapAbstractStateFactory>)","url":"setFollowerHeapNodeMapAbstractStateFactory(proguard.analysis.cpa.state.MapAbstractStateFactory)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setFollowerHeapNodeMapAbstractStateFactory(MapAbstractStateFactory>)","url":"setFollowerHeapNodeMapAbstractStateFactory(proguard.analysis.cpa.state.MapAbstractStateFactory)"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"setFrame(Stmt, T[])","url":"setFrame(proguard.dexfile.ir.stmt.Stmt,T[])"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"setHeapModel(HeapModel)","url":"setHeapModel(proguard.analysis.cpa.jvm.state.heap.HeapModel)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setHeapModel(HeapModel)","url":"setHeapModel(proguard.analysis.cpa.jvm.state.heap.HeapModel)"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun.Builder","l":"setHeapModel(HeapModel)","url":"setHeapModel(proguard.analysis.cpa.jvm.state.heap.HeapModel)"},{"p":"proguard.analysis","c":"CallResolver.Builder","l":"setIgnoreExceptions(boolean)"},{"p":"proguard.analysis","c":"CallResolver.Builder","l":"setIncludeSubClasses(boolean)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"setInstance(Value)","url":"setInstance(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"PartialEvaluator.Builder","l":"setInvocationUnit(InvocationUnit)","url":"setInvocationUnit(proguard.evaluation.InvocationUnit)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink.Builder","l":"setIsValidForSource(Predicate)","url":"setIsValidForSource(java.util.function.Predicate)"},{"p":"proguard.io","c":"ClassPathEntry","l":"setJarFilter(List)","url":"setJarFilter(java.util.List)"},{"p":"proguard.io","c":"ClassPathEntry","l":"setJmodFilter(List)","url":"setJmodFilter(java.util.List)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"setMainSignature(MethodSignature)","url":"setMainSignature(proguard.classfile.MethodSignature)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setMainSignature(MethodSignature)","url":"setMainSignature(proguard.classfile.MethodSignature)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun.Builder","l":"setMainSignature(MethodSignature)","url":"setMainSignature(proguard.classfile.MethodSignature)"},{"p":"proguard.util","c":"SettableMatcher","l":"setMatcher(StringMatcher)","url":"setMatcher(proguard.util.StringMatcher)"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun.Builder","l":"setMaxCallStackDepth(int)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"setMaxCallStackDepth(int)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setMaxCallStackDepth(int)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun.Builder","l":"setMaxCallStackDepth(int)"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun.Builder","l":"setMaxCallStackDepth(int)"},{"p":"proguard.analysis","c":"CallResolver.Builder","l":"setMaxPartialEvaluations(int)"},{"p":"proguard.classfile.visitor","c":"VariableMemberVisitor","l":"setMemberVisitor(MemberVisitor)","url":"setMemberVisitor(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setMemoryLocationAbortOperator(AbortOperator)","url":"setMemoryLocationAbortOperator(proguard.analysis.cpa.interfaces.AbortOperator)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"setMethodParameterValue(Clazz, AnyMethodrefConstant, int, Value)","url":"setMethodParameterValue(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant,int,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit","l":"setMethodParameterValue(Clazz, AnyMethodrefConstant, int, Value)","url":"setMethodParameterValue(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant,int,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"setMethodParameterValue(Clazz, AnyMethodrefConstant, int, Value)","url":"setMethodParameterValue(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant,int,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"setMethodParameterValue(Clazz, AnyMethodrefConstant, int, Value)","url":"setMethodParameterValue(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant,int,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"setMethodReturnValue(Clazz, Method, Value)","url":"setMethodReturnValue(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"setMethodReturnValue(Clazz, Method, Value)","url":"setMethodReturnValue(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"setMethodReturnValue(Clazz, Method, Value)","url":"setMethodReturnValue(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.value.Value)"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"setNameAndTypeIndex(int)"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"setNameIndex(int)"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"setOp(Value)","url":"setOp(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Value.E1Expr","l":"setOp(Value)","url":"setOp(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"setOp(Value)","url":"setOp(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.E1Stmt","l":"setOp(Value)","url":"setOp(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"setOp1(Value)","url":"setOp1(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Value.E2Expr","l":"setOp1(Value)","url":"setOp1(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"setOp1(Value)","url":"setOp1(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.E2Stmt","l":"setOp1(Value)","url":"setOp1(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"setOp2(Value)","url":"setOp2(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Value.E2Expr","l":"setOp2(Value)","url":"setOp2(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"setOp2(Value)","url":"setOp2(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.E2Stmt","l":"setOp2(Value)","url":"setOp2(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"setOps(Value[])","url":"setOps(proguard.dexfile.ir.expr.Value[])"},{"p":"proguard.dexfile.ir.expr","c":"Value.EnExpr","l":"setOps(Value[])","url":"setOps(proguard.dexfile.ir.expr.Value[])"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"setOps(Value[])","url":"setOps(proguard.dexfile.ir.expr.Value[])"},{"p":"proguard.io","c":"ClassPathEntry","l":"setOutput(boolean)"},{"p":"proguard.util.kotlin.asserter","c":"AssertUtil","l":"setParentElement(String)","url":"setParentElement(java.lang.String)"},{"p":"proguard.evaluation","c":"PartialEvaluator.Builder","l":"setPrettyPrinting(int)"},{"p":"proguard.analysis.cpa.defaults","c":"SequentialCpaRun.PreviousRunDurationReceiver","l":"setPreviousCpaRunDuration(Duration)","url":"setPreviousCpaRunDuration(java.time.Duration)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"setPrincipalHeapNodeMapAbstractStateFactory(MapAbstractStateFactory>)","url":"setPrincipalHeapNodeMapAbstractStateFactory(proguard.analysis.cpa.state.MapAbstractStateFactory)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setPrincipalHeapNodeMapAbstractStateFactory(MapAbstractStateFactory>)","url":"setPrincipalHeapNodeMapAbstractStateFactory(proguard.analysis.cpa.state.MapAbstractStateFactory)"},{"p":"proguard.util","c":"Processable","l":"setProcessingFlags(int)"},{"p":"proguard.util","c":"SimpleProcessable","l":"setProcessingFlags(int)"},{"p":"proguard.util","c":"Processable","l":"setProcessingInfo(Object)","url":"setProcessingInfo(java.lang.Object)"},{"p":"proguard.util","c":"SimpleProcessable","l":"setProcessingInfo(Object)","url":"setProcessingInfo(java.lang.Object)"},{"p":"proguard.evaluation","c":"TracedVariables","l":"setProducerValue(int, Value)","url":"setProducerValue(int,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"TracedStack","l":"setProducerValue(Value)","url":"setProducerValue(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"TracedVariables","l":"setProducerValue(Value)","url":"setProducerValue(proguard.evaluation.value.Value)"},{"p":"proguard.analysis.cpa.interfaces","c":"ProgramLocationDependent","l":"setProgramLocation(CfaNodeT)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"BamLocationDependentJvmMemoryLocation","l":"setProgramLocation(JvmCfaNode)","url":"setProgramLocation(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"setProgramLocation(JvmCfaNode)","url":"setProgramLocation(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"setProgramLocation(JvmCfaNode)","url":"setProgramLocation(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.analysis.cpa.defaults","c":"BamCpaRun.Builder","l":"setReduceHeap(boolean)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"setReduceHeap(boolean)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setReduceHeap(boolean)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun.Builder","l":"setReduceHeap(boolean)"},{"p":"proguard.analysis.cpa.jvm.util","c":"JvmBamCpaRun.Builder","l":"setReduceHeap(boolean)"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmFrame","l":"setReg(int, V)","url":"setReg(int,V)"},{"p":"proguard.evaluation.executor","c":"MethodExecutionInfo","l":"setResolvedTargetSignature(MethodSignature)","url":"setResolvedTargetSignature(proguard.classfile.MethodSignature)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"setReturnValue(Value)","url":"setReturnValue(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"MethodResult.Builder","l":"setReturnValue(Value)","url":"setReturnValue(proguard.evaluation.value.Value)"},{"p":"proguard.analysis","c":"CallResolver.Builder","l":"setShouldAnalyzeNextCodeAttribute(Supplier)","url":"setShouldAnalyzeNextCodeAttribute(java.util.function.Supplier)"},{"p":"proguard.analysis","c":"CallResolver.Builder","l":"setSkipIncompleteCalls(boolean)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmCfaEdge","l":"setSource(JvmCfaNode)","url":"setSource(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.analysis.cpa.bam","c":"BamLocationDependent","l":"setSourceReachedSet(ProgramLocationDependentReachedSet)","url":"setSourceReachedSet(proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"BamLocationDependentJvmMemoryLocation","l":"setSourceReachedSet(ProgramLocationDependentReachedSet)","url":"setSourceReachedSet(proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"setSourceReachedSet(ProgramLocationDependentReachedSet)","url":"setSourceReachedSet(proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet)"},{"p":"proguard.evaluation","c":"PartialEvaluator.Builder","l":"setStateTracker(PartialEvaluatorStateTracker)","url":"setStateTracker(proguard.evaluation.util.PartialEvaluatorStateTracker)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"setStatic(String, StateT, StateT)","url":"setStatic(java.lang.String,StateT,StateT)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"setStaticFieldMapAbstractStateFactory(MapAbstractStateFactory>)","url":"setStaticFieldMapAbstractStateFactory(proguard.analysis.cpa.state.MapAbstractStateFactory)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setStaticFieldMapAbstractStateFactory(MapAbstractStateFactory>)","url":"setStaticFieldMapAbstractStateFactory(proguard.analysis.cpa.state.MapAbstractStateFactory)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun.Builder","l":"setStaticFields(MapAbstractState)","url":"setStaticFields(proguard.analysis.cpa.defaults.MapAbstractState)"},{"p":"proguard.classfile.constant","c":"Utf8Constant","l":"setString(String)","url":"setString(java.lang.String)"},{"p":"proguard.util","c":"SettableMatcher","l":"SettableMatcher()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setTaintSinks(Collection)","url":"setTaintSinks(java.util.Collection)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"setTaintSources(Set)","url":"setTaintSources(java.util.Set)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setTaintSources(Set)","url":"setTaintSources(java.util.Set)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"setTaintTransformers(Map)","url":"setTaintTransformers(java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setTaintTransformers(Map)","url":"setTaintTransformers(java.util.Map)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink.Builder","l":"setTakesArgs(Set)","url":"setTakesArgs(java.util.Set)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink.Builder","l":"setTakesGlobals(Set)","url":"setTakesGlobals(java.util.Set)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink.Builder","l":"setTakesInstance(boolean)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmCfaEdge","l":"setTarget(JvmCfaNode)","url":"setTarget(proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode)"},{"p":"proguard.dexfile.ir.stmt","c":"GotoStmt","l":"setTarget(LabelStmt)","url":"setTarget(proguard.dexfile.ir.stmt.LabelStmt)"},{"p":"proguard.dexfile.ir.stmt","c":"IfStmt","l":"setTarget(LabelStmt)","url":"setTarget(proguard.dexfile.ir.stmt.LabelStmt)"},{"p":"proguard.dexfile.ir.stmt","c":"JumpStmt","l":"setTarget(LabelStmt)","url":"setTarget(proguard.dexfile.ir.stmt.LabelStmt)"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"setterFlags"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"setterParameters"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"setterParametersAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinValueParameterVisitor)","url":"setterParametersAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"setterSignature"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintMemoryLocationBamCpaRun.Builder","l":"setThreshold(SetAbstractState)","url":"setThreshold(proguard.analysis.cpa.defaults.SetAbstractState)"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmFrame","l":"setTmp(V)"},{"p":"proguard.evaluation","c":"Stack","l":"setTop(int, Value)","url":"setTop(int,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"setTraceValue(Value)","url":"setTraceValue(proguard.evaluation.value.Value)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun.Builder","l":"setTransferRelationFactory(JvmValueBamCpaRun.TransferRelationFactory)","url":"setTransferRelationFactory(proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun.TransferRelationFactory)"},{"p":"proguard.evaluation","c":"MethodResult.Builder","l":"setUpdatedInstance(ReferenceValue)","url":"setUpdatedInstance(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation","c":"MethodResult.Builder","l":"setUpdatedParameters(List)","url":"setUpdatedParameters(java.util.List)"},{"p":"proguard.analysis","c":"CallResolver.Builder","l":"setUseDominatorAnalysis(boolean)"},{"p":"proguard.classfile.constant","c":"DoubleConstant","l":"setValue(double)"},{"p":"proguard.classfile.constant","c":"FloatConstant","l":"setValue(float)"},{"p":"proguard.classfile.constant","c":"IntegerConstant","l":"setValue(int)"},{"p":"proguard.classfile.constant","c":"LongConstant","l":"setValue(long)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"ValueAbstractState","l":"setValue(Value)","url":"setValue(proguard.evaluation.value.Value)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueBamCpaRun.Builder","l":"setValueFactory(ValueFactory)","url":"setValueFactory(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.evaluation","c":"PartialEvaluator.Builder","l":"setValueFactory(ValueFactory)","url":"setValueFactory(proguard.evaluation.value.ValueFactory)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"setVariable(int, StateT, StateT)","url":"setVariable(int,StateT,StateT)"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmFrameAbstractState","l":"setVariable(int, StateT, StateT)","url":"setVariable(int,StateT,StateT)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueAbstractState","l":"setVariable(int, ValueAbstractState, ValueAbstractState)","url":"setVariable(int,proguard.analysis.cpa.jvm.domain.value.ValueAbstractState,proguard.analysis.cpa.jvm.domain.value.ValueAbstractState)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"setVariableMap(int[])"},{"p":"proguard.io","c":"ClassPathEntry","l":"setWarFilter(List)","url":"setWarFilter(java.util.List)"},{"p":"proguard.io","c":"ClassPathEntry","l":"setZipFilter(List)","url":"setZipFilter(java.util.List)"},{"p":"proguard.dexfile.reader","c":"Op","l":"SGET"},{"p":"proguard.dexfile.reader","c":"Op","l":"SGET_BOOLEAN"},{"p":"proguard.dexfile.reader","c":"Op","l":"SGET_BYTE"},{"p":"proguard.dexfile.reader","c":"Op","l":"SGET_CHAR"},{"p":"proguard.dexfile.reader","c":"Op","l":"SGET_OBJECT"},{"p":"proguard.dexfile.reader","c":"Op","l":"SGET_SHORT"},{"p":"proguard.dexfile.reader","c":"Op","l":"SGET_WIDE"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"HeapModel","l":"SHALLOW"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"SHIFT_LEFT"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"SHIFT_LEFT"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"SHIFT_RIGHT"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"SHIFT_RIGHT"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeft(IntegerValue)","url":"shiftLeft(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"shiftLeft(IntegerValue)","url":"shiftLeft(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftLeft(IntegerValue)","url":"shiftLeft(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"shiftLeft(IntegerValue)","url":"shiftLeft(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftLeft(IntegerValue)","url":"shiftLeft(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftLeft(IntegerValue)","url":"shiftLeft(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"shiftLeft(IntegerValue)","url":"shiftLeft(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"shiftLeft(IntegerValue)","url":"shiftLeft(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"shiftLeft(IntegerValue)","url":"shiftLeft(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeft(ParticularIntegerValue)","url":"shiftLeft(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"shiftLeft(ParticularIntegerValue)","url":"shiftLeft(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftLeft(ParticularIntegerValue)","url":"shiftLeft(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"shiftLeft(ParticularIntegerValue)","url":"shiftLeft(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftLeft(ParticularIntegerValue)","url":"shiftLeft(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeft(RangeIntegerValue)","url":"shiftLeft(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftLeft(RangeIntegerValue)","url":"shiftLeft(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftLeft(RangeIntegerValue)","url":"shiftLeft(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftLeft(RangeIntegerValue)","url":"shiftLeft(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeft(SpecificIntegerValue)","url":"shiftLeft(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftLeft(SpecificIntegerValue)","url":"shiftLeft(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"shiftLeft(SpecificLongValue)","url":"shiftLeft(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"shiftLeft(SpecificLongValue)","url":"shiftLeft(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeft(UnknownIntegerValue)","url":"shiftLeft(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeftOf(IntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftLeftOf(IntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftLeftOf(IntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftLeftOf(IntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"shiftLeftOf(IntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeftOf(LongValue)","url":"shiftLeftOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftLeftOf(LongValue)","url":"shiftLeftOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftLeftOf(LongValue)","url":"shiftLeftOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftLeftOf(LongValue)","url":"shiftLeftOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"shiftLeftOf(LongValue)","url":"shiftLeftOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeftOf(ParticularIntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftLeftOf(ParticularIntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftLeftOf(ParticularIntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeftOf(ParticularLongValue)","url":"shiftLeftOf(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftLeftOf(ParticularLongValue)","url":"shiftLeftOf(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftLeftOf(ParticularLongValue)","url":"shiftLeftOf(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeftOf(RangeIntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftLeftOf(RangeIntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftLeftOf(RangeIntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftLeftOf(RangeIntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeftOf(SpecificIntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftLeftOf(SpecificIntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeftOf(SpecificLongValue)","url":"shiftLeftOf(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftLeftOf(SpecificLongValue)","url":"shiftLeftOf(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeftOf(UnknownIntegerValue)","url":"shiftLeftOf(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftLeftOf(UnknownLongValue)","url":"shiftLeftOf(proguard.evaluation.value.UnknownLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRight(IntegerValue)","url":"shiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"shiftRight(IntegerValue)","url":"shiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftRight(IntegerValue)","url":"shiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"shiftRight(IntegerValue)","url":"shiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftRight(IntegerValue)","url":"shiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftRight(IntegerValue)","url":"shiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"shiftRight(IntegerValue)","url":"shiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"shiftRight(IntegerValue)","url":"shiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"shiftRight(IntegerValue)","url":"shiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRight(ParticularIntegerValue)","url":"shiftRight(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"shiftRight(ParticularIntegerValue)","url":"shiftRight(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftRight(ParticularIntegerValue)","url":"shiftRight(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"shiftRight(ParticularIntegerValue)","url":"shiftRight(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftRight(ParticularIntegerValue)","url":"shiftRight(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRight(RangeIntegerValue)","url":"shiftRight(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftRight(RangeIntegerValue)","url":"shiftRight(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftRight(RangeIntegerValue)","url":"shiftRight(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftRight(RangeIntegerValue)","url":"shiftRight(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRight(SpecificIntegerValue)","url":"shiftRight(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftRight(SpecificIntegerValue)","url":"shiftRight(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"shiftRight(SpecificLongValue)","url":"shiftRight(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"shiftRight(SpecificLongValue)","url":"shiftRight(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRight(UnknownIntegerValue)","url":"shiftRight(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRightOf(IntegerValue)","url":"shiftRightOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftRightOf(IntegerValue)","url":"shiftRightOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftRightOf(IntegerValue)","url":"shiftRightOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftRightOf(IntegerValue)","url":"shiftRightOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"shiftRightOf(IntegerValue)","url":"shiftRightOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRightOf(LongValue)","url":"shiftRightOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftRightOf(LongValue)","url":"shiftRightOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftRightOf(LongValue)","url":"shiftRightOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftRightOf(LongValue)","url":"shiftRightOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"shiftRightOf(LongValue)","url":"shiftRightOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRightOf(ParticularIntegerValue)","url":"shiftRightOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftRightOf(ParticularIntegerValue)","url":"shiftRightOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftRightOf(ParticularIntegerValue)","url":"shiftRightOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRightOf(ParticularLongValue)","url":"shiftRightOf(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftRightOf(ParticularLongValue)","url":"shiftRightOf(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftRightOf(ParticularLongValue)","url":"shiftRightOf(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRightOf(RangeIntegerValue)","url":"shiftRightOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"shiftRightOf(RangeIntegerValue)","url":"shiftRightOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"shiftRightOf(RangeIntegerValue)","url":"shiftRightOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftRightOf(RangeIntegerValue)","url":"shiftRightOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRightOf(SpecificIntegerValue)","url":"shiftRightOf(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftRightOf(SpecificIntegerValue)","url":"shiftRightOf(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRightOf(SpecificLongValue)","url":"shiftRightOf(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"shiftRightOf(SpecificLongValue)","url":"shiftRightOf(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRightOf(UnknownIntegerValue)","url":"shiftRightOf(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"shiftRightOf(UnknownLongValue)","url":"shiftRightOf(proguard.evaluation.value.UnknownLongValue)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"SHL"},{"p":"proguard.dexfile.reader","c":"Op","l":"SHL_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"SHL_INT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"SHL_INT_LIT8"},{"p":"proguard.dexfile.reader","c":"Op","l":"SHL_LONG"},{"p":"proguard.dexfile.reader","c":"Op","l":"SHL_LONG_2ADDR"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"SHORT"},{"p":"proguard.classfile","c":"TypeConstants","l":"SHORT"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"shortKotlinNestedClassName(String, String, Clazz)","url":"shortKotlinNestedClassName(java.lang.String,java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ShortValue","l":"ShortValue(short)","url":"%3Cinit%3E(short)"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"shouldCollapse"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"SHR"},{"p":"proguard.dexfile.reader","c":"Op","l":"SHR_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"SHR_INT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"SHR_INT_LIT8"},{"p":"proguard.dexfile.reader","c":"Op","l":"SHR_LONG"},{"p":"proguard.dexfile.reader","c":"Op","l":"SHR_LONG_2ADDR"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor.Label","l":"shrink()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer.Label","l":"shrink()"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"shrink()"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"shrink()"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"shrink()"},{"p":"proguard.classfile.instruction","c":"LookUpSwitchInstruction","l":"shrink()"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"shrink()"},{"p":"proguard.classfile.instruction","c":"TableSwitchInstruction","l":"shrink()"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"shrink()"},{"p":"proguard.dexfile.converter","c":"Dex2Pro","l":"shutdown(int)"},{"p":"proguard.io","c":"ParallelDexClassReader","l":"shutdown(int)"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSink","l":"signature"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSource","l":"signature"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState.StackEntry","l":"signature"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink.Builder","l":"signature"},{"p":"proguard.analysis.datastructure","c":"CodeLocation","l":"signature"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"signature"},{"p":"proguard.dexfile.ir","c":"LocalVar","l":"signature"},{"p":"proguard.dexfile.ir.expr","c":"Local","l":"signature"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.StartLocalNode","l":"signature"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"SIGNATURE"},{"p":"proguard.classfile","c":"Signature","l":"Signature(String, int)","url":"%3Cinit%3E(java.lang.String,int)"},{"p":"proguard.classfile.visitor","c":"SignatureAdapter","l":"SignatureAdapter(Consumer)","url":"%3Cinit%3E(java.util.function.Consumer)"},{"p":"proguard.classfile.attribute","c":"SignatureAttribute","l":"SignatureAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"SignatureAttribute","l":"SignatureAttribute(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.classfile.visitor","c":"SignatureAttributeReferencedClassVisitor","l":"SignatureAttributeReferencedClassVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.io","c":"SignedJarWriter","l":"SignedJarWriter(KeyStore.PrivateKeyEntry, DataEntryWriter)","url":"%3Cinit%3E(java.security.KeyStore.PrivateKeyEntry,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"SignedJarWriter","l":"SignedJarWriter(KeyStore.PrivateKeyEntry, String[], String, DataEntryWriter)","url":"%3Cinit%3E(java.security.KeyStore.PrivateKeyEntry,java.lang.String[],java.lang.String,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"SignedJarWriter","l":"SignedJarWriter(KeyStore.PrivateKeyEntry, String[], String, int[], DataEntryWriter)","url":"%3Cinit%3E(java.security.KeyStore.PrivateKeyEntry,java.lang.String[],java.lang.String,int[],proguard.io.DataEntryWriter)"},{"p":"proguard.classfile.visitor","c":"SimilarMemberVisitor","l":"SimilarMemberVisitor(boolean, boolean, boolean, boolean, MemberVisitor)","url":"%3Cinit%3E(boolean,boolean,boolean,boolean,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"SimilarMemberVisitor","l":"SimilarMemberVisitor(Clazz, boolean, boolean, boolean, boolean, MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.Clazz,boolean,boolean,boolean,boolean,proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.visitor","c":"SimpleClassPrinter","l":"SimpleClassPrinter(boolean, PrintWriter)","url":"%3Cinit%3E(boolean,java.io.PrintWriter)"},{"p":"proguard.classfile.visitor","c":"SimpleClassPrinter","l":"SimpleClassPrinter(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.analysis.cpa.defaults","c":"SimpleCpa","l":"SimpleCpa(AbstractDomain, TransferRelation, MergeOperator, StopOperator, PrecisionAdjustment)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.AbstractDomain,proguard.analysis.cpa.interfaces.TransferRelation,proguard.analysis.cpa.interfaces.MergeOperator,proguard.analysis.cpa.interfaces.StopOperator,proguard.analysis.cpa.interfaces.PrecisionAdjustment)"},{"p":"proguard.analysis.cpa.defaults","c":"SimpleCpa","l":"SimpleCpa(AbstractDomain, TransferRelation, MergeOperator, StopOperator)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.AbstractDomain,proguard.analysis.cpa.interfaces.TransferRelation,proguard.analysis.cpa.interfaces.MergeOperator,proguard.analysis.cpa.interfaces.StopOperator)"},{"p":"proguard.util","c":"SimpleFeatureNamedProcessable","l":"SimpleFeatureNamedProcessable()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"SimpleFeatureNamedProcessable","l":"SimpleFeatureNamedProcessable(String, int, Object)","url":"%3Cinit%3E(java.lang.String,int,java.lang.Object)"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"SimpleInstruction()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"SimpleInstruction(byte, int)","url":"%3Cinit%3E(byte,int)"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"SimpleInstruction(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveAnalyze","l":"SimpleLiveAnalyze(IrMethod, boolean)","url":"%3Cinit%3E(proguard.dexfile.ir.IrMethod,boolean)"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveValue","l":"SimpleLiveValue()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"SimpleProcessable","l":"SimpleProcessable()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"SimpleProcessable","l":"SimpleProcessable(int, Object)","url":"%3Cinit%3E(int,java.lang.Object)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"SimplifiedInvocationUnit()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"SingleFunctionParser","l":"SingleFunctionParser(StringParser, WildcardManager)","url":"%3Cinit%3E(proguard.util.StringParser,proguard.util.WildcardManager)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"SingleTimeAttributeVisitor(AttributeVisitor)","url":"%3Cinit%3E(proguard.classfile.attribute.visitor.AttributeVisitor)"},{"p":"proguard.classfile.visitor","c":"SingleTimeClassVisitor","l":"SingleTimeClassVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.analysis.cpa.defaults","c":"SingleWrapperTransferRelation","l":"SingleWrapperTransferRelation(TransferRelation)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.TransferRelation)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"sipush(int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"sipush(int)"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"size"},{"p":"proguard.evaluation","c":"Variables","l":"size"},{"p":"proguard.analysis.cpa.bam","c":"BamCache","l":"size()"},{"p":"proguard.analysis.cpa.bam","c":"BamCacheImpl","l":"size()"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWaitlist","l":"size()"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"size()"},{"p":"proguard.analysis.cpa.interfaces","c":"Waitlist","l":"size()"},{"p":"proguard.classfile","c":"ClassPool","l":"size()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"size()"},{"p":"proguard.evaluation","c":"Stack","l":"size()"},{"p":"proguard.evaluation","c":"Variables","l":"size()"},{"p":"proguard.io","c":"ClassPath","l":"size()"},{"p":"proguard.io","c":"ZipOutput","l":"size()"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"size()"},{"p":"proguard.util","c":"CircularIntBuffer","l":"size()"},{"p":"proguard.util","c":"MultiValueMap","l":"size()"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"SKIP_ANNOTATION"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"SKIP_BROKEN_DEBUG_INFO"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"SKIP_CODE"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"SKIP_DEBUG"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"SKIP_EXCEPTION"},{"p":"proguard.dexfile.reader","c":"DexFileReader","l":"SKIP_FIELD_CONSTANT"},{"p":"proguard.io","c":"RuntimeDataInput","l":"skipBytes(int)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"skipInstructionBlock(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int)","url":"skipInstructionBlock(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"skipInstructionBlock(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int)","url":"skipInstructionBlock(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"skipInstructionBlock(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int)","url":"skipInstructionBlock(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.classfile.attribute","c":"ExtendedLineNumberInfo","l":"source"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"source"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"SOURCE_DEBUG_EXTENSION"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"SOURCE_DIR"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"SOURCE_FILE"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"SOURCE_I_D"},{"p":"proguard.classfile.attribute","c":"SourceDebugExtensionAttribute","l":"SourceDebugExtensionAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"SourceDebugExtensionAttribute","l":"SourceDebugExtensionAttribute(int, int, byte[])","url":"%3Cinit%3E(int,int,byte[])"},{"p":"proguard.classfile.attribute","c":"SourceDirAttribute","l":"SourceDirAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"SourceDirAttribute","l":"SourceDirAttribute(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.classfile.attribute","c":"SourceFileAttribute","l":"SourceFileAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"SourceFileAttribute","l":"SourceFileAttribute(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.dexfile.reader","c":"Op","l":"SPARSE_SWITCH"},{"p":"proguard.dexfile.reader.node.insn","c":"SparseSwitchStmtNode","l":"SparseSwitchStmtNode(Op, int, int[], DexLabel[])","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int,int[],proguard.dexfile.reader.DexLabel[])"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"SPECIAL_CLASS_CHARACTER"},{"p":"proguard.classfile","c":"TypeConstants","l":"SPECIAL_CLASS_CHARACTER"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"SPECIAL_MEMBER_SEPARATOR"},{"p":"proguard.classfile","c":"TypeConstants","l":"SPECIAL_MEMBER_SEPARATOR"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"SpecificDoubleValue()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"SpecificFloatValue()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"SpecificIntegerValue()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"SpecificLongValue()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWaitlist","l":"spliterator()"},{"p":"proguard.dexfile.reader","c":"Op","l":"SPUT"},{"p":"proguard.dexfile.reader","c":"Op","l":"SPUT_BOOLEAN"},{"p":"proguard.dexfile.reader","c":"Op","l":"SPUT_BYTE"},{"p":"proguard.dexfile.reader","c":"Op","l":"SPUT_CHAR"},{"p":"proguard.dexfile.reader","c":"Op","l":"SPUT_OBJECT"},{"p":"proguard.dexfile.reader","c":"Op","l":"SPUT_SHORT"},{"p":"proguard.dexfile.reader","c":"Op","l":"SPUT_WIDE"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt2R1NNode","l":"srcReg"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"st"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"stack"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"stack"},{"p":"proguard.exception","c":"ErrorId","l":"STACK_CATEGORY_ONE"},{"p":"proguard.exception","c":"ErrorId","l":"STACK_GENERALIZATION"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"STACK_MAP"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"STACK_MAP_TABLE"},{"p":"proguard.exception","c":"ErrorId","l":"STACK_TYPE"},{"p":"proguard.evaluation","c":"Stack","l":"Stack(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.evaluation","c":"Stack","l":"Stack(Stack)","url":"%3Cinit%3E(proguard.evaluation.Stack)"},{"p":"proguard.analysis.cpa.defaults","c":"StackAbstractState","l":"StackAbstractState()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"DoubleType","l":"stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"stackAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"FloatType","l":"stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"stackAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"IntegerType","l":"stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"stackAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"LongType","l":"stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"stackAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"NullType","l":"stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"stackAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"ObjectType","l":"stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"stackAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"TopType","l":"stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"stackAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedThisType","l":"stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"stackAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedType","l":"stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"stackAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"stackAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"stackAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"stackAccept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"stackAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.evaluation.exception","c":"StackCategoryOneException","l":"StackCategoryOneException(Value, Throwable)","url":"%3Cinit%3E(proguard.evaluation.value.Value,java.lang.Throwable)"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"stackCount"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState.StackEntry","l":"StackEntry(MethodSignature, ProgramLocationDependentReachedSet, AbstractState)","url":"%3Cinit%3E(proguard.classfile.MethodSignature,proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet,proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"stackEntryIndexBefore(Clazz, int)","url":"stackEntryIndexBefore(proguard.classfile.Clazz,int)"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"stackEntryIndexBefore(Clazz, int)","url":"stackEntryIndexBefore(proguard.classfile.Clazz,int)"},{"p":"proguard.evaluation.exception","c":"StackGeneralizationException","l":"StackGeneralizationException(Clazz, Method, Throwable, TracedStack, TracedStack)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.Method,java.lang.Throwable,proguard.evaluation.TracedStack,proguard.evaluation.TracedStack)"},{"p":"proguard.evaluation.exception","c":"StackGeneralizationException","l":"StackGeneralizationException(Throwable, TracedStack, TracedStack)","url":"%3Cinit%3E(java.lang.Throwable,proguard.evaluation.TracedStack,proguard.evaluation.TracedStack)"},{"p":"proguard.classfile.attribute.preverification","c":"SameOneFrame","l":"stackItem"},{"p":"proguard.classfile.attribute.preverification","c":"SameOneFrame","l":"stackItemAccept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"stackItemAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapAttribute","l":"StackMapAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapAttribute","l":"StackMapAttribute(FullFrame[])","url":"%3Cinit%3E(proguard.classfile.attribute.preverification.FullFrame[])"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapAttribute","l":"StackMapAttribute(int, FullFrame[])","url":"%3Cinit%3E(int,proguard.classfile.attribute.preverification.FullFrame[])"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"StackMapFrame()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapAttribute","l":"stackMapFrames"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapTableAttribute","l":"stackMapFrames"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapAttribute","l":"stackMapFramesAccept(Clazz, Method, CodeAttribute, StackMapFrameVisitor)","url":"stackMapFramesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapTableAttribute","l":"stackMapFramesAccept(Clazz, Method, CodeAttribute, StackMapFrameVisitor)","url":"stackMapFramesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.visitor.StackMapFrameVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapTableAttribute","l":"StackMapTableAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapTableAttribute","l":"StackMapTableAttribute(int, StackMapFrame[])","url":"%3Cinit%3E(int,proguard.classfile.attribute.preverification.StackMapFrame[])"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapTableAttribute","l":"StackMapTableAttribute(StackMapFrame[])","url":"%3Cinit%3E(proguard.classfile.attribute.preverification.StackMapFrame[])"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"stackPopCount(Clazz)","url":"stackPopCount(proguard.classfile.Clazz)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"stackPopCount(Clazz)","url":"stackPopCount(proguard.classfile.Clazz)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"stackPushCount(Clazz)","url":"stackPushCount(proguard.classfile.Clazz)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"stackPushCount(Clazz)","url":"stackPushCount(proguard.classfile.Clazz)"},{"p":"proguard.classfile.attribute.visitor","c":"StackSizeComputer","l":"StackSizeComputer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"StackSizeUpdater","l":"StackSizeUpdater()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.exception","c":"StackTypeException","l":"StackTypeException(Value, String, Throwable)","url":"%3Cinit%3E(proguard.evaluation.value.Value,java.lang.String,java.lang.Throwable)"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"STANDARD_NATIVE_LIBRARY_PATH"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"starProjection()"},{"p":"proguard.dexfile.ir","c":"LocalVar","l":"start"},{"p":"proguard.dexfile.ir","c":"Trap","l":"start"},{"p":"proguard.dexfile.reader.node","c":"TryCatchNode","l":"start"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"startBranchCodeBlockEvaluation(List)","url":"startBranchCodeBlockEvaluation(java.util.List)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"startBranchCodeBlockEvaluation(List)","url":"startBranchCodeBlockEvaluation(java.util.List)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"startCodeAttribute(Clazz, Method, CodeAttribute, Variables)","url":"startCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.Variables)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"startCodeAttribute(Clazz, Method, CodeAttribute, Variables)","url":"startCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.Variables)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"startCodeAttribute(Clazz, Method, CodeAttribute, Variables)","url":"startCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.Variables)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"startExceptionHandlingForBlock(Clazz, Method, int, int)","url":"startExceptionHandlingForBlock(proguard.classfile.Clazz,proguard.classfile.Method,int,int)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"startExceptionHandlingForBlock(Clazz, Method, int, int)","url":"startExceptionHandlingForBlock(proguard.classfile.Clazz,proguard.classfile.Method,int,int)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"startInstructionBlock(Clazz, Method, CodeAttribute, TracedVariables, TracedStack, int)","url":"startInstructionBlock(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"startInstructionBlock(Clazz, Method, CodeAttribute, TracedVariables, TracedStack, int)","url":"startInstructionBlock(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"startInstructionBlock(Clazz, Method, CodeAttribute, TracedVariables, TracedStack, int)","url":"startInstructionBlock(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"startInstructionEvaluation(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int)","url":"startInstructionEvaluation(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"startInstructionEvaluation(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int)","url":"startInstructionEvaluation(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"startInstructionEvaluation(Clazz, Method, int, Instruction, TracedVariables, TracedStack, int)","url":"startInstructionEvaluation(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.instruction.Instruction,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.StartLocalNode","l":"StartLocalNode(DexLabel, int, String, String, String)","url":"%3Cinit%3E(proguard.dexfile.reader.DexLabel,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.evaluation.util","c":"DebugPrinter","l":"startSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int)","url":"startSubroutine(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int,int)"},{"p":"proguard.evaluation.util","c":"PartialEvaluatorStateTracker","l":"startSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int)","url":"startSubroutine(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int,int)"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"startSubroutine(Clazz, Method, TracedVariables, TracedStack, int, int)","url":"startSubroutine(proguard.classfile.Clazz,proguard.classfile.Method,proguard.evaluation.TracedVariables,proguard.evaluation.TracedStack,int,int)"},{"p":"proguard.dexfile.ir.ts","c":"StatedTransformer","l":"StatedTransformer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"AccessConstants","l":"STATIC"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"STATIC"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"STATIC_FIELD"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"STATIC_GET"},{"p":"proguard.classfile","c":"AccessConstants","l":"STATIC_PHASE"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"STATIC_PHASE"},{"p":"proguard.dexfile.reader","c":"MethodHandle","l":"STATIC_PUT"},{"p":"proguard.dexfile.ir.expr","c":"StaticFieldExpr","l":"StaticFieldExpr(String, String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"staticFieldMapAbstractStateFactory"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"staticFields"},{"p":"proguard.analysis.cpa.defaults","c":"StaticPrecisionAdjustment","l":"StaticPrecisionAdjustment()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"Stmt(Stmt.ST, ET)","url":"%3Cinit%3E(proguard.dexfile.ir.stmt.Stmt.ST,proguard.dexfile.ir.ET)"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt0RNode","l":"Stmt0RNode(Op)","url":"%3Cinit%3E(proguard.dexfile.reader.Op)"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt1RNode","l":"Stmt1RNode(Op, int)","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int)"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt2R1NNode","l":"Stmt2R1NNode(Op, int, int, int)","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int,int,int)"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt2RNode","l":"Stmt2RNode(Op, int, int)","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int,int)"},{"p":"proguard.dexfile.reader.node.insn","c":"Stmt3RNode","l":"Stmt3RNode(Op, int, int, int)","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int,int,int)"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"StmtList()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir","c":"IrMethod","l":"stmts"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"stmts"},{"p":"proguard.dexfile.ir","c":"StmtSearcher","l":"StmtSearcher()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir","c":"StmtTraveler","l":"StmtTraveler()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.defaults","c":"StopAlwaysOperator","l":"stop(AbstractState, Collection, Precision)","url":"stop(proguard.analysis.cpa.interfaces.AbstractState,java.util.Collection,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.defaults","c":"StopContainedOperator","l":"stop(AbstractState, Collection, Precision)","url":"stop(proguard.analysis.cpa.interfaces.AbstractState,java.util.Collection,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.defaults","c":"StopJoinOperator","l":"stop(AbstractState, Collection, Precision)","url":"stop(proguard.analysis.cpa.interfaces.AbstractState,java.util.Collection,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.defaults","c":"StopNeverOperator","l":"stop(AbstractState, Collection, Precision)","url":"stop(proguard.analysis.cpa.interfaces.AbstractState,java.util.Collection,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.defaults","c":"StopSepOperator","l":"stop(AbstractState, Collection, Precision)","url":"stop(proguard.analysis.cpa.interfaces.AbstractState,java.util.Collection,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.interfaces","c":"StopOperator","l":"stop(AbstractState, Collection, Precision)","url":"stop(proguard.analysis.cpa.interfaces.AbstractState,java.util.Collection,proguard.analysis.cpa.interfaces.Precision)"},{"p":"proguard.analysis.cpa.defaults","c":"StopAlwaysOperator","l":"StopAlwaysOperator()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"stopAnalysisAfterNEvaluations(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator.Builder","l":"stopAnalysisAfterNEvaluations(int)"},{"p":"proguard.analysis.cpa.defaults","c":"StopContainedOperator","l":"StopContainedOperator()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.defaults","c":"StopJoinOperator","l":"StopJoinOperator(AbstractDomain)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.AbstractDomain)"},{"p":"proguard.analysis.cpa.defaults","c":"StopNeverOperator","l":"StopNeverOperator()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.defaults","c":"StopSepOperator","l":"StopSepOperator(AbstractDomain)","url":"%3Cinit%3E(proguard.analysis.cpa.interfaces.AbstractDomain)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"store(int, char)","url":"store(int,char)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"store(int, char)","url":"store(int,char)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"store(int, String)","url":"store(int,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"store(int, String)","url":"store(int,java.lang.String)"},{"p":"proguard.evaluation","c":"TracedVariables","l":"store(int, Value)","url":"store(int,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"Variables","l":"store(int, Value)","url":"store(int,proguard.evaluation.value.Value)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"storeToArray(String)","url":"storeToArray(java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"storeToArray(String)","url":"storeToArray(java.lang.String)"},{"p":"proguard.io","c":"StreamingDataEntry","l":"StreamingDataEntry(String, InputStream)","url":"%3Cinit%3E(java.lang.String,java.io.InputStream)"},{"p":"proguard.classfile","c":"AccessConstants","l":"STRICT"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"STRICT"},{"p":"proguard.io","c":"DataEntryToken","l":"string"},{"p":"proguard.classfile.constant","c":"Constant","l":"STRING"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"STRING_A_LENGTH"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"STRING_A_STRING"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"STRING_B_STRING"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"StringConstant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"StringConstant(int, Clazz, Member, int, ResourceFile)","url":"%3Cinit%3E(int,proguard.classfile.Clazz,proguard.classfile.Member,int,proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"StringConstant(int, Clazz, Member)","url":"%3Cinit%3E(int,proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"StringConstant(int, ResourceFile)","url":"%3Cinit%3E(int,proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.util.renderer.core","c":"StringListWriter","l":"StringListWriter(List)","url":"%3Cinit%3E(java.util.List)"},{"p":"proguard.util","c":"StringMatcher","l":"StringMatcher()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"StringReferenceInitializer","l":"StringReferenceInitializer(ClassPool, ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool,proguard.classfile.ClassPool)"},{"p":"proguard.evaluation.executor","c":"StringReflectionExecutor","l":"StringReflectionExecutor(ClassPool)","url":"%3Cinit%3E(proguard.classfile.ClassPool)"},{"p":"proguard.classfile.util","c":"StringSharer","l":"StringSharer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"StringSharer","l":"StringSharer(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.evaluation.value","c":"ReflectiveMethodCallUtil","l":"stringtypesToClasses(String)","url":"stringtypesToClasses(java.lang.String)"},{"p":"proguard.util","c":"StringUtil","l":"StringUtil()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.StringValue","l":"StringValue(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"SUB"},{"p":"proguard.dexfile.reader","c":"Op","l":"SUB_DOUBLE"},{"p":"proguard.dexfile.reader","c":"Op","l":"SUB_DOUBLE_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"SUB_FLOAT"},{"p":"proguard.dexfile.reader","c":"Op","l":"SUB_FLOAT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"SUB_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"SUB_INT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"SUB_LONG"},{"p":"proguard.dexfile.reader","c":"Op","l":"SUB_LONG_2ADDR"},{"p":"proguard.classfile.editor","c":"SubclassAdder","l":"SubclassAdder(Clazz)","url":"%3Cinit%3E(proguard.classfile.Clazz)"},{"p":"proguard.classfile","c":"LibraryClass","l":"subClassCount"},{"p":"proguard.classfile","c":"ProgramClass","l":"subClassCount"},{"p":"proguard.classfile","c":"LibraryClass","l":"subClasses"},{"p":"proguard.classfile","c":"ProgramClass","l":"subClasses"},{"p":"proguard.classfile","c":"Clazz","l":"subclassesAccept(ClassVisitor)","url":"subclassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"subclassesAccept(ClassVisitor)","url":"subclassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"subclassesAccept(ClassVisitor)","url":"subclassesAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.visitor","c":"SubclassFilter","l":"SubclassFilter(Clazz, ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.Clazz,proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.editor","c":"SubclassRemover","l":"SubclassRemover(Clazz)","url":"%3Cinit%3E(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"SubclassToAdder","l":"SubclassToAdder(Clazz)","url":"%3Cinit%3E(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"SubclassTraveler","l":"SubclassTraveler(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"subroutineEnd(int)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"subroutineEnd(int)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"subroutineStart(int)"},{"p":"proguard.evaluation.value","c":"CompositeDoubleValue","l":"SUBTRACT"},{"p":"proguard.evaluation.value","c":"CompositeFloatValue","l":"SUBTRACT"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"SUBTRACT"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"SUBTRACT"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"subtract(DoubleValue)","url":"subtract(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"subtract(DoubleValue)","url":"subtract(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"subtract(DoubleValue)","url":"subtract(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"subtract(DoubleValue)","url":"subtract(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"subtract(FloatValue)","url":"subtract(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"subtract(FloatValue)","url":"subtract(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"subtract(FloatValue)","url":"subtract(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"subtract(FloatValue)","url":"subtract(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"subtract(IntegerValue)","url":"subtract(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"subtract(IntegerValue)","url":"subtract(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"subtract(IntegerValue)","url":"subtract(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"subtract(IntegerValue)","url":"subtract(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"subtract(IntegerValue)","url":"subtract(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"subtract(LongValue)","url":"subtract(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"subtract(LongValue)","url":"subtract(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"subtract(LongValue)","url":"subtract(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"subtract(LongValue)","url":"subtract(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"subtract(ParticularDoubleValue)","url":"subtract(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"subtract(ParticularDoubleValue)","url":"subtract(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"subtract(ParticularFloatValue)","url":"subtract(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"subtract(ParticularFloatValue)","url":"subtract(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"subtract(ParticularIntegerValue)","url":"subtract(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"subtract(ParticularIntegerValue)","url":"subtract(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"subtract(ParticularIntegerValue)","url":"subtract(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"subtract(ParticularLongValue)","url":"subtract(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"subtract(ParticularLongValue)","url":"subtract(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"subtract(RangeIntegerValue)","url":"subtract(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"subtract(RangeIntegerValue)","url":"subtract(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"subtract(RangeIntegerValue)","url":"subtract(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"subtract(RangeIntegerValue)","url":"subtract(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"subtract(SpecificDoubleValue)","url":"subtract(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"subtract(SpecificDoubleValue)","url":"subtract(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"subtract(SpecificFloatValue)","url":"subtract(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"subtract(SpecificFloatValue)","url":"subtract(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"subtract(SpecificIntegerValue)","url":"subtract(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"subtract(SpecificIntegerValue)","url":"subtract(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"subtract(SpecificLongValue)","url":"subtract(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"subtract(SpecificLongValue)","url":"subtract(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"subtract(UnknownIntegerValue)","url":"subtract(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"subtractFrom(DoubleValue)","url":"subtractFrom(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"subtractFrom(DoubleValue)","url":"subtractFrom(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"subtractFrom(DoubleValue)","url":"subtractFrom(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"subtractFrom(DoubleValue)","url":"subtractFrom(proguard.evaluation.value.DoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"subtractFrom(FloatValue)","url":"subtractFrom(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"subtractFrom(FloatValue)","url":"subtractFrom(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"subtractFrom(FloatValue)","url":"subtractFrom(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"subtractFrom(FloatValue)","url":"subtractFrom(proguard.evaluation.value.FloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"subtractFrom(IntegerValue)","url":"subtractFrom(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"subtractFrom(IntegerValue)","url":"subtractFrom(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"subtractFrom(IntegerValue)","url":"subtractFrom(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"subtractFrom(IntegerValue)","url":"subtractFrom(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"subtractFrom(IntegerValue)","url":"subtractFrom(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"subtractFrom(LongValue)","url":"subtractFrom(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"subtractFrom(LongValue)","url":"subtractFrom(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"subtractFrom(LongValue)","url":"subtractFrom(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"subtractFrom(LongValue)","url":"subtractFrom(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"subtractFrom(ParticularDoubleValue)","url":"subtractFrom(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"subtractFrom(ParticularDoubleValue)","url":"subtractFrom(proguard.evaluation.value.ParticularDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"subtractFrom(ParticularFloatValue)","url":"subtractFrom(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"subtractFrom(ParticularFloatValue)","url":"subtractFrom(proguard.evaluation.value.ParticularFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"subtractFrom(ParticularIntegerValue)","url":"subtractFrom(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"subtractFrom(ParticularIntegerValue)","url":"subtractFrom(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"subtractFrom(ParticularIntegerValue)","url":"subtractFrom(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"subtractFrom(ParticularLongValue)","url":"subtractFrom(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"subtractFrom(ParticularLongValue)","url":"subtractFrom(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"subtractFrom(RangeIntegerValue)","url":"subtractFrom(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"subtractFrom(RangeIntegerValue)","url":"subtractFrom(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"subtractFrom(RangeIntegerValue)","url":"subtractFrom(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"subtractFrom(RangeIntegerValue)","url":"subtractFrom(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"subtractFrom(SpecificDoubleValue)","url":"subtractFrom(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"SpecificDoubleValue","l":"subtractFrom(SpecificDoubleValue)","url":"subtractFrom(proguard.evaluation.value.SpecificDoubleValue)"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"subtractFrom(SpecificFloatValue)","url":"subtractFrom(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"SpecificFloatValue","l":"subtractFrom(SpecificFloatValue)","url":"subtractFrom(proguard.evaluation.value.SpecificFloatValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"subtractFrom(SpecificIntegerValue)","url":"subtractFrom(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"subtractFrom(SpecificIntegerValue)","url":"subtractFrom(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"subtractFrom(SpecificLongValue)","url":"subtractFrom(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"subtractFrom(SpecificLongValue)","url":"subtractFrom(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"subtractFrom(UnknownIntegerValue)","url":"subtractFrom(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.util","c":"CallGraphWalker","l":"successorPathsAccept(CallGraph, MethodSignature, Predicate, int, int)","url":"successorPathsAccept(proguard.analysis.datastructure.callgraph.CallGraph,proguard.classfile.MethodSignature,java.util.function.Predicate,int,int)"},{"p":"proguard.util","c":"CallGraphWalker","l":"successorPathsAccept(CallGraph, MethodSignature, Predicate)","url":"successorPathsAccept(proguard.analysis.datastructure.callgraph.CallGraph,proguard.classfile.MethodSignature,java.util.function.Predicate)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"successors"},{"p":"proguard.analysis.datastructure.callgraph","c":"Node","l":"successorsContain(MethodSignature)","url":"successorsContain(proguard.classfile.MethodSignature)"},{"p":"proguard.util","c":"SuffixAddingStringFunction","l":"SuffixAddingStringFunction(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.util","c":"SuffixRemovingStringFunction","l":"SuffixRemovingStringFunction(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.classfile","c":"AccessConstants","l":"SUPER"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"SUPER"},{"p":"proguard.classfile","c":"LibraryClass","l":"superClass"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"superClass"},{"p":"proguard.classfile","c":"LibraryClass","l":"superClassAccept(ClassVisitor)","url":"superClassAccept(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile","c":"Clazz","l":"superClassConstantAccept(ConstantVisitor)","url":"superClassConstantAccept(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"superClassConstantAccept(ConstantVisitor)","url":"superClassConstantAccept(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"superClassConstantAccept(ConstantVisitor)","url":"superClassConstantAccept(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.constant.visitor","c":"SuperClassConstantVisitor","l":"SuperClassConstantVisitor(boolean, boolean, ConstantVisitor)","url":"%3Cinit%3E(boolean,boolean,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"superClassName"},{"p":"proguard.evaluation","c":"InitializationFinder","l":"superInitializationOffset()"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"superTypes"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"superTypesAccept(Clazz, KotlinTypeVisitor)","url":"superTypesAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"SuperTypeTargetInfo","l":"SuperTypeTargetInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.target","c":"SuperTypeTargetInfo","l":"SuperTypeTargetInfo(byte, int)","url":"%3Cinit%3E(byte,int)"},{"p":"proguard.classfile.attribute.annotation.target","c":"SuperTypeTargetInfo","l":"SuperTypeTargetInfo(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor.SupportedModelInfo","l":"SupportedModelInfo(Class, boolean)","url":"%3Cinit%3E(java.lang.Class,boolean)"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor","l":"supportedModels"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor","l":"supportedSignatures"},{"p":"proguard.evaluation.executor","c":"ReflectiveModelExecutor","l":"supportedSignatureToModel"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit","l":"supportsAnyMethodOf(Clazz)","url":"supportsAnyMethodOf(proguard.classfile.Clazz)"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit","l":"supportsAnyMethodOf(String)","url":"supportsAnyMethodOf(java.lang.String)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"swap()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"swap()"},{"p":"proguard.evaluation","c":"Stack","l":"swap()"},{"p":"proguard.evaluation","c":"TracedStack","l":"swap()"},{"p":"proguard.classfile.instruction","c":"SwitchInstruction","l":"SwitchInstruction()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.instruction","c":"SwitchInstruction","l":"SwitchInstruction(byte, int, int[])","url":"%3Cinit%3E(byte,int,int[])"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"SYMBOLIC_CALL"},{"p":"proguard.analysis.datastructure.callgraph","c":"SymbolicCall","l":"SymbolicCall(CodeLocation, MethodSignature, int, Instruction, boolean, boolean)","url":"%3Cinit%3E(proguard.analysis.datastructure.CodeLocation,proguard.classfile.MethodSignature,int,proguard.classfile.instruction.Instruction,boolean,boolean)"},{"p":"proguard.classfile","c":"AccessConstants","l":"SYNCHRONIZED"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"SYNCHRONIZED"},{"p":"proguard.classfile","c":"AccessConstants","l":"SYNTHETIC"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"SYNTHETIC"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"SYNTHETIC"},{"p":"proguard.classfile.attribute","c":"SyntheticAttribute","l":"SyntheticAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute","c":"SyntheticAttribute","l":"SyntheticAttribute(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"SyntheticClassIntegrity","l":"SyntheticClassIntegrity()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"syntheticMethodForAnnotations"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"syntheticMethodForDelegate"},{"p":"proguard.dexfile.reader","c":"Visibility","l":"SYSTEM"},{"p":"proguard.classfile.attribute.annotation.target","c":"LocalVariableTargetInfo","l":"table"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"TABLE_SWITCH"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"tableswitch(CompactCodeAttributeComposer.Label, int, int, CompactCodeAttributeComposer.Label[])","url":"tableswitch(proguard.classfile.editor.CompactCodeAttributeComposer.Label,int,int,proguard.classfile.editor.CompactCodeAttributeComposer.Label[])"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"tableswitch(int, int, int, int[])","url":"tableswitch(int,int,int,int[])"},{"p":"proguard.classfile.instruction","c":"TableSwitchInstruction","l":"TableSwitchInstruction()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.instruction","c":"TableSwitchInstruction","l":"TableSwitchInstruction(byte, int, int, int, int[])","url":"%3Cinit%3E(byte,int,int,int,int[])"},{"p":"proguard.dexfile.ir.stmt","c":"TableSwitchStmt","l":"TableSwitchStmt()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.stmt","c":"TableSwitchStmt","l":"TableSwitchStmt(Value, int, LabelStmt[], LabelStmt)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value,int,proguard.dexfile.ir.stmt.LabelStmt[],proguard.dexfile.ir.stmt.LabelStmt)"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"tag"},{"p":"proguard.dexfile.ir.stmt","c":"LabelStmt","l":"tag"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"TAG_ANNOTATION"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"TAG_ARRAY"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"TAG_CLASS"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"TAG_ENUM_CONSTANT"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"TAG_STRING_CONSTANT"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSource","l":"taintsArgs"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSource","l":"taintsGlobals"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSink","l":"TaintSink(Signature, Predicate)","url":"%3Cinit%3E(proguard.classfile.Signature,java.util.function.Predicate)"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSink","l":"TaintSink(Signature)","url":"%3Cinit%3E(proguard.classfile.Signature)"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSource","l":"TaintSource(Signature, boolean, boolean, Set, Set)","url":"%3Cinit%3E(proguard.classfile.Signature,boolean,boolean,java.util.Set,java.util.Set)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"taintSources"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSource","l":"taintsReturn"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSource","l":"taintsThis"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintBamCpaRun.Builder","l":"taintTransformers"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink","l":"takesArgs"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink.Builder","l":"takesArgs"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink","l":"takesGlobals"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink.Builder","l":"takesGlobals"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink","l":"takesInstance"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink.Builder","l":"takesInstance"},{"p":"proguard.dexfile.ir.stmt","c":"GotoStmt","l":"target"},{"p":"proguard.dexfile.ir.stmt","c":"IfStmt","l":"target"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_ARGUMENT_GENERIC_METHOD"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_ARGUMENT_GENERIC_METHODNew"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_ARGUMENT_GENERIC_METHODReference"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_ARGUMENT_GENERIC_METHODReferenceNew"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_BOUND_GENERIC_CLASS"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_BOUND_GENERIC_METHOD"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_CAST"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_CATCH"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_EXTENDS"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_FIELD"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_INSTANCE_OF"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_LOCAL_VARIABLE"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_METHOD_REFERENCE"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_METHOD_REFERENCE_NEW"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_NEW"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_PARAMETER"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_PARAMETER_GENERIC_CLASS"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_PARAMETER_GENERIC_METHOD"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_RECEIVER"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_RESOURCE_VARIABLE"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_RETURN"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TARGET_TYPE_THROWS"},{"p":"proguard.classfile.attribute.annotation.target","c":"LocalVariableTargetInfo","l":"targetElementsAccept(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetElementVisitor)","url":"targetElementsAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.visitor.LocalVariableTargetElementVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotation","l":"targetInfo"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TargetInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"TargetInfo(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotation","l":"targetInfoAccept(Clazz, Field, TargetInfoVisitor)","url":"targetInfoAccept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotation","l":"targetInfoAccept(Clazz, Method, CodeAttribute, TargetInfoVisitor)","url":"targetInfoAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotation","l":"targetInfoAccept(Clazz, Method, TargetInfoVisitor)","url":"targetInfoAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotation","l":"targetInfoAccept(Clazz, TargetInfoVisitor)","url":"targetInfoAccept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor)"},{"p":"proguard.classfile.editor","c":"TargetInfoCopier","l":"TargetInfoCopier(ProgramClass, TypeAnnotation)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"targetMethodAccept(MemberVisitor)","url":"targetMethodAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.analysis.datastructure.callgraph","c":"ConcreteCall","l":"targetMethodAccept(MemberVisitor)","url":"targetMethodAccept(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.dexfile.ir.stmt","c":"BaseSwitchStmt","l":"targets"},{"p":"proguard.classfile.attribute.module","c":"OpensInfo","l":"targetsAccept(Clazz, ConstantVisitor)","url":"targetsAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmCallCfaEdge","l":"targetSignature()"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","c":"JvmCfaEdge","l":"targetSignature()"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmInterpreter","l":"ternaryOperation(DexStmtNode, V, V, V)","url":"ternaryOperation(proguard.dexfile.reader.node.insn.DexStmtNode,V,V,V)"},{"p":"proguard.exception","c":"ErrorId","l":"TEST_ID"},{"p":"proguard.analysis.cpa.util","c":"TriPredicate","l":"test(T, U, V)","url":"test(T,U,V)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"THIS_REF"},{"p":"proguard.classfile","c":"Clazz","l":"thisClassConstantAccept(ConstantVisitor)","url":"thisClassConstantAccept(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"thisClassConstantAccept(ConstantVisitor)","url":"thisClassConstantAccept(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"ProgramClass","l":"thisClassConstantAccept(ConstantVisitor)","url":"thisClassConstantAccept(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"LibraryClass","l":"thisClassName"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationBamCpaRun","l":"threshold"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"THROW"},{"p":"proguard.dexfile.reader","c":"Op","l":"THROW"},{"p":"proguard.evaluation","c":"BasicBranchUnit","l":"throwException()"},{"p":"proguard.evaluation","c":"BranchUnit","l":"throwException()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"throwsNullptr"},{"p":"proguard.classfile.attribute.annotation.target","c":"ThrowsTargetInfo","l":"ThrowsTargetInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.target","c":"ThrowsTargetInfo","l":"ThrowsTargetInfo(byte, int)","url":"%3Cinit%3E(byte,int)"},{"p":"proguard.classfile.attribute.annotation.target","c":"ThrowsTargetInfo","l":"ThrowsTargetInfo(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmFrame","l":"tmp"},{"p":"proguard.dexfile.ir.expr","c":"CastExpr","l":"to"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadataVersion","l":"toArray()"},{"p":"proguard.dexfile.reader.util","c":"InputStreams","l":"toByteArray(InputStream)","url":"toByteArray(java.io.InputStream)"},{"p":"proguard.analysis.cpa.jvm.util","c":"CfaUtil","l":"toDot(JvmCfa)","url":"toDot(proguard.analysis.cpa.jvm.cfa.JvmCfa)"},{"p":"proguard.util","c":"StringUtil","l":"toHexString(byte[], String, boolean)","url":"toHexString(byte[],java.lang.String,boolean)"},{"p":"proguard.util","c":"StringUtil","l":"toHexString(byte[])"},{"p":"proguard.util","c":"ListUtil","l":"toIntArray(List)","url":"toIntArray(java.util.List)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"JvmMemoryLocationAbstractState","l":"top"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"TOP_TYPE"},{"p":"proguard.analysis.cpa.jvm.state","c":"JvmAbstractState","l":"topLocation"},{"p":"proguard.classfile.attribute.preverification","c":"TopType","l":"TopType()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"TopValue","l":"TopValue()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.ts.an","c":"AnalyzeValue","l":"toRsp()"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveValue","l":"toRsp()"},{"p":"proguard.dexfile.ir","c":"Util","l":"toShortClassName(String)","url":"toShortClassName(java.lang.String)"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"toSimpleString()"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSink","l":"toString()"},{"p":"proguard.analysis.cpa.domain.taint","c":"TaintSource","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmCfaNode","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","c":"JvmUnknownCfaNode","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"BamLocationDependentJvmMemoryLocation","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.domain.reference","c":"Reference","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmInvokeTaintSink","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmReturnTaintSink","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintSource","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"JvmValueAbstractState","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"ValueAbstractState","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmHeapLocation","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmLocalVariableLocation","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmMemoryLocation","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmStackLocation","l":"toString()"},{"p":"proguard.analysis.cpa.jvm.witness","c":"JvmStaticFieldLocation","l":"toString()"},{"p":"proguard.analysis.datastructure","c":"CodeLocation","l":"toString()"},{"p":"proguard.analysis.datastructure","c":"FileLocation","l":"toString()"},{"p":"proguard.analysis.datastructure.callgraph","c":"Call","l":"toString()"},{"p":"proguard.classfile","c":"BasicMethodInfo","l":"toString()"},{"p":"proguard.classfile","c":"LibraryClass","l":"toString()"},{"p":"proguard.classfile","c":"MethodDescriptor","l":"toString()"},{"p":"proguard.classfile","c":"ProgramClass","l":"toString()"},{"p":"proguard.classfile","c":"Signature","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"DoubleType","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"FloatType","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"IntegerType","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"LessZeroFrame","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"LongType","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"MoreZeroFrame","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"NullType","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"ObjectType","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"SameOneFrame","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"SameZeroFrame","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"TopType","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedThisType","l":"toString()"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedType","l":"toString()"},{"p":"proguard.classfile.constant","c":"ClassConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"DoubleConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"FieldrefConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"FloatConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"IntegerConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"InterfaceMethodrefConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"LongConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"MethodrefConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"ModuleConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"PackageConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"toString()"},{"p":"proguard.classfile.constant","c":"Utf8Constant","l":"toString()"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor.Label","l":"toString()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer.Label","l":"toString()"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"toString()"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"toString()"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"toString()"},{"p":"proguard.classfile.instruction","c":"SwitchInstruction","l":"toString()"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotation","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.AnnotationValue","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ArrayValue","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ClassValue","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.EnumValue","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.LiteralValue","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinConstructorMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinContractMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectExpressionMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinFileFacadeKindMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadataVersion","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinMultiFileFacadeKindMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinMultiFilePartKindMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"toString()"},{"p":"proguard.classfile.kotlin","c":"KotlinVersionRequirementMetadata","l":"toString()"},{"p":"proguard.dexfile.ir","c":"IrMethod","l":"toString()"},{"p":"proguard.dexfile.ir","c":"LocalVar","l":"toString()"},{"p":"proguard.dexfile.ir","c":"Trap","l":"toString()"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"toString()"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"toString()"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"toString()"},{"p":"proguard.dexfile.ir.stmt","c":"AssignStmt","l":"toString()"},{"p":"proguard.dexfile.ir.stmt","c":"GotoStmt","l":"toString()"},{"p":"proguard.dexfile.ir.stmt","c":"IfStmt","l":"toString()"},{"p":"proguard.dexfile.ir.stmt","c":"LabelStmt","l":"toString()"},{"p":"proguard.dexfile.ir.stmt","c":"LookupSwitchStmt","l":"toString()"},{"p":"proguard.dexfile.ir.stmt","c":"NopStmt","l":"toString()"},{"p":"proguard.dexfile.ir.stmt","c":"ReturnVoidStmt","l":"toString()"},{"p":"proguard.dexfile.ir.stmt","c":"StmtList","l":"toString()"},{"p":"proguard.dexfile.ir.stmt","c":"TableSwitchStmt","l":"toString()"},{"p":"proguard.dexfile.ir.stmt","c":"UnopStmt","l":"toString()"},{"p":"proguard.dexfile.ir.stmt","c":"VoidInvokeStmt","l":"toString()"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"toString()"},{"p":"proguard.dexfile.ir.ts.an","c":"BaseAnalyze","l":"toString()"},{"p":"proguard.dexfile.reader","c":"DexLabel","l":"toString()"},{"p":"proguard.dexfile.reader","c":"DexType","l":"toString()"},{"p":"proguard.dexfile.reader","c":"Field","l":"toString()"},{"p":"proguard.dexfile.reader","c":"Method","l":"toString()"},{"p":"proguard.dexfile.reader","c":"Op","l":"toString()"},{"p":"proguard.evaluation","c":"Stack","l":"toString()"},{"p":"proguard.evaluation","c":"TracedStack","l":"toString()"},{"p":"proguard.evaluation","c":"TracedVariables","l":"toString()"},{"p":"proguard.evaluation","c":"Variables","l":"toString()"},{"p":"proguard.evaluation.value","c":"ArrayReferenceValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ComparisonValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"CompositeDoubleValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"CompositeFloatValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ConvertedByteValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ConvertedCharacterValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ConvertedDoubleValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ConvertedFloatValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ConvertedIntegerValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ConvertedLongValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ConvertedShortValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"IdentifiedArrayReferenceValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"IdentifiedDoubleValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"IdentifiedFloatValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"IdentifiedIntegerValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"IdentifiedLongValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"IdentifiedReferenceValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"InstructionOffsetValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"MultiTypedReferenceValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"NegatedDoubleValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"NegatedFloatValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"NegatedIntegerValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"NegatedLongValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"TopValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"UnknownReferenceValue","l":"toString()"},{"p":"proguard.evaluation.value","c":"UnknownValue","l":"toString()"},{"p":"proguard.evaluation.value.object.model","c":"ArrayModel","l":"toString()"},{"p":"proguard.evaluation.value.object.model","c":"ClassModel","l":"toString()"},{"p":"proguard.evaluation.value.object.model.reflective","c":"ModelHelper.MethodExecutionContext","l":"toString()"},{"p":"proguard.io","c":"ClassPathDataEntry","l":"toString()"},{"p":"proguard.io","c":"ClassPathEntry","l":"toString()"},{"p":"proguard.io","c":"DummyDataEntry","l":"toString()"},{"p":"proguard.io","c":"FileDataEntry","l":"toString()"},{"p":"proguard.io","c":"NamedDataEntry","l":"toString()"},{"p":"proguard.io","c":"RenamedDataEntry","l":"toString()"},{"p":"proguard.io","c":"StreamingDataEntry","l":"toString()"},{"p":"proguard.io","c":"WrappedDataEntry","l":"toString()"},{"p":"proguard.io","c":"ZipDataEntry","l":"toString()"},{"p":"proguard.io","c":"ZipFileDataEntry","l":"toString()"},{"p":"proguard.resources.file","c":"ResourceFile","l":"toString()"},{"p":"proguard.resources.file","c":"ResourceFilePool","l":"toString()"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"toString(Clazz, int)","url":"toString(proguard.classfile.Clazz,int)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"toString(Clazz, int)","url":"toString(proguard.classfile.Clazz,int)"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"toString(int)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"toString(int)"},{"p":"proguard.classfile.instruction","c":"SwitchInstruction","l":"toString(int)"},{"p":"proguard.dexfile.ir.expr","c":"ArrayExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"BinopExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"CastExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"Constant","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"FieldExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"FilledArrayExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"InvokeCustomExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"InvokeExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"InvokePolymorphicExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"Local","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"NewExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"NewMutiArrayExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"PhiExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"RefExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"StaticFieldExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"TypeExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"UnopExpr","l":"toString0()"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"toString0()"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"totalRegister"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"trace(ReferenceValue)","url":"trace(proguard.evaluation.value.ReferenceValue)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"trace(Value, InstructionOffsetValue)","url":"trace(proguard.evaluation.value.Value,proguard.evaluation.value.InstructionOffsetValue)"},{"p":"proguard.evaluation","c":"ReferenceTracingInvocationUnit","l":"trace(Value, int)","url":"trace(proguard.evaluation.value.Value,int)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"trace(Value)","url":"trace(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"BasicBranchUnit","l":"traceBranchTargets"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"tracedInstructionFilter(boolean, InstructionVisitor)","url":"tracedInstructionFilter(boolean,proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"tracedInstructionFilter(InstructionVisitor)","url":"tracedInstructionFilter(proguard.classfile.instruction.visitor.InstructionVisitor)"},{"p":"proguard.evaluation.value","c":"TracedReferenceValue","l":"TracedReferenceValue(ReferenceValue, Value)","url":"%3Cinit%3E(proguard.evaluation.value.ReferenceValue,proguard.evaluation.value.Value)"},{"p":"proguard.evaluation","c":"TracedStack","l":"TracedStack(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.evaluation","c":"TracedStack","l":"TracedStack(TracedStack)","url":"%3Cinit%3E(proguard.evaluation.TracedStack)"},{"p":"proguard.evaluation","c":"TracedVariables","l":"TracedVariables(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.evaluation","c":"TracedVariables","l":"TracedVariables(TracedVariables)","url":"%3Cinit%3E(proguard.evaluation.TracedVariables)"},{"p":"proguard.analysis.cpa.jvm.domain.memory","c":"TraceExtractor","l":"traceExtractionIteration(Set>, List)","url":"traceExtractionIteration(java.util.Set,java.util.List)"},{"p":"proguard.evaluation.value","c":"TracingValue","l":"TracingValue(Value, Value)","url":"%3Cinit%3E(proguard.evaluation.value.Value,proguard.evaluation.value.Value)"},{"p":"proguard.dexfile.ir.ts","c":"CleanLabel","l":"transform(IrMethod)","url":"transform(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"ExceptionHandlerTrim","l":"transform(IrMethod)","url":"transform(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"Ir2JRegAssignTransformer","l":"transform(IrMethod)","url":"transform(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"NewTransformer","l":"transform(IrMethod)","url":"transform(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"StatedTransformer","l":"transform(IrMethod)","url":"transform(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"Transformer","l":"transform(IrMethod)","url":"transform(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer","l":"transform(IrMethod)","url":"transform(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer","l":"transform(IrMethod)","url":"transform(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"VoidInvokeTransformer","l":"transform(IrMethod)","url":"transform(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.resources.file.util","c":"FilePoolNameFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"AndNotStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"AndStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"ClassPoolFeatureNameFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"ConcatenatingStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"ConstantStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"FilteredStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"IdentityStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"MapStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"MatchedStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"MatchingStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"NotStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"OrStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"PrefixAddingStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"PrefixRemovingStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"StringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"SuffixAddingStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"SuffixRemovingStringFunction","l":"transform(String)","url":"transform(java.lang.String)"},{"p":"proguard.util","c":"TransformedStringMatcher","l":"TransformedStringMatcher(StringFunction, StringMatcher)","url":"%3Cinit%3E(proguard.util.StringFunction,proguard.util.StringMatcher)"},{"p":"proguard.examples","c":"TransformExample","l":"TransformExample()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.ts","c":"AggTransformer","l":"transformReportChanged(IrMethod)","url":"transformReportChanged(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"MultiArrayTransformer","l":"transformReportChanged(IrMethod)","url":"transformReportChanged(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"RemoveConstantFromSSA","l":"transformReportChanged(IrMethod)","url":"transformReportChanged(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"RemoveLocalFromSSA","l":"transformReportChanged(IrMethod)","url":"transformReportChanged(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"StatedTransformer","l":"transformReportChanged(IrMethod)","url":"transformReportChanged(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"VoidInvokeTransformer","l":"transformReportChanged(IrMethod)","url":"transformReportChanged(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"ZeroTransformer","l":"transformReportChanged(IrMethod)","url":"transformReportChanged(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintTransformer","l":"transformReturn(SetAbstractState)","url":"transformReturn(proguard.analysis.cpa.defaults.SetAbstractState)"},{"p":"proguard.classfile","c":"AccessConstants","l":"TRANSIENT"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"TRANSIENT"},{"p":"proguard.classfile","c":"AccessConstants","l":"TRANSITIVE"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"TRANSITIVE"},{"p":"proguard.dexfile.ir","c":"Trap","l":"Trap()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir","c":"Trap","l":"Trap(LabelStmt, LabelStmt, LabelStmt[], String[])","url":"%3Cinit%3E(proguard.dexfile.ir.stmt.LabelStmt,proguard.dexfile.ir.stmt.LabelStmt,proguard.dexfile.ir.stmt.LabelStmt[],java.lang.String[])"},{"p":"proguard.dexfile.ir","c":"IrMethod","l":"traps"},{"p":"proguard.dexfile.ir","c":"StmtTraveler","l":"travel(IrMethod)","url":"travel(proguard.dexfile.ir.IrMethod)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"travel(Stmt, Cfg.TravelCallBack, boolean)","url":"travel(proguard.dexfile.ir.stmt.Stmt,proguard.dexfile.ir.ts.Cfg.TravelCallBack,boolean)"},{"p":"proguard.dexfile.ir","c":"StmtSearcher","l":"travel(Stmt)","url":"travel(proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.dexfile.ir","c":"StmtTraveler","l":"travel(Stmt)","url":"travel(proguard.dexfile.ir.stmt.Stmt)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"travel(StmtList, Cfg.TravelCallBack, boolean)","url":"travel(proguard.dexfile.ir.stmt.StmtList,proguard.dexfile.ir.ts.Cfg.TravelCallBack,boolean)"},{"p":"proguard.dexfile.ir","c":"StmtSearcher","l":"travel(StmtList)","url":"travel(proguard.dexfile.ir.stmt.StmtList)"},{"p":"proguard.dexfile.ir","c":"StmtTraveler","l":"travel(StmtList)","url":"travel(proguard.dexfile.ir.stmt.StmtList)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"travel(Value, Cfg.OnUseCallBack)","url":"travel(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.ts.Cfg.OnUseCallBack)"},{"p":"proguard.dexfile.ir","c":"StmtSearcher","l":"travel(Value)","url":"travel(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir","c":"StmtTraveler","l":"travel(Value)","url":"travel(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"travelMod(Stmt, Cfg.TravelCallBack, boolean)","url":"travelMod(proguard.dexfile.ir.stmt.Stmt,proguard.dexfile.ir.ts.Cfg.TravelCallBack,boolean)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"travelMod(StmtList, Cfg.TravelCallBack, boolean)","url":"travelMod(proguard.dexfile.ir.stmt.StmtList,proguard.dexfile.ir.ts.Cfg.TravelCallBack,boolean)"},{"p":"proguard.dexfile.ir.ts","c":"Cfg","l":"travelMod(Value, Cfg.OnUseCallBack)","url":"travelMod(proguard.dexfile.ir.expr.Value,proguard.dexfile.ir.ts.Cfg.OnUseCallBack)"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"trim()"},{"p":"proguard.dexfile.reader.node","c":"TryCatchNode","l":"TryCatchNode(DexLabel, DexLabel, DexLabel[], String[])","url":"%3Cinit%3E(proguard.dexfile.reader.DexLabel,proguard.dexfile.reader.DexLabel,proguard.dexfile.reader.DexLabel[],java.lang.String[])"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"tryStmts"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"type"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"type"},{"p":"proguard.dexfile.ir","c":"LocalVar","l":"type"},{"p":"proguard.dexfile.ir.expr","c":"BinopExpr","l":"type"},{"p":"proguard.dexfile.ir.expr","c":"FieldExpr","l":"type"},{"p":"proguard.dexfile.ir.expr","c":"FilledArrayExpr","l":"type"},{"p":"proguard.dexfile.ir.expr","c":"NewExpr","l":"type"},{"p":"proguard.dexfile.ir.expr","c":"RefExpr","l":"type"},{"p":"proguard.dexfile.ir.expr","c":"StaticFieldExpr","l":"type"},{"p":"proguard.dexfile.ir.expr","c":"TypeExpr","l":"type"},{"p":"proguard.dexfile.ir.expr","c":"UnopExpr","l":"type"},{"p":"proguard.dexfile.ir.ts","c":"Ir2JRegAssignTransformer.Reg","l":"type"},{"p":"proguard.dexfile.reader.node","c":"DexAnnotationNode","l":"type"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode.DexDebugOpNode.StartLocalNode","l":"type"},{"p":"proguard.dexfile.reader.node","c":"TryCatchNode","l":"type"},{"p":"proguard.dexfile.reader.node.insn","c":"FilledNewArrayStmtNode","l":"type"},{"p":"proguard.dexfile.reader.node.insn","c":"TypeStmtNode","l":"type"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"type"},{"p":"proguard.io","c":"DataEntryToken","l":"type"},{"p":"proguard.evaluation.value","c":"Value","l":"TYPE_DOUBLE"},{"p":"proguard.evaluation.value","c":"Value","l":"TYPE_FLOAT"},{"p":"proguard.evaluation.value","c":"Value","l":"TYPE_INSTRUCTION_OFFSET"},{"p":"proguard.evaluation.value","c":"Value","l":"TYPE_INTEGER"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_ANNOTATION_ANNOTATION"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_BOOLEAN"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_BOOLEAN"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_BYTE"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_BYTE"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_CHARACTER"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_CHARACTER"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_CLASS"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_CLASS"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_DOUBLE"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_DOUBLE"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_ENUM"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_FLOAT"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_FLOAT"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_INTEGER"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_INTEGER"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_INVOKE_METHOD_HANDLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_INVOKE_METHOD_TYPE"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_INVOKE_METHODHANDLE"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_INVOKE_METHODTYPE"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_LONG"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_LONG"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_OBJECT"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_OBJECT"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_REFLECT_ARRAY"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_SHORT"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_SHORT"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_STRING"},{"p":"proguard.classfile","c":"JavaConstants","l":"TYPE_JAVA_LANG_STRING"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_STRING_BUFFER"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_STRING_BUILDER"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_LANG_THROWABLE"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_UTIL_COLLECTION"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_UTIL_LIST"},{"p":"proguard.classfile","c":"ClassConstants","l":"TYPE_JAVA_UTIL_MAP"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"TYPE_KOTLIN_DEFAULT_CONSTRUCTOR_MARKER"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"TYPE_KOTLIN_JVM_JVMNAME"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"TYPE_KOTLIN_METADATA"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"TYPE_KOTLIN_UNIT"},{"p":"proguard.evaluation.value","c":"Value","l":"TYPE_LONG"},{"p":"proguard.examples.modify","c":"EditClass","l":"TYPE_PRINTSTREAM"},{"p":"proguard.evaluation.value","c":"Value","l":"TYPE_REFERENCE"},{"p":"proguard.evaluation.value","c":"Value","l":"TYPE_TOP"},{"p":"proguard.evaluation.value","c":"Value","l":"TYPE_UNKNOWN"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"typeAccept(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinTypeVisitor)","url":"typeAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"typeAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeVisitor)","url":"typeAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"typeAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeVisitor)","url":"typeAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"typeAccept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeVisitor)","url":"typeAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"typeAliases"},{"p":"proguard.classfile.kotlin","c":"KotlinDeclarationContainerMetadata","l":"typeAliasesAccept(Clazz, KotlinTypeAliasVisitor)","url":"typeAliasesAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinTypeAliasVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotation","l":"TypeAnnotation()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotation","l":"TypeAnnotation(int, int, ElementValue[], TargetInfo, TypePathInfo[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.annotation.ElementValue[],proguard.classfile.attribute.annotation.target.TargetInfo,proguard.classfile.attribute.annotation.TypePathInfo[])"},{"p":"proguard.classfile.editor","c":"TypeAnnotationAdder","l":"TypeAnnotationAdder(ProgramClass, AnnotationElementValue)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.editor","c":"TypeAnnotationAdder","l":"TypeAnnotationAdder(ProgramClass, AnnotationsAttribute)","url":"%3Cinit%3E(proguard.classfile.ProgramClass,proguard.classfile.attribute.annotation.AnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotationsAttribute","l":"typeAnnotationsAccept(Clazz, Field, TypeAnnotationVisitor)","url":"typeAnnotationsAccept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.visitor.TypeAnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotationsAttribute","l":"typeAnnotationsAccept(Clazz, Method, CodeAttribute, TypeAnnotationVisitor)","url":"typeAnnotationsAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.visitor.TypeAnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotationsAttribute","l":"typeAnnotationsAccept(Clazz, Method, TypeAnnotationVisitor)","url":"typeAnnotationsAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.visitor.TypeAnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotationsAttribute","l":"typeAnnotationsAccept(Clazz, TypeAnnotationVisitor)","url":"typeAnnotationsAccept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.visitor.TypeAnnotationVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotationsAttribute","l":"TypeAnnotationsAttribute()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotationsAttribute","l":"TypeAnnotationsAttribute(int, int, TypeAnnotation[])","url":"%3Cinit%3E(int,int,proguard.classfile.attribute.annotation.TypeAnnotation[])"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"typeArguments"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"typeArgumentsAccept(Clazz, KotlinTypeVisitor)","url":"typeArgumentsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeArgumentTargetInfo","l":"TypeArgumentTargetInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeArgumentTargetInfo","l":"TypeArgumentTargetInfo(byte, int, int)","url":"%3Cinit%3E(byte,int,int)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeArgumentTargetInfo","l":"TypeArgumentTargetInfo(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.classfile","c":"TypeConstants","l":"TypeConstants()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.util","c":"InternalTypeEnumeration","l":"typeCount()"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"TypedReferenceValue(String, Clazz, boolean, boolean)","url":"%3Cinit%3E(java.lang.String,proguard.classfile.Clazz,boolean,boolean)"},{"p":"proguard.evaluation.value","c":"TypedReferenceValueFactory","l":"TypedReferenceValueFactory()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.expr","c":"TypeExpr","l":"TypeExpr(Value.VT, Value, String)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"TypeIntegrity","l":"TypeIntegrity()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectExpressionMetadata","l":"typeOfIs"},{"p":"proguard.classfile.kotlin","c":"KotlinEffectExpressionMetadata","l":"typeOfIsAccept(Clazz, KotlinTypeVisitor)","url":"typeOfIsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterBoundTargetInfo","l":"TypeParameterBoundTargetInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterBoundTargetInfo","l":"TypeParameterBoundTargetInfo(byte, int, int)","url":"%3Cinit%3E(byte,int,int)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterBoundTargetInfo","l":"TypeParameterBoundTargetInfo(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"typeParameters"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"typeParameters"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"typeParameters"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"typeParameters"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"typeParametersAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeParameterVisitor)","url":"typeParametersAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"typeParametersAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeParameterVisitor)","url":"typeParametersAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"typeParametersAccept(Clazz, KotlinMetadata, KotlinTypeParameterVisitor)","url":"typeParametersAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"typeParametersAccept(Clazz, KotlinTypeParameterVisitor)","url":"typeParametersAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinTypeParameterVisitor)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterTargetInfo","l":"TypeParameterTargetInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterTargetInfo","l":"TypeParameterTargetInfo(byte, int)","url":"%3Cinit%3E(byte,int)"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterTargetInfo","l":"TypeParameterTargetInfo(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"typeParamID"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotation","l":"typePath"},{"p":"proguard.classfile.attribute.annotation","c":"TypePathInfo","l":"TypePathInfo()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.annotation","c":"TypePathInfo","l":"TypePathInfo(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotation","l":"typePathInfosAccept(Clazz, Field, TypePathInfoVisitor)","url":"typePathInfosAccept(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.visitor.TypePathInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotation","l":"typePathInfosAccept(Clazz, Method, CodeAttribute, TypeAnnotation, TypePathInfoVisitor)","url":"typePathInfosAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.visitor.TypePathInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotation","l":"typePathInfosAccept(Clazz, Method, TypePathInfoVisitor)","url":"typePathInfosAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.visitor.TypePathInfoVisitor)"},{"p":"proguard.classfile.attribute.annotation","c":"TypeAnnotation","l":"typePathInfosAccept(Clazz, TypePathInfoVisitor)","url":"typePathInfosAccept(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.visitor.TypePathInfoVisitor)"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"TypeRef(Value)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir","c":"Trap","l":"types"},{"p":"proguard.classfile.util","c":"InternalTypeEnumeration","l":"typesSize()"},{"p":"proguard.dexfile.reader.node.insn","c":"TypeStmtNode","l":"TypeStmtNode(Op, int, int, String)","url":"%3Cinit%3E(proguard.dexfile.reader.Op,int,int,java.lang.String)"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer","l":"TypeTransformer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"ClassEstimates","l":"TYPICAL_BOOTSTRAP_METHODS_ATTRIBUTE_SIZE"},{"p":"proguard.classfile.editor","c":"ClassEstimates","l":"TYPICAL_CODE_LENGTH"},{"p":"proguard.classfile.editor","c":"ClassEstimates","l":"TYPICAL_CONSTANT_POOL_SIZE"},{"p":"proguard.classfile.editor","c":"ClassEstimates","l":"TYPICAL_EXCEPTION_TABLE_LENGTH"},{"p":"proguard.classfile.editor","c":"ClassEstimates","l":"TYPICAL_FIELD_COUNT"},{"p":"proguard.classfile.editor","c":"ClassEstimates","l":"TYPICAL_LINE_NUMBER_TABLE_LENGTH"},{"p":"proguard.classfile.editor","c":"ClassEstimates","l":"TYPICAL_METHOD_COUNT"},{"p":"proguard.classfile.editor","c":"ClassEstimates","l":"TYPICAL_PARAMETER_COUNT"},{"p":"proguard.classfile.editor","c":"ClassEstimates","l":"TYPICAL_STACK_SIZE"},{"p":"proguard.classfile.editor","c":"ClassEstimates","l":"TYPICAL_VARIABLES_SIZE"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterBoundTargetInfo","l":"u1boundIndex"},{"p":"proguard.classfile.attribute.annotation.target","c":"FormalParameterTargetInfo","l":"u1formalParameterIndex"},{"p":"proguard.classfile.attribute","c":"MethodParametersAttribute","l":"u1parametersCount"},{"p":"proguard.classfile.attribute.annotation","c":"ParameterAnnotationsAttribute","l":"u1parametersCount"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"u1referenceKind"},{"p":"proguard.classfile.attribute.annotation","c":"ConstantElementValue","l":"u1tag"},{"p":"proguard.classfile.attribute.annotation.target","c":"TargetInfo","l":"u1targetType"},{"p":"proguard.classfile.attribute.annotation","c":"TypePathInfo","l":"u1typeArgumentIndex"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeArgumentTargetInfo","l":"u1typeArgumentIndex"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterBoundTargetInfo","l":"u1typeParameterIndex"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeParameterTargetInfo","l":"u1typeParameterIndex"},{"p":"proguard.classfile.attribute.annotation","c":"TypePathInfo","l":"u1typePathKind"},{"p":"proguard.classfile","c":"LibraryClass","l":"u2accessFlags"},{"p":"proguard.classfile","c":"LibraryMember","l":"u2accessFlags"},{"p":"proguard.classfile","c":"ProgramClass","l":"u2accessFlags"},{"p":"proguard.classfile","c":"ProgramMember","l":"u2accessFlags"},{"p":"proguard.classfile.attribute","c":"ParameterInfo","l":"u2accessFlags"},{"p":"proguard.classfile.attribute.annotation","c":"AnnotationsAttribute","l":"u2annotationsCount"},{"p":"proguard.classfile.attribute","c":"Attribute","l":"u2attributeNameIndex"},{"p":"proguard.classfile","c":"ProgramClass","l":"u2attributesCount"},{"p":"proguard.classfile","c":"ProgramMember","l":"u2attributesCount"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"u2attributesCount"},{"p":"proguard.classfile.attribute","c":"RecordComponentInfo","l":"u2attributesCount"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"u2bootstrapMethodAttributeIndex"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"u2bootstrapMethodAttributeIndex"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodsAttribute","l":"u2bootstrapMethodsCount"},{"p":"proguard.classfile.attribute","c":"ExceptionInfo","l":"u2catchType"},{"p":"proguard.classfile.attribute","c":"NestMembersAttribute","l":"u2classes"},{"p":"proguard.classfile.attribute","c":"PermittedSubclassesAttribute","l":"u2classes"},{"p":"proguard.classfile.attribute","c":"InnerClassesAttribute","l":"u2classesCount"},{"p":"proguard.classfile.attribute","c":"NestMembersAttribute","l":"u2classesCount"},{"p":"proguard.classfile.attribute","c":"PermittedSubclassesAttribute","l":"u2classesCount"},{"p":"proguard.classfile.attribute","c":"EnclosingMethodAttribute","l":"u2classIndex"},{"p":"proguard.classfile.attribute.preverification","c":"ObjectType","l":"u2classIndex"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"u2classIndex"},{"p":"proguard.classfile.attribute.annotation","c":"ClassElementValue","l":"u2classInfoIndex"},{"p":"proguard.classfile.attribute","c":"RecordAttribute","l":"u2componentsCount"},{"p":"proguard.classfile.attribute.annotation","c":"EnumConstantElementValue","l":"u2constantNameIndex"},{"p":"proguard.classfile","c":"ProgramClass","l":"u2constantPoolCount"},{"p":"proguard.classfile.attribute","c":"ConstantValueAttribute","l":"u2constantValueIndex"},{"p":"proguard.classfile.attribute.annotation","c":"ConstantElementValue","l":"u2constantValueIndex"},{"p":"proguard.classfile","c":"ProgramMember","l":"u2descriptorIndex"},{"p":"proguard.classfile.attribute","c":"LocalVariableInfo","l":"u2descriptorIndex"},{"p":"proguard.classfile.attribute","c":"RecordComponentInfo","l":"u2descriptorIndex"},{"p":"proguard.classfile.constant","c":"MethodTypeConstant","l":"u2descriptorIndex"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"u2descriptorIndex"},{"p":"proguard.classfile.attribute.annotation","c":"ElementValue","l":"u2elementNameIndex"},{"p":"proguard.classfile.attribute.annotation","c":"Annotation","l":"u2elementValuesCount"},{"p":"proguard.classfile.attribute.annotation","c":"ArrayElementValue","l":"u2elementValuesCount"},{"p":"proguard.classfile.attribute","c":"ExceptionInfo","l":"u2endPC"},{"p":"proguard.classfile.attribute","c":"ExceptionsAttribute","l":"u2exceptionIndexTable"},{"p":"proguard.classfile.attribute","c":"ExceptionsAttribute","l":"u2exceptionIndexTableLength"},{"p":"proguard.classfile.attribute.annotation.target","c":"CatchTargetInfo","l":"u2exceptionTableIndex"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"u2exceptionTableLength"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"u2exportsCount"},{"p":"proguard.classfile.attribute.module","c":"ExportsInfo","l":"u2exportsFlags"},{"p":"proguard.classfile.attribute.module","c":"ExportsInfo","l":"u2exportsIndex"},{"p":"proguard.classfile.attribute.module","c":"ExportsInfo","l":"u2exportsToCount"},{"p":"proguard.classfile.attribute.module","c":"ExportsInfo","l":"u2exportsToIndex"},{"p":"proguard.classfile","c":"ProgramClass","l":"u2fieldsCount"},{"p":"proguard.classfile.attribute","c":"ExceptionInfo","l":"u2handlerPC"},{"p":"proguard.classfile.attribute","c":"NestHostAttribute","l":"u2hostClassIndex"},{"p":"proguard.classfile.attribute","c":"LocalVariableInfo","l":"u2index"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeInfo","l":"u2index"},{"p":"proguard.classfile.attribute.annotation.target","c":"LocalVariableTargetElement","l":"u2index"},{"p":"proguard.classfile.attribute","c":"InnerClassesInfo","l":"u2innerClassAccessFlags"},{"p":"proguard.classfile.attribute","c":"InnerClassesInfo","l":"u2innerClassIndex"},{"p":"proguard.classfile.attribute","c":"InnerClassesInfo","l":"u2innerNameIndex"},{"p":"proguard.classfile","c":"ProgramClass","l":"u2interfaces"},{"p":"proguard.classfile","c":"ProgramClass","l":"u2interfacesCount"},{"p":"proguard.classfile.attribute","c":"LocalVariableInfo","l":"u2length"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeInfo","l":"u2length"},{"p":"proguard.classfile.attribute.annotation.target","c":"LocalVariableTargetElement","l":"u2length"},{"p":"proguard.classfile.attribute","c":"LineNumberInfo","l":"u2lineNumber"},{"p":"proguard.classfile.attribute","c":"LineNumberTableAttribute","l":"u2lineNumberTableLength"},{"p":"proguard.classfile.attribute","c":"LocalVariableTableAttribute","l":"u2localVariableTableLength"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeTableAttribute","l":"u2localVariableTypeTableLength"},{"p":"proguard.classfile.attribute.module","c":"ModuleMainClassAttribute","l":"u2mainClass"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"u2maxLocals"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"u2maxStack"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodInfo","l":"u2methodArgumentCount"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodInfo","l":"u2methodArguments"},{"p":"proguard.classfile.attribute","c":"BootstrapMethodInfo","l":"u2methodHandleIndex"},{"p":"proguard.classfile","c":"ProgramClass","l":"u2methodsCount"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"u2moduleFlags"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"u2moduleNameIndex"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"u2moduleVersionIndex"},{"p":"proguard.classfile.attribute","c":"EnclosingMethodAttribute","l":"u2nameAndTypeIndex"},{"p":"proguard.classfile.constant","c":"DynamicConstant","l":"u2nameAndTypeIndex"},{"p":"proguard.classfile.constant","c":"InvokeDynamicConstant","l":"u2nameAndTypeIndex"},{"p":"proguard.classfile.constant","c":"RefConstant","l":"u2nameAndTypeIndex"},{"p":"proguard.classfile","c":"ProgramMember","l":"u2nameIndex"},{"p":"proguard.classfile.attribute","c":"LocalVariableInfo","l":"u2nameIndex"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeInfo","l":"u2nameIndex"},{"p":"proguard.classfile.attribute","c":"ParameterInfo","l":"u2nameIndex"},{"p":"proguard.classfile.attribute","c":"RecordComponentInfo","l":"u2nameIndex"},{"p":"proguard.classfile.constant","c":"ClassConstant","l":"u2nameIndex"},{"p":"proguard.classfile.constant","c":"ModuleConstant","l":"u2nameIndex"},{"p":"proguard.classfile.constant","c":"NameAndTypeConstant","l":"u2nameIndex"},{"p":"proguard.classfile.constant","c":"PackageConstant","l":"u2nameIndex"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedType","l":"u2newInstructionOffset"},{"p":"proguard.classfile.attribute.annotation.target","c":"OffsetTargetInfo","l":"u2offset"},{"p":"proguard.classfile.attribute.annotation.target","c":"TypeArgumentTargetInfo","l":"u2offset"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapFrame","l":"u2offsetDelta"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"u2opensCount"},{"p":"proguard.classfile.attribute.module","c":"OpensInfo","l":"u2opensFlags"},{"p":"proguard.classfile.attribute.module","c":"OpensInfo","l":"u2opensIndex"},{"p":"proguard.classfile.attribute.module","c":"OpensInfo","l":"u2opensToCount"},{"p":"proguard.classfile.attribute.module","c":"OpensInfo","l":"u2opensToIndex"},{"p":"proguard.classfile.attribute","c":"InnerClassesInfo","l":"u2outerClassIndex"},{"p":"proguard.classfile.attribute.module","c":"ModulePackagesAttribute","l":"u2packages"},{"p":"proguard.classfile.attribute.module","c":"ModulePackagesAttribute","l":"u2packagesCount"},{"p":"proguard.classfile.attribute.annotation","c":"ParameterAnnotationsAttribute","l":"u2parameterAnnotationsCount"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"u2providesCount"},{"p":"proguard.classfile.attribute.module","c":"ProvidesInfo","l":"u2providesIndex"},{"p":"proguard.classfile.attribute.module","c":"ProvidesInfo","l":"u2providesWithCount"},{"p":"proguard.classfile.attribute.module","c":"ProvidesInfo","l":"u2providesWithIndex"},{"p":"proguard.classfile.constant","c":"MethodHandleConstant","l":"u2referenceIndex"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"u2requiresCount"},{"p":"proguard.classfile.attribute.module","c":"RequiresInfo","l":"u2requiresFlags"},{"p":"proguard.classfile.attribute.module","c":"RequiresInfo","l":"u2requiresIndex"},{"p":"proguard.classfile.attribute.module","c":"RequiresInfo","l":"u2requiresVersionIndex"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeInfo","l":"u2signatureIndex"},{"p":"proguard.classfile.attribute","c":"SignatureAttribute","l":"u2signatureIndex"},{"p":"proguard.classfile.attribute","c":"SourceDirAttribute","l":"u2sourceDirIndex"},{"p":"proguard.classfile.attribute","c":"SourceFileAttribute","l":"u2sourceFileIndex"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapAttribute","l":"u2stackMapFramesCount"},{"p":"proguard.classfile.attribute.preverification","c":"StackMapTableAttribute","l":"u2stackMapFramesCount"},{"p":"proguard.classfile.attribute","c":"ExceptionInfo","l":"u2startPC"},{"p":"proguard.classfile.attribute","c":"LineNumberInfo","l":"u2startPC"},{"p":"proguard.classfile.attribute","c":"LocalVariableInfo","l":"u2startPC"},{"p":"proguard.classfile.attribute","c":"LocalVariableTypeInfo","l":"u2startPC"},{"p":"proguard.classfile.attribute.annotation.target","c":"LocalVariableTargetElement","l":"u2startPC"},{"p":"proguard.classfile.constant","c":"StringConstant","l":"u2stringIndex"},{"p":"proguard.classfile","c":"ProgramClass","l":"u2superClass"},{"p":"proguard.classfile.attribute.annotation.target","c":"SuperTypeTargetInfo","l":"u2superTypeIndex"},{"p":"proguard.classfile.attribute.annotation.target","c":"LocalVariableTargetInfo","l":"u2tableLength"},{"p":"proguard.classfile","c":"ProgramClass","l":"u2thisClass"},{"p":"proguard.classfile.attribute.annotation.target","c":"ThrowsTargetInfo","l":"u2throwsTypeIndex"},{"p":"proguard.classfile.attribute.annotation","c":"Annotation","l":"u2typeIndex"},{"p":"proguard.classfile.attribute.annotation","c":"EnumConstantElementValue","l":"u2typeNameIndex"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"u2uses"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"u2usesCount"},{"p":"proguard.classfile.attribute","c":"SourceDebugExtensionAttribute","l":"u4attributeLength"},{"p":"proguard.classfile.attribute","c":"UnknownAttribute","l":"u4attributeLength"},{"p":"proguard.classfile.attribute","c":"CodeAttribute","l":"u4codeLength"},{"p":"proguard.classfile.constant","c":"IntegerConstant","l":"u4value"},{"p":"proguard.classfile","c":"ProgramClass","l":"u4version"},{"p":"proguard.classfile.constant","c":"LongConstant","l":"u8value"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.UByteValue","l":"UByteValue(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.UIntValue","l":"UIntValue(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.ULongValue","l":"ULongValue(long)","url":"%3Cinit%3E(long)"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmInterpreter","l":"unaryOperation(DexStmtNode, V)","url":"unaryOperation(proguard.dexfile.reader.node.insn.DexStmtNode,V)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"unboxPrimitiveType(String, String)","url":"unboxPrimitiveType(java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"unboxPrimitiveType(String, String)","url":"unboxPrimitiveType(java.lang.String,java.lang.String)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"undeleteInstruction(int)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"underlyingPropertyName"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"underlyingPropertyType"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"underlyingPropertyTypeAccept(Clazz, KotlinClassKindMetadata, KotlinTypeVisitor)","url":"underlyingPropertyTypeAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"underlyingType"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"underlyingTypeAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeVisitor)","url":"underlyingTypeAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"UNINITIALIZED_THIS_TYPE"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"UNINITIALIZED_TYPE"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedThisType","l":"UninitializedThisType()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedType","l":"UninitializedType()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedType","l":"UninitializedType(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.classfile.visitor","c":"UniqueClassFilter","l":"UniqueClassFilter(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.dexfile.ir.ts","c":"UniqueQueue","l":"UniqueQueue()","url":"%3Cinit%3E()"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"ValueAbstractState","l":"UNKNOWN"},{"p":"proguard.classfile","c":"MethodSignature","l":"UNKNOWN"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"UNKNOWN"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"UNKNOWN"},{"p":"proguard.analysis.datastructure","c":"Location","l":"UNKNOWN_LINE"},{"p":"proguard.evaluation.value","c":"BasicValueFactory","l":"UNKNOWN_VALUE"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadataVersion","l":"UNKNOWN_VERSION"},{"p":"proguard.classfile.attribute","c":"UnknownAttribute","l":"UnknownAttribute(int, int, byte[])","url":"%3Cinit%3E(int,int,byte[])"},{"p":"proguard.classfile.attribute","c":"UnknownAttribute","l":"UnknownAttribute(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.evaluation.value","c":"UnknownDoubleValue","l":"UnknownDoubleValue()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"UnknownFloatValue","l":"UnknownFloatValue()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"UnknownIntegerValue()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"UnknownLongValue()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.value","c":"UnknownReferenceValue","l":"UnknownReferenceValue()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"UNLOCK"},{"p":"proguard.dexfile.ir.expr","c":"UnopExpr","l":"UnopExpr(Value.VT, Value, String)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.expr.Value,java.lang.String)"},{"p":"proguard.dexfile.ir.stmt","c":"UnopStmt","l":"UnopStmt(Stmt.ST, Value)","url":"%3Cinit%3E(proguard.dexfile.ir.stmt.Stmt.ST,proguard.dexfile.ir.expr.Value)"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"UNSIGNED_SHIFT_RIGHT"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"UNSIGNED_SHIFT_RIGHT"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRight(IntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"unsignedShiftRight(IntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"unsignedShiftRight(IntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"unsignedShiftRight(IntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"unsignedShiftRight(IntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"unsignedShiftRight(IntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"unsignedShiftRight(IntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"unsignedShiftRight(IntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"unsignedShiftRight(IntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRight(ParticularIntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"unsignedShiftRight(ParticularIntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"unsignedShiftRight(ParticularIntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"unsignedShiftRight(ParticularIntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"unsignedShiftRight(ParticularIntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRight(RangeIntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"unsignedShiftRight(RangeIntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"unsignedShiftRight(RangeIntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"unsignedShiftRight(RangeIntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRight(SpecificIntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"unsignedShiftRight(SpecificIntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"unsignedShiftRight(SpecificLongValue)","url":"unsignedShiftRight(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"unsignedShiftRight(SpecificLongValue)","url":"unsignedShiftRight(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRight(UnknownIntegerValue)","url":"unsignedShiftRight(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRightOf(IntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"unsignedShiftRightOf(IntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"unsignedShiftRightOf(IntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"unsignedShiftRightOf(IntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"unsignedShiftRightOf(IntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRightOf(LongValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"unsignedShiftRightOf(LongValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"unsignedShiftRightOf(LongValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"unsignedShiftRightOf(LongValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"unsignedShiftRightOf(LongValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRightOf(ParticularIntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"unsignedShiftRightOf(ParticularIntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"unsignedShiftRightOf(ParticularIntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRightOf(ParticularLongValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"unsignedShiftRightOf(ParticularLongValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"unsignedShiftRightOf(ParticularLongValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRightOf(RangeIntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"unsignedShiftRightOf(RangeIntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"unsignedShiftRightOf(RangeIntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"unsignedShiftRightOf(RangeIntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRightOf(SpecificIntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"unsignedShiftRightOf(SpecificIntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRightOf(SpecificLongValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"unsignedShiftRightOf(SpecificLongValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRightOf(UnknownIntegerValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"unsignedShiftRightOf(UnknownLongValue)","url":"unsignedShiftRightOf(proguard.evaluation.value.UnknownLongValue)"},{"p":"proguard.dexfile.ir.ts","c":"UnSSATransformer","l":"UnSSATransformer()","url":"%3Cinit%3E()"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"UNSUPPORTED_OPCODE"},{"p":"proguard.classfile.kotlin","c":"UnsupportedKotlinMetadata","l":"UnsupportedKotlinMetadata(int, int[], int, String, String)","url":"%3Cinit%3E(int,int[],int,java.lang.String,java.lang.String)"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"updateTypeClass(TypeClass)","url":"updateTypeClass(proguard.dexfile.ir.TypeClass)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"upperBounds"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"upperBounds"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"upperBoundsAccept(Clazz, KotlinTypeVisitor)","url":"upperBoundsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"upperBoundsAccept(Clazz, KotlinTypeVisitor)","url":"upperBoundsAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinTypeVisitor)"},{"p":"proguard.dexfile.ir.ts.an","c":"SimpleLiveValue","l":"used"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit.Builder","l":"useDefaultStringReflectionExecutor"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit.Builder","l":"useDefaultStringReflectionExecutor(boolean)"},{"p":"proguard.dexfile.converter","c":"Dex2Pro","l":"usePrimitiveArrayConstants(boolean)"},{"p":"proguard.dexfile.converter","c":"IR2ProConverter","l":"usePrimitiveArrayConstants(boolean)"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"uses"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"usesAccept(Clazz, ConstantVisitor)","url":"usesAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.analysis","c":"CallResolver.Builder","l":"useSelectiveParameterReconstruction(Set, Set>)","url":"useSelectiveParameterReconstruction(java.util.Set,java.util.Set)"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.UShortValue","l":"UShortValue(short)","url":"%3Cinit%3E(short)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"USHR"},{"p":"proguard.dexfile.reader","c":"Op","l":"USHR_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"USHR_INT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"USHR_INT_LIT8"},{"p":"proguard.dexfile.reader","c":"Op","l":"USHR_LONG"},{"p":"proguard.dexfile.reader","c":"Op","l":"USHR_LONG_2ADDR"},{"p":"proguard.classfile.constant","c":"Constant","l":"UTF8"},{"p":"proguard.classfile.constant","c":"Utf8Constant","l":"Utf8Constant()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.constant","c":"Utf8Constant","l":"Utf8Constant(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"Utf8Shrinker()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir","c":"Util","l":"Util()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"AccessConstants","l":"VALID_FLAGS_CLASS"},{"p":"proguard.classfile","c":"AccessConstants","l":"VALID_FLAGS_EXPORTS"},{"p":"proguard.classfile","c":"AccessConstants","l":"VALID_FLAGS_FIELD"},{"p":"proguard.classfile","c":"AccessConstants","l":"VALID_FLAGS_METHOD"},{"p":"proguard.classfile","c":"AccessConstants","l":"VALID_FLAGS_MODULE"},{"p":"proguard.classfile","c":"AccessConstants","l":"VALID_FLAGS_OPENS"},{"p":"proguard.classfile","c":"AccessConstants","l":"VALID_FLAGS_PARAMETER"},{"p":"proguard.classfile","c":"AccessConstants","l":"VALID_FLAGS_REQUIRES"},{"p":"proguard.classfile.kotlin","c":"KotlinAnnotationArgument.LiteralValue","l":"value"},{"p":"proguard.classfile.util.renderer","c":"MemberViewModel.Pair","l":"value"},{"p":"proguard.dexfile.ir.expr","c":"Constant","l":"value"},{"p":"proguard.dexfile.ir.ts","c":"TypeTransformer.TypeRef","l":"value"},{"p":"proguard.dexfile.reader","c":"Visibility","l":"value"},{"p":"proguard.dexfile.reader.node","c":"DexAnnotationNode.Item","l":"value"},{"p":"proguard.dexfile.reader.node.insn","c":"ConstStmtNode","l":"value"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"value"},{"p":"proguard.evaluation.value","c":"DetailedArrayReferenceValue","l":"value()"},{"p":"proguard.evaluation.value","c":"DoubleValue","l":"value()"},{"p":"proguard.evaluation.value","c":"FloatValue","l":"value()"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"value()"},{"p":"proguard.evaluation.value","c":"LongValue","l":"value()"},{"p":"proguard.evaluation.value","c":"ParticularDoubleValue","l":"value()"},{"p":"proguard.evaluation.value","c":"ParticularFloatValue","l":"value()"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"value()"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"value()"},{"p":"proguard.evaluation.value","c":"ParticularReferenceValue","l":"value()"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"value()"},{"p":"proguard.evaluation.value","c":"ReferenceValue","l":"value()"},{"p":"proguard.evaluation.value","c":"Value","l":"Value()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"Value(Value.VT, ET)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value.VT,proguard.dexfile.ir.ET)"},{"p":"proguard.analysis.cpa.jvm.domain.value","c":"ValueAbstractState","l":"ValueAbstractState(Value)","url":"%3Cinit%3E(proguard.evaluation.value.Value)"},{"p":"proguard.evaluation.value","c":"IdentifiedArrayReferenceValue","l":"valuefactory"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"valueFactory"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"valueFactory"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"HeapModel","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata.Flavor","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeVariance","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.dexfile.ir","c":"ET","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.dexfile.reader","c":"Op","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.dexfile.reader","c":"Visibility","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.io","c":"DataEntryTokenType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"ValueParameterIntegrity","l":"ValueParameterIntegrity()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinConstructorMetadata","l":"valueParameters"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"valueParameters"},{"p":"proguard.classfile.kotlin","c":"KotlinConstructorMetadata","l":"valueParametersAccept(Clazz, KotlinClassKindMetadata, KotlinValueParameterVisitor)","url":"valueParametersAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"valueParametersAccept(Clazz, KotlinMetadata, KotlinValueParameterVisitor)","url":"valueParametersAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.visitor.KotlinValueParameterVisitor)"},{"p":"proguard.classfile.constant","c":"PrimitiveArrayConstant","l":"values"},{"p":"proguard.dexfile.reader.node.analysis","c":"DvmFrame","l":"values"},{"p":"proguard.evaluation","c":"Stack","l":"values"},{"p":"proguard.evaluation","c":"Variables","l":"values"},{"p":"proguard.analysis","c":"Metrics.MetricType","l":"values()"},{"p":"proguard.analysis.cpa.bam","c":"BamCache","l":"values()"},{"p":"proguard.analysis.cpa.bam","c":"BamCacheImpl","l":"values()"},{"p":"proguard.analysis.cpa.defaults","c":"DifferentialMap","l":"values()"},{"p":"proguard.analysis.cpa.jvm.state.heap","c":"HeapModel","l":"values()"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata.Flavor","l":"values()"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeVariance","l":"values()"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataType","l":"values()"},{"p":"proguard.dexfile.ir","c":"ET","l":"values()"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"values()"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"values()"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"values()"},{"p":"proguard.dexfile.reader","c":"InstructionFormat","l":"values()"},{"p":"proguard.dexfile.reader","c":"InstructionIndexType","l":"values()"},{"p":"proguard.dexfile.reader","c":"Op","l":"values()"},{"p":"proguard.dexfile.reader","c":"Visibility","l":"values()"},{"p":"proguard.io","c":"DataEntryTokenType","l":"values()"},{"p":"proguard.util","c":"MultiValueMap","l":"values()"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"valueType"},{"p":"proguard.evaluation.exception","c":"ValueTypeException","l":"ValueTypeException(String, Value)","url":"%3Cinit%3E(java.lang.String,proguard.evaluation.value.Value)"},{"p":"proguard.classfile.kotlin","c":"KotlinValueParameterMetadata","l":"varArgElementType"},{"p":"proguard.classfile","c":"AccessConstants","l":"VARARGS"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"VARARGS"},{"p":"proguard.exception","c":"ErrorId","l":"VARIABLE_EMPTY_SLOT"},{"p":"proguard.exception","c":"ErrorId","l":"VARIABLE_GENERALIZATION"},{"p":"proguard.exception","c":"ErrorId","l":"VARIABLE_INDEX_OUT_OF_BOUND"},{"p":"proguard.exception","c":"ErrorId","l":"VARIABLE_TYPE"},{"p":"proguard.classfile.visitor","c":"VariableClassVisitor","l":"VariableClassVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.visitor","c":"VariableClassVisitor","l":"VariableClassVisitor(ClassVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.ClassVisitor)"},{"p":"proguard.classfile.editor","c":"VariableCleaner","l":"VariableCleaner()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.editor","c":"VariableEditor","l":"VariableEditor()","url":"%3Cinit%3E()"},{"p":"proguard.evaluation.exception","c":"VariableEmptySlotException","l":"VariableEmptySlotException(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.evaluation.exception","c":"VariableEvaluationException","l":"VariableEvaluationException(String, int, Object[], int, Throwable)","url":"%3Cinit%3E(java.lang.String,int,java.lang.Object[],int,java.lang.Throwable)"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"variableIndex"},{"p":"proguard.evaluation.exception","c":"VariableIndexOutOfBoundException","l":"VariableIndexOutOfBoundException(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"VariableInstruction()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"VariableInstruction(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"VariableInstruction(byte, int, int)","url":"%3Cinit%3E(byte,int,int)"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"VariableInstruction(byte, int)","url":"%3Cinit%3E(byte,int)"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"VariableInstruction(byte)","url":"%3Cinit%3E(byte)"},{"p":"proguard.classfile.visitor","c":"VariableMemberVisitor","l":"VariableMemberVisitor()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.visitor","c":"VariableMemberVisitor","l":"VariableMemberVisitor(MemberVisitor)","url":"%3Cinit%3E(proguard.classfile.visitor.MemberVisitor)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"VariableRemapper()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"variables"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"variables"},{"p":"proguard.evaluation","c":"Variables","l":"Variables(int)","url":"%3Cinit%3E(int)"},{"p":"proguard.evaluation","c":"Variables","l":"Variables(Variables)","url":"%3Cinit%3E(proguard.evaluation.Variables)"},{"p":"proguard.classfile.attribute.preverification","c":"DoubleType","l":"variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"variablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"FloatType","l":"variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"variablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"IntegerType","l":"variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"variablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"LongType","l":"variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"variablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"NullType","l":"variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"variablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"ObjectType","l":"variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"variablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"TopType","l":"variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"variablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedThisType","l":"variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"variablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"UninitializedType","l":"variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"variablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"variablesAccept(Clazz, Method, CodeAttribute, int, int, VerificationTypeVisitor)","url":"variablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"variablesAccept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor)","url":"variablesAccept(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.visitor.VerificationTypeVisitor)"},{"p":"proguard.classfile.attribute.preverification","c":"FullFrame","l":"variablesCount"},{"p":"proguard.evaluation.exception","c":"VariablesGeneralizationException","l":"VariablesGeneralizationException(Throwable, TracedVariables, TracedVariables)","url":"%3Cinit%3E(java.lang.Throwable,proguard.evaluation.TracedVariables,proguard.evaluation.TracedVariables)"},{"p":"proguard.classfile.editor","c":"VariableSizeUpdater","l":"VariableSizeUpdater()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"VariableStringMatcher","l":"VariableStringMatcher(char[], char[], int, int, StringMatcher)","url":"%3Cinit%3E(char[],char[],int,int,proguard.util.StringMatcher)"},{"p":"proguard.evaluation.exception","c":"VariableTypeException","l":"VariableTypeException(int, Value, String, Throwable)","url":"%3Cinit%3E(int,proguard.evaluation.value.Value,java.lang.String,java.lang.Throwable)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeMetadata","l":"variance"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeParameterMetadata","l":"variance"},{"p":"proguard.dexfile.ir","c":"IrMethod","l":"vars"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationType","l":"VerificationType()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.attribute.preverification","c":"VerificationTypeFactory","l":"VerificationTypeFactory()","url":"%3Cinit%3E()"},{"p":"proguard.resources.kotlinmodule","c":"KotlinModule","l":"version"},{"p":"proguard.classfile.attribute.module","c":"ModuleAttribute","l":"versionAccept(Clazz, ConstantVisitor)","url":"versionAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile.attribute.module","c":"RequiresInfo","l":"versionAccept(Clazz, ConstantVisitor)","url":"versionAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.classfile","c":"VersionConstants","l":"VersionConstants()","url":"%3Cinit%3E()"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"versionRequirement"},{"p":"proguard.classfile.kotlin","c":"KotlinConstructorMetadata","l":"versionRequirement"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"versionRequirement"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"versionRequirement"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"versionRequirement"},{"p":"proguard.classfile.kotlin","c":"KotlinPropertyMetadata","l":"versionRequirementAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinVersionRequirementVisitor)","url":"versionRequirementAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinConstructorMetadata","l":"versionRequirementAccept(Clazz, KotlinMetadata, KotlinVersionRequirementVisitor)","url":"versionRequirementAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinFunctionMetadata","l":"versionRequirementAccept(Clazz, KotlinMetadata, KotlinVersionRequirementVisitor)","url":"versionRequirementAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinTypeAliasMetadata","l":"versionRequirementAccept(Clazz, KotlinMetadata, KotlinVersionRequirementVisitor)","url":"versionRequirementAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor)"},{"p":"proguard.classfile.kotlin","c":"KotlinClassKindMetadata","l":"versionRequirementAccept(Clazz, KotlinVersionRequirementVisitor)","url":"versionRequirementAccept(proguard.classfile.Clazz,proguard.classfile.kotlin.visitor.KotlinVersionRequirementVisitor)"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinClassFlags","l":"visibility"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinConstructorFlags","l":"visibility"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinFunctionFlags","l":"visibility"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyAccessorFlags","l":"visibility"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinPropertyFlags","l":"visibility"},{"p":"proguard.classfile.kotlin.flags","c":"KotlinTypeAliasFlags","l":"visibility"},{"p":"proguard.dexfile.reader.node","c":"DexAnnotationNode","l":"visibility"},{"p":"proguard.dexfile.reader.node","c":"DexFileNode","l":"visit(int, String, String, String[])","url":"visit(int,java.lang.String,java.lang.String,java.lang.String[])"},{"p":"proguard.dexfile.reader.visitors","c":"DexFileVisitor","l":"visit(int, String, String, String[])","url":"visit(int,java.lang.String,java.lang.String,java.lang.String[])"},{"p":"proguard.dexfile.reader.node","c":"DexAnnotationNode","l":"visit(String, Object)","url":"visit(java.lang.String,java.lang.Object)"},{"p":"proguard.dexfile.reader.visitors","c":"DexAnnotationVisitor","l":"visit(String, Object)","url":"visit(java.lang.String,java.lang.Object)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitAbbreviation(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitAbbreviation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAbbreviation(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitAbbreviation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitAbbreviation(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitAbbreviation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitAbbreviation(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitAbbreviation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitAliasExpandedType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata)","url":"visitAliasExpandedType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAliasExpandedType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata)","url":"visitAliasExpandedType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitAliasExpandedType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata)","url":"visitAliasExpandedType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitAliasExpandedType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata)","url":"visitAliasExpandedType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeParameterVisitor","l":"visitAliasTypeParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeParameterMetadata)","url":"visitAliasTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"MultiKotlinTypeParameterVisitor","l":"visitAliasTypeParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeParameterMetadata)","url":"visitAliasTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeParameterFilter","l":"visitAliasTypeParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeParameterMetadata)","url":"visitAliasTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitAliasUnderlyingType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata)","url":"visitAliasUnderlyingType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAliasUnderlyingType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata)","url":"visitAliasUnderlyingType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitAliasUnderlyingType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata)","url":"visitAliasUnderlyingType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitAliasUnderlyingType(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeMetadata)","url":"visitAliasUnderlyingType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinEffectExprVisitor","l":"visitAndRHSExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata, KotlinEffectExpressionMetadata)","url":"visitAndRHSExpression(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectMetadata,proguard.classfile.kotlin.KotlinEffectExpressionMetadata,proguard.classfile.kotlin.KotlinEffectExpressionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAndRHSExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata, KotlinEffectExpressionMetadata)","url":"visitAndRHSExpression(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectMetadata,proguard.classfile.kotlin.KotlinEffectExpressionMetadata,proguard.classfile.kotlin.KotlinEffectExpressionMetadata)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationToAnnotatedClassVisitor","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationTypeFilter","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationVisitor","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"MultiAnnotationVisitor","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.editor","c":"AnnotationAdder","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataVersionFilter","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitAnnotation(Clazz, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitAnnotation(Clazz, Field, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationTypeFilter","l":"visitAnnotation(Clazz, Field, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationVisitor","l":"visitAnnotation(Clazz, Field, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"MultiAnnotationVisitor","l":"visitAnnotation(Clazz, Field, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationToAnnotatedMemberVisitor","l":"visitAnnotation(Clazz, Member, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationVisitor","l":"visitAnnotation(Clazz, Member, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitAnnotation(Clazz, Method, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationTypeFilter","l":"visitAnnotation(Clazz, Method, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationVisitor","l":"visitAnnotation(Clazz, Method, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"MultiAnnotationVisitor","l":"visitAnnotation(Clazz, Method, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitAnnotation(Clazz, Method, CodeAttribute, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationTypeFilter","l":"visitAnnotation(Clazz, Method, CodeAttribute, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationVisitor","l":"visitAnnotation(Clazz, Method, CodeAttribute, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"MultiAnnotationVisitor","l":"visitAnnotation(Clazz, Method, CodeAttribute, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitAnnotation(Clazz, Method, int, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationTypeFilter","l":"visitAnnotation(Clazz, Method, int, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AnnotationVisitor","l":"visitAnnotation(Clazz, Method, int, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"MultiAnnotationVisitor","l":"visitAnnotation(Clazz, Method, int, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.editor","c":"AnnotationAdder","l":"visitAnnotation(Clazz, Method, int, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitAnnotation(Clazz, Method, int, Annotation)","url":"visitAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.annotation.Annotation)"},{"p":"proguard.dexfile.reader.node","c":"DexAnnotationNode","l":"visitAnnotation(String, String)","url":"visitAnnotation(java.lang.String,java.lang.String)"},{"p":"proguard.dexfile.reader.visitors","c":"DexAnnotationVisitor","l":"visitAnnotation(String, String)","url":"visitAnnotation(java.lang.String,java.lang.String)"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"visitAnnotation(String, Visibility)","url":"visitAnnotation(java.lang.String,proguard.dexfile.reader.Visibility)"},{"p":"proguard.dexfile.reader.node","c":"DexFieldNode","l":"visitAnnotation(String, Visibility)","url":"visitAnnotation(java.lang.String,proguard.dexfile.reader.Visibility)"},{"p":"proguard.dexfile.reader.node","c":"DexMethodNode","l":"visitAnnotation(String, Visibility)","url":"visitAnnotation(java.lang.String,proguard.dexfile.reader.Visibility)"},{"p":"proguard.dexfile.reader.visitors","c":"DexAnnotationAble","l":"visitAnnotation(String, Visibility)","url":"visitAnnotation(java.lang.String,proguard.dexfile.reader.Visibility)"},{"p":"proguard.dexfile.reader.visitors","c":"DexClassVisitor","l":"visitAnnotation(String, Visibility)","url":"visitAnnotation(java.lang.String,proguard.dexfile.reader.Visibility)"},{"p":"proguard.dexfile.reader.visitors","c":"DexFieldVisitor","l":"visitAnnotation(String, Visibility)","url":"visitAnnotation(java.lang.String,proguard.dexfile.reader.Visibility)"},{"p":"proguard.dexfile.reader.visitors","c":"DexMethodVisitor","l":"visitAnnotation(String, Visibility)","url":"visitAnnotation(java.lang.String,proguard.dexfile.reader.Visibility)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitAnnotationArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.AnnotationValue)","url":"visitAnnotationArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.AnnotationValue)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitAnnotationDefaultAttribute(Clazz, Method, AnnotationDefaultAttribute)","url":"visitAnnotationDefaultAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.AnnotationDefaultAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue)","url":"visitAnnotationElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"ElementValueVisitor","l":"visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue)","url":"visitAnnotationElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue)","url":"visitAnnotationElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue)","url":"visitAnnotationElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue)","url":"visitAnnotationElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.editor","c":"ElementValueAdder","l":"visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue)","url":"visitAnnotationElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue)","url":"visitAnnotationElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue)","url":"visitAnnotationElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue)","url":"visitAnnotationElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue)","url":"visitAnnotationElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue)","url":"visitAnnotationElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue)","url":"visitAnnotationElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitAnnotationElementValue(Clazz, Annotation, AnnotationElementValue)","url":"visitAnnotationElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.AnnotationElementValue)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllKotlinAnnotationArgumentVisitor","l":"visitAnyAnnotation(Clazz, KotlinAnnotatable, KotlinAnnotation)","url":"visitAnyAnnotation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationVisitor","l":"visitAnyAnnotation(Clazz, KotlinAnnotatable, KotlinAnnotation)","url":"visitAnyAnnotation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAnyAnnotation(Clazz, KotlinAnnotatable, KotlinAnnotation)","url":"visitAnyAnnotation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinAnnotationFilter","l":"visitAnyAnnotation(Clazz, KotlinAnnotatable, KotlinAnnotation)","url":"visitAnyAnnotation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitAnyAnnotation(Clazz, KotlinAnnotatable, KotlinAnnotation)","url":"visitAnyAnnotation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KmAnnotationIntegrity","l":"visitAnyAnnotation(Clazz, KotlinAnnotatable, KotlinAnnotation)","url":"visitAnyAnnotation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute)","url":"visitAnyAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.AnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute)","url":"visitAnyAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.AnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute)","url":"visitAnyAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.AnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute)","url":"visitAnyAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.AnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute)","url":"visitAnyAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.AnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute)","url":"visitAnyAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.AnnotationsAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute)","url":"visitAnyAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.AnnotationsAttribute)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute)","url":"visitAnyAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.AnnotationsAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute)","url":"visitAnyAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.AnnotationsAttribute)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitAnyAnnotationsAttribute(Clazz, AnnotationsAttribute)","url":"visitAnyAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.AnnotationsAttribute)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitAnyArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.Value)","url":"visitAnyArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.Value)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinAnnotationArgumentFilter","l":"visitAnyArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.Value)","url":"visitAnyArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.Value)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitAnyArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.Value)","url":"visitAnyArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.Value)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KmAnnotationIntegrity","l":"visitAnyArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.Value)","url":"visitAnyArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.Value)"},{"p":"proguard.analysis","c":"CallResolver","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.analysis","c":"DominatorCalculator","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.analysis.cpa.jvm.cfa.visitors","c":"JvmIntraproceduralCfaFillerAllInstructionVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.backport","c":"LambdaExpressionCollector","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.module.visitor","c":"AllExportsInfoVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.module.visitor","c":"AllOpensInfoVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.module.visitor","c":"AllProvidesInfoVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.module.visitor","c":"AllRequiresInfoVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AllAttributeVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AllBootstrapMethodInfoVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AllExceptionInfoVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AllInnerClassesInfoVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AllLineNumberInfoVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AllRecordComponentInfoVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeConstantVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeCounter","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeProcessingFlagFilter","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeToClassVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"CodeAttributeToMethodVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.attribute.visitor","c":"StackSizeComputer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.constant.visitor","c":"BootstrapMethodHandleTraveler","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"AttributeSorter","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeShrinker","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"BridgeMethodFixer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditorResetter","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"InitializerEditor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"InterfaceDeleter","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"InterfaceSorter","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"LineNumberInfoAdder","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"LineNumberTableAttributeTrimmer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"MethodCopier","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"MethodInvocationFixer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"NameAndTypeShrinker","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"NamedAttributeDeleter","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"PeepholeEditor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"StackSizeUpdater","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"VariableCleaner","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"VariableEditor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.editor","c":"VariableSizeUpdater","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.instruction.visitor","c":"AllInstructionVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.io","c":"ProgramClassWriter","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.util","c":"ArrayInitializationReplacer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.util","c":"DynamicMemberReferenceInitializer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.util","c":"NestHostFinder","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.visitor","c":"ConstructorMethodFilter","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.visitor","c":"LineNumberFinder","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.visitor","c":"SignatureAttributeReferencedClassVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.evaluation","c":"InitializationFinder","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.preverify","c":"CodePreverifier","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.preverify","c":"CodeSubroutineInliner","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.util","c":"ProcessableVisitor","l":"visitAnyAttribute(Clazz, Attribute)","url":"visitAnyAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.Attribute)"},{"p":"proguard.classfile.kotlin.reflect.visitor","c":"CallableReferenceInfoToOwnerVisitor","l":"visitAnyCallableReferenceInfo(CallableReferenceInfo)","url":"visitAnyCallableReferenceInfo(proguard.classfile.kotlin.reflect.CallableReferenceInfo)"},{"p":"proguard.classfile.kotlin.reflect.visitor","c":"CallableReferenceInfoVisitor","l":"visitAnyCallableReferenceInfo(CallableReferenceInfo)","url":"visitAnyCallableReferenceInfo(proguard.classfile.kotlin.reflect.CallableReferenceInfo)"},{"p":"proguard.analysis","c":"CallResolver","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.backport","c":"LambdaExpressionCollector","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.attribute.visitor","c":"AllAttributeVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant.visitor","c":"AllConstantVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.constant.visitor","c":"SuperClassConstantVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"AccessFixer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"AttributeSorter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeShrinker","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ClassElementSorter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ClassMemberSorter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ConstantPoolSorter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InnerClassesAccessFixer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InterfaceDeleter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"InterfaceSorter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"MemberRemover","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"MethodCopier","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"NameAndTypeShrinker","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"NamedAttributeDeleter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"NestMemberAdder","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"PermittedSubclassAdder","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"SubclassAdder","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"SubclassRemover","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"SubclassToAdder","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.io","c":"ProgramClassWriter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.io.kotlin","c":"KotlinMetadataWriter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.kotlin.reflect.util","c":"KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataRemover","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataVersionFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.kotlin.visitor","c":"ReferencedKotlinMetadataVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinClassFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util","c":"ArrayInitializationReplacer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util","c":"ClassInitializer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util","c":"ClassRenamer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util","c":"ClassSubHierarchyInitializer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util","c":"ClassSuperHierarchyInitializer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util","c":"DynamicMemberReferenceInitializer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util","c":"MethodLinker","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util","c":"NestHostFinder","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util","c":"StringSharer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"AllFieldVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"AllMemberVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"AllMethodVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"BottomClassFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassAccessFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassCollector","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassConstantClassFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassCounter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassFeatureNameCollector","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassHierarchyTraveler","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassNameCollector","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassNameFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassPoolClassVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassPoolFiller","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassPoolRemover","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassPresenceFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassProcessingFlagFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassProcessingInfoFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassVersionFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassVersionSetter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ClassVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ConcreteClassDownTraveler","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"CounterConditionalClassVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ExceptClassFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ExceptClassesFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"FunctionalInterfaceFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ImplementedClassFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"LibraryClassFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFlagCleaner","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"MultiClassVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"NamedFieldVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"NamedMethodVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ProgramClassFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"SimpleClassPrinter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"SingleTimeClassVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"SubclassFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"SubclassTraveler","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"UniqueClassFilter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.classfile.visitor","c":"VariableClassVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.examples","c":"TransformExample.MyTransformer","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.io","c":"D8ClassConverter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.io","c":"DataEntryClassWriter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.normalize","c":"LargeStringSplitter","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.util","c":"ProcessableVisitor","l":"visitAnyClass(Clazz)","url":"visitAnyClass(proguard.classfile.Clazz)"},{"p":"proguard.backport","c":"LambdaExpressionCollector","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.constant.visitor","c":"BootstrapMethodHandleTraveler","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantCounter","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantTagFilter","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.constant.visitor","c":"MethodrefTraveler","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodRemapper","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.editor","c":"InnerClassesAccessFixer","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.editor","c":"MethodInvocationFixer","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.editor","c":"NameAndTypeShrinker","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.editor","c":"NestMemberAdder","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.editor","c":"PermittedSubclassAdder","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.io","c":"ProgramClassWriter","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.util","c":"EnumFieldReferenceInitializer","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.util","c":"StringReferenceInitializer","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.util","c":"StringSharer","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.visitor","c":"ClassConstantClassFilter","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.visitor","c":"ConstantProcessingFlagFilter","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.visitor","c":"DotClassClassVisitor","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.visitor","c":"DynamicReturnedClassVisitor","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.visitor","c":"MultiConstantVisitor","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.visitor","c":"ReferencedMemberVisitor","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.normalize","c":"LargeStringSplitter","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.util","c":"ProcessableVisitor","l":"visitAnyConstant(Clazz, Constant)","url":"visitAnyConstant(proguard.classfile.Clazz,proguard.classfile.constant.Constant)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAnyContextReceiverType(Clazz, KotlinMetadata, KotlinTypeMetadata)","url":"visitAnyContextReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitAnyContextReceiverType(Clazz, KotlinMetadata, KotlinTypeMetadata)","url":"visitAnyContextReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitAnyEffectExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata)","url":"visitAnyEffectExpression(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectMetadata,proguard.classfile.kotlin.KotlinEffectExpressionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinEffectExprVisitor","l":"visitAnyEffectExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata)","url":"visitAnyEffectExpression(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectMetadata,proguard.classfile.kotlin.KotlinEffectExpressionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAnyEffectExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata)","url":"visitAnyEffectExpression(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectMetadata,proguard.classfile.kotlin.KotlinEffectExpressionMetadata)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"ElementValueVisitor","l":"visitAnyElementValue(Clazz, Annotation, ElementValue)","url":"visitAnyElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ElementValue)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataVersionFilter","l":"visitAnyElementValue(Clazz, Annotation, ElementValue)","url":"visitAnyElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ElementValue)"},{"p":"proguard.classfile.util","c":"EnumFieldReferenceInitializer","l":"visitAnyElementValue(Clazz, Annotation, ElementValue)","url":"visitAnyElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ElementValue)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitAnyElementValue(Clazz, Annotation, ElementValue)","url":"visitAnyElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ElementValue)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitAnyElementValue(Clazz, Annotation, ElementValue)","url":"visitAnyElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ElementValue)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitAnyElementValue(Clazz, Annotation, ElementValue)","url":"visitAnyElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ElementValue)"},{"p":"proguard.classfile.visitor","c":"ReferencedMemberVisitor","l":"visitAnyElementValue(Clazz, Annotation, ElementValue)","url":"visitAnyElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ElementValue)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeParameterVisitor","l":"visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata)","url":"visitAnyFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata)","url":"visitAnyFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllValueParameterVisitor","l":"visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata)","url":"visitAnyFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinFunctionToDefaultMethodVisitor","l":"visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata)","url":"visitAnyFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinFunctionToMethodVisitor","l":"visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata)","url":"visitAnyFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinFunctionVisitor","l":"visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata)","url":"visitAnyFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata)","url":"visitAnyFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinFunctionFilter","l":"visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata)","url":"visitAnyFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata)","url":"visitAnyFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"FunctionIntegrity","l":"visitAnyFunction(Clazz, KotlinMetadata, KotlinFunctionMetadata)","url":"visitAnyFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.analysis","c":"CallResolver","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.attribute.visitor","c":"InstructionToAttributeVisitor","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeShrinker","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"BridgeMethodFixer","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"InstructionAdder","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"MethodInvocationFixer","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.editor","c":"VariableSizeUpdater","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionConstantVisitor","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionCounter","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionOpCodeFilter","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionVisitor","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.util","c":"ArrayInitializationReplacer","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.util","c":"DynamicMemberReferenceInitializer","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.util","c":"EnumFieldReferenceInitializer","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.visitor","c":"ConstructorMethodFilter","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.visitor","c":"DotClassClassVisitor","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.normalize","c":"LargeStringSplitter","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.preverify","c":"CodeSubroutineInliner","l":"visitAnyInstruction(Clazz, Method, CodeAttribute, int, Instruction)","url":"visitAnyInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.Instruction)"},{"p":"proguard.classfile.io.kotlin","c":"KotlinMetadataWriter","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.reflect.util","c":"KotlinCallableReferenceInitializer","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.reflect.util","c":"KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllConstructorVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllFunctionVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllKotlinAnnotationVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllPropertyVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeAliasVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeParameterVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllValueParameterVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinClassToAnonymousObjectOriginClassVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinClassToDefaultImplsClassVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinClassToInlineOriginFunctionVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinClassVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinFileFacadeVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataToClazzVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMultiFileFacadeVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMultiFilePartVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinSyntheticClassVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"MultiKotlinMetadataVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinClassKindFilter","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinDeclarationContainerFilter","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinMetadataFilter","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinMultiFilePartKindFilter","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinSyntheticClassKindFilter","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.util","c":"StringSharer","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.resources.kotlinmodule.visitor","c":"KotlinMetadataToModuleVisitor","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"AbstractKotlinMetadataConstraint","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"ConstructorIntegrity","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"FunctionIntegrity","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KmAnnotationIntegrity","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"PropertyIntegrity","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"TypeIntegrity","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"ValueParameterIntegrity","l":"visitAnyKotlinMetadata(Clazz, KotlinMetadata)","url":"visitAnyKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitAnyLiteralArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.LiteralValue)","url":"visitAnyLiteralArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.LiteralValue)"},{"p":"proguard.classfile.editor","c":"MemberRemover","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.editor","c":"MethodCopier","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.util","c":"MemberFinder","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.util","c":"MethodLinker","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFilter","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.visitor","c":"MemberCollectionFilter","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.visitor","c":"MemberCollector","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.visitor","c":"MemberProcessingFlagFilter","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.visitor","c":"MemberVisitor","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.visitor","c":"MethodCounter","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassesExtractor","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.classfile.visitor","c":"SignatureAdapter","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.io","c":"ClassMapDataEntryWriter","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.util","c":"ProcessableVisitor","l":"visitAnyMember(Clazz, Member)","url":"visitAnyMember(proguard.classfile.Clazz,proguard.classfile.Member)"},{"p":"proguard.backport","c":"LambdaExpressionCollector","l":"visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant)","url":"visitAnyMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant)","url":"visitAnyMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant)"},{"p":"proguard.classfile.editor","c":"BridgeMethodFixer","l":"visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant)","url":"visitAnyMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant)"},{"p":"proguard.classfile.editor","c":"MethodInvocationFixer","l":"visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant)","url":"visitAnyMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant)","url":"visitAnyMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant)"},{"p":"proguard.evaluation","c":"ExecutingInvocationUnit","l":"visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant)","url":"visitAnyMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"visitAnyMethodrefConstant(Clazz, AnyMethodrefConstant)","url":"visitAnyMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.AnyMethodrefConstant)"},{"p":"proguard.classfile.util","c":"InvalidMemberReferenceVisitor","l":"visitAnyMissingField(Clazz, Clazz, String, String)","url":"visitAnyMissingField(proguard.classfile.Clazz,proguard.classfile.Clazz,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"InvalidMemberReferenceVisitor","l":"visitAnyMissingMember(Clazz, Clazz, String, String)","url":"visitAnyMissingMember(proguard.classfile.Clazz,proguard.classfile.Clazz,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"InvalidMemberReferenceVisitor","l":"visitAnyMissingMethod(Clazz, Clazz, String, String)","url":"visitAnyMissingMethod(proguard.classfile.Clazz,proguard.classfile.Clazz,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute)","url":"visitAnyParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute)","url":"visitAnyParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute)","url":"visitAnyParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute)","url":"visitAnyParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute)","url":"visitAnyParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute)","url":"visitAnyParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute)","url":"visitAnyParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute)","url":"visitAnyParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute)","url":"visitAnyParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute)","url":"visitAnyParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute)","url":"visitAnyParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitAnyParameterAnnotationsAttribute(Clazz, Method, ParameterAnnotationsAttribute)","url":"visitAnyParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute)"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantVisitor","l":"visitAnyPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant, Object)","url":"visitAnyPrimitiveArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,java.lang.Object)"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantElementVisitor","l":"visitAnyPrimitiveArrayConstantElement(Clazz, PrimitiveArrayConstant, int)","url":"visitAnyPrimitiveArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int)"},{"p":"proguard.util","c":"ProcessableVisitor","l":"visitAnyProcessable(Processable)","url":"visitAnyProcessable(proguard.util.Processable)"},{"p":"proguard.util","c":"ProcessingFlagCleaner","l":"visitAnyProcessable(Processable)","url":"visitAnyProcessable(proguard.util.Processable)"},{"p":"proguard.util","c":"ProcessingFlagSetter","l":"visitAnyProcessable(Processable)","url":"visitAnyProcessable(proguard.util.Processable)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeParameterVisitor","l":"visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata)","url":"visitAnyProperty(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata)","url":"visitAnyProperty(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllValueParameterVisitor","l":"visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata)","url":"visitAnyProperty(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata)","url":"visitAnyProperty(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinPropertyVisitor","l":"visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata)","url":"visitAnyProperty(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinPropertyFilter","l":"visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata)","url":"visitAnyProperty(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata)","url":"visitAnyProperty(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"PropertyIntegrity","l":"visitAnyProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata)","url":"visitAnyProperty(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitAnyRefConstant(Clazz, RefConstant)","url":"visitAnyRefConstant(proguard.classfile.Clazz,proguard.classfile.constant.RefConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitAnyRefConstant(Clazz, RefConstant)","url":"visitAnyRefConstant(proguard.classfile.Clazz,proguard.classfile.constant.RefConstant)"},{"p":"proguard.classfile.editor","c":"NameAndTypeShrinker","l":"visitAnyRefConstant(Clazz, RefConstant)","url":"visitAnyRefConstant(proguard.classfile.Clazz,proguard.classfile.constant.RefConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitAnyRefConstant(Clazz, RefConstant)","url":"visitAnyRefConstant(proguard.classfile.Clazz,proguard.classfile.constant.RefConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitAnyRefConstant(Clazz, RefConstant)","url":"visitAnyRefConstant(proguard.classfile.Clazz,proguard.classfile.constant.RefConstant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitAnyRefConstant(Clazz, RefConstant)","url":"visitAnyRefConstant(proguard.classfile.Clazz,proguard.classfile.constant.RefConstant)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitAnyRefConstant(Clazz, RefConstant)","url":"visitAnyRefConstant(proguard.classfile.Clazz,proguard.classfile.constant.RefConstant)"},{"p":"proguard.classfile.visitor","c":"ReferencedMemberVisitor","l":"visitAnyRefConstant(Clazz, RefConstant)","url":"visitAnyRefConstant(proguard.classfile.Clazz,proguard.classfile.constant.RefConstant)"},{"p":"proguard.resources.file.visitor","c":"MultiResourceFileVisitor","l":"visitAnyResourceFile(ResourceFile)","url":"visitAnyResourceFile(proguard.resources.file.ResourceFile)"},{"p":"proguard.resources.file.visitor","c":"ResourceFileNameFilter","l":"visitAnyResourceFile(ResourceFile)","url":"visitAnyResourceFile(proguard.resources.file.ResourceFile)"},{"p":"proguard.resources.file.visitor","c":"ResourceFilePoolFiller","l":"visitAnyResourceFile(ResourceFile)","url":"visitAnyResourceFile(proguard.resources.file.ResourceFile)"},{"p":"proguard.resources.file.visitor","c":"ResourceFileProcessingFlagFilter","l":"visitAnyResourceFile(ResourceFile)","url":"visitAnyResourceFile(proguard.resources.file.ResourceFile)"},{"p":"proguard.resources.file.visitor","c":"ResourceFileVisitor","l":"visitAnyResourceFile(ResourceFile)","url":"visitAnyResourceFile(proguard.resources.file.ResourceFile)"},{"p":"proguard.util","c":"ProcessableVisitor","l":"visitAnyResourceFile(ResourceFile)","url":"visitAnyResourceFile(proguard.resources.file.ResourceFile)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"StackMapFrameVisitor","l":"visitAnyStackMapFrame(Clazz, Method, CodeAttribute, int, StackMapFrame)","url":"visitAnyStackMapFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.StackMapFrame)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitAnyStackMapFrame(Clazz, Method, CodeAttribute, int, StackMapFrame)","url":"visitAnyStackMapFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.StackMapFrame)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitAnyStackMapFrame(Clazz, Method, CodeAttribute, int, StackMapFrame)","url":"visitAnyStackMapFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.StackMapFrame)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitAnyStackMapFrame(Clazz, Method, CodeAttribute, int, StackMapFrame)","url":"visitAnyStackMapFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.StackMapFrame)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitAnyStackMapFrame(Clazz, Method, CodeAttribute, int, StackMapFrame)","url":"visitAnyStackMapFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.StackMapFrame)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitAnyStackMapFrame(Clazz, Method, CodeAttribute, int, StackMapFrame)","url":"visitAnyStackMapFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.StackMapFrame)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation.InstructionAbstractInterpreter","l":"visitAnySwitchInstruction(Clazz, Method, CodeAttribute, int, SwitchInstruction)","url":"visitAnySwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SwitchInstruction)"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"visitAnySwitchInstruction(Clazz, Method, CodeAttribute, int, SwitchInstruction)","url":"visitAnySwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SwitchInstruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitAnySwitchInstruction(Clazz, Method, CodeAttribute, int, SwitchInstruction)","url":"visitAnySwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SwitchInstruction)"},{"p":"proguard.classfile.editor","c":"InstructionWriter","l":"visitAnySwitchInstruction(Clazz, Method, CodeAttribute, int, SwitchInstruction)","url":"visitAnySwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SwitchInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionVisitor","l":"visitAnySwitchInstruction(Clazz, Method, CodeAttribute, int, SwitchInstruction)","url":"visitAnySwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SwitchInstruction)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"visitAnySwitchInstruction(Clazz, Method, CodeAttribute, int, SwitchInstruction)","url":"visitAnySwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SwitchInstruction)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitAnyTargetInfo(Clazz, TypeAnnotation, TargetInfo)","url":"visitAnyTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TargetInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitAnyTargetInfo(Clazz, TypeAnnotation, TargetInfo)","url":"visitAnyTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TargetInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitAnyTargetInfo(Clazz, TypeAnnotation, TargetInfo)","url":"visitAnyTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TargetInfo)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitAnyTargetInfo(Clazz, TypeAnnotation, TargetInfo)","url":"visitAnyTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TargetInfo)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllKotlinAnnotationVisitor","l":"visitAnyType(Clazz, KotlinTypeMetadata)","url":"visitAnyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitAnyType(Clazz, KotlinTypeMetadata)","url":"visitAnyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAnyType(Clazz, KotlinTypeMetadata)","url":"visitAnyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitAnyType(Clazz, KotlinTypeMetadata)","url":"visitAnyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitAnyType(Clazz, KotlinTypeMetadata)","url":"visitAnyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitAnyType(Clazz, KotlinTypeMetadata)","url":"visitAnyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KmAnnotationIntegrity","l":"visitAnyType(Clazz, KotlinTypeMetadata)","url":"visitAnyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"TypeIntegrity","l":"visitAnyType(Clazz, KotlinTypeMetadata)","url":"visitAnyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitAnyTypeAnnotationsAttribute(Clazz, TypeAnnotationsAttribute)","url":"visitAnyTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitAnyTypeAnnotationsAttribute(Clazz, TypeAnnotationsAttribute)","url":"visitAnyTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitAnyTypeAnnotationsAttribute(Clazz, TypeAnnotationsAttribute)","url":"visitAnyTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitAnyTypeAnnotationsAttribute(Clazz, TypeAnnotationsAttribute)","url":"visitAnyTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotationsAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitAnyTypeAnnotationsAttribute(Clazz, TypeAnnotationsAttribute)","url":"visitAnyTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotationsAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitAnyTypeAnnotationsAttribute(Clazz, TypeAnnotationsAttribute)","url":"visitAnyTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotationsAttribute)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllKotlinAnnotationVisitor","l":"visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata)","url":"visitAnyTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata)","url":"visitAnyTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata)","url":"visitAnyTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeParameterVisitor","l":"visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata)","url":"visitAnyTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"MultiKotlinTypeParameterVisitor","l":"visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata)","url":"visitAnyTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeParameterFilter","l":"visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata)","url":"visitAnyTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata)","url":"visitAnyTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KmAnnotationIntegrity","l":"visitAnyTypeParameter(Clazz, KotlinTypeParameterMetadata)","url":"visitAnyTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitAnyValueParameter(Clazz, KotlinValueParameterMetadata)","url":"visitAnyValueParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAnyValueParameter(Clazz, KotlinValueParameterMetadata)","url":"visitAnyValueParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinValueParameterVisitor","l":"visitAnyValueParameter(Clazz, KotlinValueParameterMetadata)","url":"visitAnyValueParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinValueParameterFilter","l":"visitAnyValueParameter(Clazz, KotlinValueParameterMetadata)","url":"visitAnyValueParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitAnyValueParameter(Clazz, KotlinValueParameterMetadata)","url":"visitAnyValueParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"ValueParameterIntegrity","l":"visitAnyValueParameter(Clazz, KotlinValueParameterMetadata)","url":"visitAnyValueParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType)","url":"visitAnyVerificationType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.VerificationType)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType)","url":"visitAnyVerificationType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.VerificationType)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType)","url":"visitAnyVerificationType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.VerificationType)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType)","url":"visitAnyVerificationType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.VerificationType)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType)","url":"visitAnyVerificationType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.VerificationType)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType)","url":"visitAnyVerificationType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.VerificationType)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType)","url":"visitAnyVerificationType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.VerificationType)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitAnyVerificationType(Clazz, Method, CodeAttribute, int, VerificationType)","url":"visitAnyVerificationType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.VerificationType)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitAnyVersionRequirement(Clazz, KotlinVersionRequirementMetadata)","url":"visitAnyVersionRequirement(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinVersionRequirementMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinVersionRequirementVisitor","l":"visitAnyVersionRequirement(Clazz, KotlinVersionRequirementMetadata)","url":"visitAnyVersionRequirement(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinVersionRequirementMetadata)"},{"p":"proguard.dexfile.reader.node","c":"DexAnnotationNode","l":"visitArray(String)","url":"visitArray(java.lang.String)"},{"p":"proguard.dexfile.reader.visitors","c":"DexAnnotationVisitor","l":"visitArray(String)","url":"visitArray(java.lang.String)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitArrayArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ArrayValue)","url":"visitArrayArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.ArrayValue)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitArrayArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ArrayValue)","url":"visitArrayArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.ArrayValue)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"ElementValueVisitor","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.editor","c":"ElementValueAdder","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.io.kotlin","c":"KotlinMetadataWriter","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataVersionFilter","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitArrayElementValue(Clazz, Annotation, ArrayElementValue)","url":"visitArrayElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ArrayElementValue)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitBooleanArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.BooleanValue)","url":"visitBooleanArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.BooleanValue)"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantVisitor","l":"visitBooleanArrayConstant(Clazz, PrimitiveArrayConstant, boolean[])","url":"visitBooleanArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,boolean[])"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantElementVisitor","l":"visitBooleanArrayConstantElement(Clazz, PrimitiveArrayConstant, int, boolean)","url":"visitBooleanArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,boolean)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitBooleanArrayConstantElement(Clazz, PrimitiveArrayConstant, int, boolean)","url":"visitBooleanArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,boolean)"},{"p":"proguard.backport","c":"LambdaExpressionCollector","l":"visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo)","url":"visitBootstrapMethodInfo(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.classfile.attribute.visitor","c":"BootstrapMethodInfoVisitor","l":"visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo)","url":"visitBootstrapMethodInfo(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.classfile.constant.visitor","c":"AllBootstrapMethodArgumentVisitor","l":"visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo)","url":"visitBootstrapMethodInfo(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.classfile.constant.visitor","c":"BootstrapMethodHandleTraveler","l":"visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo)","url":"visitBootstrapMethodInfo(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodInfoAdder","l":"visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo)","url":"visitBootstrapMethodInfo(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeAdder","l":"visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo)","url":"visitBootstrapMethodInfo(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeShrinker","l":"visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo)","url":"visitBootstrapMethodInfo(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo)","url":"visitBootstrapMethodInfo(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo)","url":"visitBootstrapMethodInfo(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo)","url":"visitBootstrapMethodInfo(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo)","url":"visitBootstrapMethodInfo(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitBootstrapMethodInfo(Clazz, BootstrapMethodInfo)","url":"visitBootstrapMethodInfo(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodInfo)"},{"p":"proguard.backport","c":"LambdaExpressionCollector","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AllBootstrapMethodInfoVisitor","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.constant.visitor","c":"BootstrapMethodHandleTraveler","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeShrinker","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitBootstrapMethodsAttribute(Clazz, BootstrapMethodsAttribute)","url":"visitBootstrapMethodsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.BootstrapMethodsAttribute)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation.InstructionAbstractInterpreter","l":"visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction)","url":"visitBranchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.BranchInstruction)"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction)","url":"visitBranchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.BranchInstruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction)","url":"visitBranchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.BranchInstruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction)","url":"visitBranchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.BranchInstruction)"},{"p":"proguard.classfile.editor","c":"InstructionWriter","l":"visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction)","url":"visitBranchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.BranchInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionVisitor","l":"visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction)","url":"visitBranchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.BranchInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"MultiInstructionVisitor","l":"visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction)","url":"visitBranchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.BranchInstruction)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction)","url":"visitBranchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.BranchInstruction)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction)","url":"visitBranchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.BranchInstruction)"},{"p":"proguard.evaluation","c":"Processor","l":"visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction)","url":"visitBranchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.BranchInstruction)"},{"p":"proguard.preverify","c":"CodeSubroutineInliner","l":"visitBranchInstruction(Clazz, Method, CodeAttribute, int, BranchInstruction)","url":"visitBranchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.BranchInstruction)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitByteArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ByteValue)","url":"visitByteArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.ByteValue)"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantVisitor","l":"visitByteArrayConstant(Clazz, PrimitiveArrayConstant, byte[])","url":"visitByteArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,byte[])"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantElementVisitor","l":"visitByteArrayConstantElement(Clazz, PrimitiveArrayConstant, int, byte)","url":"visitByteArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,byte)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitByteArrayConstantElement(Clazz, PrimitiveArrayConstant, int, byte)","url":"visitByteArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,byte)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitCatchTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, CatchTargetInfo)","url":"visitCatchTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.CatchTargetInfo)"},{"p":"proguard.classfile.editor","c":"TargetInfoCopier","l":"visitCatchTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, CatchTargetInfo)","url":"visitCatchTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.CatchTargetInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitCatchTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, CatchTargetInfo)","url":"visitCatchTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.CatchTargetInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitCatchTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, CatchTargetInfo)","url":"visitCatchTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.CatchTargetInfo)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitCharArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.CharValue)","url":"visitCharArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.CharValue)"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantVisitor","l":"visitCharArrayConstant(Clazz, PrimitiveArrayConstant, char[])","url":"visitCharArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,char[])"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantElementVisitor","l":"visitCharArrayConstantElement(Clazz, PrimitiveArrayConstant, int, char)","url":"visitCharArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,char)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitCharArrayConstantElement(Clazz, PrimitiveArrayConstant, int, char)","url":"visitCharArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,char)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitClassArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ClassValue)","url":"visitClassArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitClassArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ClassValue)","url":"visitClassArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KmAnnotationIntegrity","l":"visitClassArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ClassValue)","url":"visitClassArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue)"},{"p":"proguard.analysis.cpa.jvm.util","c":"ConstantLookupVisitor","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ExceptClassConstantFilter","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.editor","c":"ExceptionAdder","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.editor","c":"InnerClassesAccessFixer","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.editor","c":"InterfaceAdder","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.editor","c":"MethodInvocationFixer","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.editor","c":"NestMemberAdder","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.editor","c":"PermittedSubclassAdder","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.util","c":"ClassRenamer","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.util","c":"ClassSuperHierarchyInitializer","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.util","c":"DynamicMemberReferenceInitializer","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.visitor","c":"ClassConstantClassFilter","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.visitor","c":"DotClassClassVisitor","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.visitor","c":"ImplementedClassConstantFilter","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.visitor","c":"ImplementingClassConstantFilter","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.evaluation","c":"ClassConstantValueFactory","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"visitClassConstant(Clazz, ClassConstant)","url":"visitClassConstant(proguard.classfile.Clazz,proguard.classfile.constant.ClassConstant)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitClassContextReceiverType(Clazz, KotlinMetadata, KotlinTypeMetadata)","url":"visitClassContextReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitClassContextReceiverType(Clazz, KotlinMetadata, KotlinTypeMetadata)","url":"visitClassContextReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitClassContextReceiverType(Clazz, KotlinMetadata, KotlinTypeMetadata)","url":"visitClassContextReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitClassElementValue(Clazz, Annotation, ClassElementValue)","url":"visitClassElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ClassElementValue)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"ElementValueVisitor","l":"visitClassElementValue(Clazz, Annotation, ClassElementValue)","url":"visitClassElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ClassElementValue)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitClassElementValue(Clazz, Annotation, ClassElementValue)","url":"visitClassElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ClassElementValue)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitClassElementValue(Clazz, Annotation, ClassElementValue)","url":"visitClassElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ClassElementValue)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitClassElementValue(Clazz, Annotation, ClassElementValue)","url":"visitClassElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ClassElementValue)"},{"p":"proguard.classfile.editor","c":"ElementValueAdder","l":"visitClassElementValue(Clazz, Annotation, ClassElementValue)","url":"visitClassElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ClassElementValue)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitClassElementValue(Clazz, Annotation, ClassElementValue)","url":"visitClassElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ClassElementValue)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitClassElementValue(Clazz, Annotation, ClassElementValue)","url":"visitClassElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ClassElementValue)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitClassElementValue(Clazz, Annotation, ClassElementValue)","url":"visitClassElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ClassElementValue)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitClassElementValue(Clazz, Annotation, ClassElementValue)","url":"visitClassElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ClassElementValue)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitClassElementValue(Clazz, Annotation, ClassElementValue)","url":"visitClassElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ClassElementValue)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitClassElementValue(Clazz, Annotation, ClassElementValue)","url":"visitClassElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ClassElementValue)"},{"p":"proguard.classfile.util","c":"ClassSubHierarchyInitializer","l":"visitClassPool(ClassPool)","url":"visitClassPool(proguard.classfile.ClassPool)"},{"p":"proguard.classfile.visitor","c":"AllClassVisitor","l":"visitClassPool(ClassPool)","url":"visitClassPool(proguard.classfile.ClassPool)"},{"p":"proguard.classfile.visitor","c":"ClassPoolClassVisitor","l":"visitClassPool(ClassPool)","url":"visitClassPool(proguard.classfile.ClassPool)"},{"p":"proguard.classfile.visitor","c":"ClassPoolVisitor","l":"visitClassPool(ClassPool)","url":"visitClassPool(proguard.classfile.ClassPool)"},{"p":"proguard.classfile.visitor","c":"FilteredClassVisitor","l":"visitClassPool(ClassPool)","url":"visitClassPool(proguard.classfile.ClassPool)"},{"p":"proguard.classfile.visitor","c":"MultiClassPoolVisitor","l":"visitClassPool(ClassPool)","url":"visitClassPool(proguard.classfile.ClassPool)"},{"p":"proguard.classfile.visitor","c":"NamedClassVisitor","l":"visitClassPool(ClassPool)","url":"visitClassPool(proguard.classfile.ClassPool)"},{"p":"proguard.classfile.visitor","c":"ParallelAllClassVisitor","l":"visitClassPool(ClassPool)","url":"visitClassPool(proguard.classfile.ClassPool)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeParameterVisitor","l":"visitClassTypeParameter(Clazz, KotlinClassKindMetadata, KotlinTypeParameterMetadata)","url":"visitClassTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"MultiKotlinTypeParameterVisitor","l":"visitClassTypeParameter(Clazz, KotlinClassKindMetadata, KotlinTypeParameterMetadata)","url":"visitClassTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeParameterFilter","l":"visitClassTypeParameter(Clazz, KotlinClassKindMetadata, KotlinTypeParameterMetadata)","url":"visitClassTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinVersionRequirementVisitor","l":"visitClassVersionRequirement(Clazz, KotlinMetadata, KotlinVersionRequirementMetadata)","url":"visitClassVersionRequirement(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinVersionRequirementMetadata)"},{"p":"proguard.dexfile.reader.node","c":"DexMethodNode","l":"visitCode()"},{"p":"proguard.dexfile.reader.visitors","c":"DexMethodVisitor","l":"visitCode()"},{"p":"proguard.analysis","c":"CallResolver","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.analysis","c":"DominatorCalculator","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.analysis.cpa.jvm.cfa.visitors","c":"JvmIntraproceduralCfaFillerAllInstructionVisitor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AllAttributeVisitor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AllExceptionInfoVisitor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeProcessingFlagFilter","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"CodeAttributeToMethodVisitor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"StackSizeComputer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeSorter","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeShrinker","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"BridgeMethodFixer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditorResetter","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"InitializerEditor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"InstructionWriter","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"MethodCopier","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"MethodInvocationFixer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"NamedAttributeDeleter","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"PeepholeEditor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"StackSizeUpdater","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"VariableCleaner","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"VariableEditor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"VariableSizeUpdater","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.instruction.visitor","c":"AllInstructionVisitor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.util","c":"ArrayInitializationReplacer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.util","c":"DynamicMemberReferenceInitializer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.visitor","c":"ConstructorMethodFilter","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.visitor","c":"LineNumberFinder","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.evaluation","c":"InitializationFinder","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.preverify","c":"CodePreverifier","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.preverify","c":"CodeSubroutineInliner","l":"visitCodeAttribute(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitCodeAttribute0(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute0(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"visitCodeAttribute0(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute0(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.preverify","c":"CodePreverifier","l":"visitCodeAttribute0(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute0(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.preverify","c":"CodeSubroutineInliner","l":"visitCodeAttribute0(Clazz, Method, CodeAttribute)","url":"visitCodeAttribute0(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinEffectExprVisitor","l":"visitConclusionExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata)","url":"visitConclusionExpression(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectMetadata,proguard.classfile.kotlin.KotlinEffectExpressionMetadata)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitConstantElementValue(Clazz, Annotation, ConstantElementValue)","url":"visitConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ConstantElementValue)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"ElementValueVisitor","l":"visitConstantElementValue(Clazz, Annotation, ConstantElementValue)","url":"visitConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ConstantElementValue)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitConstantElementValue(Clazz, Annotation, ConstantElementValue)","url":"visitConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ConstantElementValue)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitConstantElementValue(Clazz, Annotation, ConstantElementValue)","url":"visitConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ConstantElementValue)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitConstantElementValue(Clazz, Annotation, ConstantElementValue)","url":"visitConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ConstantElementValue)"},{"p":"proguard.classfile.editor","c":"ElementValueAdder","l":"visitConstantElementValue(Clazz, Annotation, ConstantElementValue)","url":"visitConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ConstantElementValue)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitConstantElementValue(Clazz, Annotation, ConstantElementValue)","url":"visitConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ConstantElementValue)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitConstantElementValue(Clazz, Annotation, ConstantElementValue)","url":"visitConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ConstantElementValue)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitConstantElementValue(Clazz, Annotation, ConstantElementValue)","url":"visitConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ConstantElementValue)"},{"p":"proguard.classfile.io.kotlin","c":"KotlinMetadataWriter","l":"visitConstantElementValue(Clazz, Annotation, ConstantElementValue)","url":"visitConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ConstantElementValue)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitConstantElementValue(Clazz, Annotation, ConstantElementValue)","url":"visitConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ConstantElementValue)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"visitConstantElementValue(Clazz, Annotation, ConstantElementValue)","url":"visitConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ConstantElementValue)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitConstantElementValue(Clazz, Annotation, ConstantElementValue)","url":"visitConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.ConstantElementValue)"},{"p":"proguard.analysis","c":"CallResolver","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintTransferRelation.InstructionAbstractInterpreter","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation.InstructionAbstractInterpreter","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeShrinker","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.editor","c":"BridgeMethodFixer","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.editor","c":"InstructionAdder","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.editor","c":"InstructionWriter","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.editor","c":"MethodInvocationFixer","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionConstantVisitor","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionVisitor","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"MultiInstructionVisitor","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.util","c":"EnumFieldReferenceInitializer","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.visitor","c":"DotClassClassVisitor","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.evaluation","c":"Processor","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.normalize","c":"LargeStringSplitter","l":"visitConstantInstruction(Clazz, Method, CodeAttribute, int, ConstantInstruction)","url":"visitConstantInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.ConstantInstruction)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeConstantVisitor","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitConstantValueAttribute(Clazz, Field, ConstantValueAttribute)","url":"visitConstantValueAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.ConstantValueAttribute)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitConstructor(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata)","url":"visitConstructor(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllValueParameterVisitor","l":"visitConstructor(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata)","url":"visitConstructor(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinConstructorVisitor","l":"visitConstructor(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata)","url":"visitConstructor(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitConstructor(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata)","url":"visitConstructor(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinConstructorFilter","l":"visitConstructor(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata)","url":"visitConstructor(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"ConstructorIntegrity","l":"visitConstructor(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata)","url":"visitConstructor(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinEffectExprVisitor","l":"visitConstructorArgExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata)","url":"visitConstructorArgExpression(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectMetadata,proguard.classfile.kotlin.KotlinEffectExpressionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitConstructorValParameter(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata)","url":"visitConstructorValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitConstructorValParameter(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata)","url":"visitConstructorValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinValueParameterVisitor","l":"visitConstructorValParameter(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata)","url":"visitConstructorValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinValueParameterFilter","l":"visitConstructorValParameter(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata)","url":"visitConstructorValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitConstructorValParameter(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata)","url":"visitConstructorValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"ValueParameterIntegrity","l":"visitConstructorValParameter(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata)","url":"visitConstructorValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitConstructorValParamType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitConstructorValParamType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitConstructorValParamType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitConstructorValParamType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitConstructorValParamType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitConstructorValParamType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitConstructorValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitConstructorValParamVarArgType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitConstructorValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitConstructorValParamVarArgType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitConstructorValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitConstructorValParamVarArgType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitConstructorValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinConstructorMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitConstructorValParamVarArgType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinVersionRequirementVisitor","l":"visitConstructorVersionRequirement(Clazz, KotlinMetadata, KotlinConstructorMetadata, KotlinVersionRequirementMetadata)","url":"visitConstructorVersionRequirement(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinConstructorMetadata,proguard.classfile.kotlin.KotlinVersionRequirementMetadata)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitConstStmt(Op, int, Object)","url":"visitConstStmt(proguard.dexfile.reader.Op,int,java.lang.Object)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitConstStmt(Op, int, Object)","url":"visitConstStmt(proguard.dexfile.reader.Op,int,java.lang.Object)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitContract(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata)","url":"visitContract(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinContractMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinContractVisitor","l":"visitContract(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata)","url":"visitContract(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinContractMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitContract(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata)","url":"visitContract(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinContractMetadata)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitDebug()"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitDebug()"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitDelegatedProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata)","url":"visitDelegatedProperty(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinPropertyVisitor","l":"visitDelegatedProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata)","url":"visitDelegatedProperty(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitDeprecatedAttribute(Clazz, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitDeprecatedAttribute(Clazz, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitDeprecatedAttribute(Clazz, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitDeprecatedAttribute(Clazz, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitDeprecatedAttribute(Clazz, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitDeprecatedAttribute(Clazz, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitDeprecatedAttribute(Clazz, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitDeprecatedAttribute(Clazz, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitDeprecatedAttribute(Clazz, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitDeprecatedAttribute(Clazz, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitDeprecatedAttribute(Clazz, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitDeprecatedAttribute(Clazz, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitDeprecatedAttribute(Clazz, Member, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute)","url":"visitDeprecatedAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.DeprecatedAttribute)"},{"p":"proguard.dexfile.reader.node","c":"DexFileNode","l":"visitDexFileVersion(int)"},{"p":"proguard.dexfile.reader.visitors","c":"DexFileVisitor","l":"visitDexFileVersion(int)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitDoubleArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.DoubleValue)","url":"visitDoubleArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.DoubleValue)"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantVisitor","l":"visitDoubleArrayConstant(Clazz, PrimitiveArrayConstant, double[])","url":"visitDoubleArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,double[])"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantElementVisitor","l":"visitDoubleArrayConstantElement(Clazz, PrimitiveArrayConstant, int, double)","url":"visitDoubleArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,double)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitDoubleArrayConstantElement(Clazz, PrimitiveArrayConstant, int, double)","url":"visitDoubleArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,double)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitDoubleConstant(Clazz, DoubleConstant)","url":"visitDoubleConstant(proguard.classfile.Clazz,proguard.classfile.constant.DoubleConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitDoubleConstant(Clazz, DoubleConstant)","url":"visitDoubleConstant(proguard.classfile.Clazz,proguard.classfile.constant.DoubleConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitDoubleConstant(Clazz, DoubleConstant)","url":"visitDoubleConstant(proguard.classfile.Clazz,proguard.classfile.constant.DoubleConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitDoubleConstant(Clazz, DoubleConstant)","url":"visitDoubleConstant(proguard.classfile.Clazz,proguard.classfile.constant.DoubleConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitDoubleConstant(Clazz, DoubleConstant)","url":"visitDoubleConstant(proguard.classfile.Clazz,proguard.classfile.constant.DoubleConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitDoubleConstant(Clazz, DoubleConstant)","url":"visitDoubleConstant(proguard.classfile.Clazz,proguard.classfile.constant.DoubleConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitDoubleConstant(Clazz, DoubleConstant)","url":"visitDoubleConstant(proguard.classfile.Clazz,proguard.classfile.constant.DoubleConstant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitDoubleConstant(Clazz, DoubleConstant)","url":"visitDoubleConstant(proguard.classfile.Clazz,proguard.classfile.constant.DoubleConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitDoubleConstant(Clazz, DoubleConstant)","url":"visitDoubleConstant(proguard.classfile.Clazz,proguard.classfile.constant.DoubleConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitDoubleConstant(Clazz, DoubleConstant)","url":"visitDoubleConstant(proguard.classfile.Clazz,proguard.classfile.constant.DoubleConstant)"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"visitDoubleConstant(Clazz, DoubleConstant)","url":"visitDoubleConstant(proguard.classfile.Clazz,proguard.classfile.constant.DoubleConstant)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitDoubleType(Clazz, Method, CodeAttribute, int, DoubleType)","url":"visitDoubleType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.DoubleType)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitDoubleType(Clazz, Method, CodeAttribute, int, DoubleType)","url":"visitDoubleType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.DoubleType)"},{"p":"proguard.classfile.constant.visitor","c":"BootstrapMethodHandleTraveler","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodRemapper","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.classfile.visitor","c":"DynamicReturnedClassVisitor","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"visitDynamicConstant(Clazz, DynamicConstant)","url":"visitDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.DynamicConstant)"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt","l":"visited"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitEffect(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata, KotlinEffectMetadata)","url":"visitEffect(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinContractMetadata,proguard.classfile.kotlin.KotlinEffectMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinEffectVisitor","l":"visitEffect(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata, KotlinEffectMetadata)","url":"visitEffect(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinContractMetadata,proguard.classfile.kotlin.KotlinEffectMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitEffect(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata, KotlinEffectMetadata)","url":"visitEffect(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinContractMetadata,proguard.classfile.kotlin.KotlinEffectMetadata)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitEmptyTargetInfo(Clazz, Field, TypeAnnotation, EmptyTargetInfo)","url":"visitEmptyTargetInfo(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.EmptyTargetInfo)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitEmptyTargetInfo(Clazz, Member, TypeAnnotation, EmptyTargetInfo)","url":"visitEmptyTargetInfo(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.EmptyTargetInfo)"},{"p":"proguard.classfile.editor","c":"TargetInfoCopier","l":"visitEmptyTargetInfo(Clazz, Member, TypeAnnotation, EmptyTargetInfo)","url":"visitEmptyTargetInfo(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.EmptyTargetInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitEmptyTargetInfo(Clazz, Member, TypeAnnotation, EmptyTargetInfo)","url":"visitEmptyTargetInfo(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.EmptyTargetInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitEmptyTargetInfo(Clazz, Member, TypeAnnotation, EmptyTargetInfo)","url":"visitEmptyTargetInfo(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.EmptyTargetInfo)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitEmptyTargetInfo(Clazz, Method, TypeAnnotation, EmptyTargetInfo)","url":"visitEmptyTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.EmptyTargetInfo)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.editor","c":"NameAndTypeShrinker","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitEnclosingMethodAttribute(Clazz, EnclosingMethodAttribute)","url":"visitEnclosingMethodAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.EnclosingMethodAttribute)"},{"p":"proguard.dexfile.reader.visitors","c":"DexAnnotationVisitor","l":"visitEnd()"},{"p":"proguard.dexfile.reader.visitors","c":"DexClassVisitor","l":"visitEnd()"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitEnd()"},{"p":"proguard.dexfile.reader.visitors","c":"DexDebugVisitor","l":"visitEnd()"},{"p":"proguard.dexfile.reader.visitors","c":"DexFieldVisitor","l":"visitEnd()"},{"p":"proguard.dexfile.reader.visitors","c":"DexFileVisitor","l":"visitEnd()"},{"p":"proguard.dexfile.reader.visitors","c":"DexMethodVisitor","l":"visitEnd()"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"visitEndLocal(int, DexLabel)","url":"visitEndLocal(int,proguard.dexfile.reader.DexLabel)"},{"p":"proguard.dexfile.reader.visitors","c":"DexDebugVisitor","l":"visitEndLocal(int, DexLabel)","url":"visitEndLocal(int,proguard.dexfile.reader.DexLabel)"},{"p":"proguard.dexfile.reader.node","c":"DexAnnotationNode","l":"visitEnum(String, String, String)","url":"visitEnum(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.dexfile.reader.visitors","c":"DexAnnotationVisitor","l":"visitEnum(String, String, String)","url":"visitEnum(java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitEnumArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.EnumValue)","url":"visitEnumArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.EnumValue)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitEnumArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.EnumValue)","url":"visitEnumArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.EnumValue)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KmAnnotationIntegrity","l":"visitEnumArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.EnumValue)","url":"visitEnumArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.EnumValue)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue)","url":"visitEnumConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.EnumConstantElementValue)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"ElementValueVisitor","l":"visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue)","url":"visitEnumConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.EnumConstantElementValue)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue)","url":"visitEnumConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.EnumConstantElementValue)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue)","url":"visitEnumConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.EnumConstantElementValue)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue)","url":"visitEnumConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.EnumConstantElementValue)"},{"p":"proguard.classfile.editor","c":"ElementValueAdder","l":"visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue)","url":"visitEnumConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.EnumConstantElementValue)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue)","url":"visitEnumConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.EnumConstantElementValue)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue)","url":"visitEnumConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.EnumConstantElementValue)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue)","url":"visitEnumConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.EnumConstantElementValue)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue)","url":"visitEnumConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.EnumConstantElementValue)"},{"p":"proguard.classfile.util","c":"EnumFieldReferenceInitializer","l":"visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue)","url":"visitEnumConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.EnumConstantElementValue)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue)","url":"visitEnumConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.EnumConstantElementValue)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitEnumConstantElementValue(Clazz, Annotation, EnumConstantElementValue)","url":"visitEnumConstantElementValue(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.Annotation,proguard.classfile.attribute.annotation.EnumConstantElementValue)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"visitEpiogue(DexLabel)","url":"visitEpiogue(proguard.dexfile.reader.DexLabel)"},{"p":"proguard.dexfile.reader.visitors","c":"DexDebugVisitor","l":"visitEpiogue(DexLabel)","url":"visitEpiogue(proguard.dexfile.reader.DexLabel)"},{"p":"proguard.classfile.attribute.visitor","c":"ExceptionInfoVisitor","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.editor","c":"ExceptionInfoAdder","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.visitor","c":"ExceptionCounter","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.visitor","c":"ExceptionExcludedOffsetFilter","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.visitor","c":"ExceptionHandlerConstantVisitor","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.visitor","c":"ExceptionHandlerFilter","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.visitor","c":"ExceptionOffsetFilter","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.visitor","c":"ExceptionRangeFilter","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.evaluation","c":"PartialEvaluator","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.preverify","c":"CodeSubroutineInliner","l":"visitExceptionInfo(Clazz, Method, CodeAttribute, ExceptionInfo)","url":"visitExceptionInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.ExceptionInfo)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitExceptionsAttribute(Clazz, Method, ExceptionsAttribute)","url":"visitExceptionsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.ExceptionsAttribute)"},{"p":"proguard.classfile.attribute.module.visitor","c":"ExportsInfoVisitor","l":"visitExportsInfo(Clazz, ExportsInfo)","url":"visitExportsInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.ExportsInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitExportsInfo(Clazz, ExportsInfo)","url":"visitExportsInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.ExportsInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitExportsInfo(Clazz, ExportsInfo)","url":"visitExportsInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.ExportsInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitExportsInfo(Clazz, ExportsInfo)","url":"visitExportsInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.ExportsInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitExportsInfo(Clazz, ExportsInfo)","url":"visitExportsInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.ExportsInfo)"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"visitField(int, Field, Object)","url":"visitField(int,proguard.dexfile.reader.Field,java.lang.Object)"},{"p":"proguard.dexfile.reader.visitors","c":"DexClassVisitor","l":"visitField(int, Field, Object)","url":"visitField(int,proguard.dexfile.reader.Field,java.lang.Object)"},{"p":"proguard.analysis.cpa.jvm.util","c":"ConstantLookupVisitor","l":"visitFieldrefConstant(Clazz, FieldrefConstant)","url":"visitFieldrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitFieldrefConstant(Clazz, FieldrefConstant)","url":"visitFieldrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitFieldrefConstant(Clazz, FieldrefConstant)","url":"visitFieldrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitFieldrefConstant(Clazz, FieldrefConstant)","url":"visitFieldrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitFieldrefConstant(Clazz, FieldrefConstant)","url":"visitFieldrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitFieldrefConstant(Clazz, FieldrefConstant)","url":"visitFieldrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitFieldrefConstant(Clazz, FieldrefConstant)","url":"visitFieldrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitFieldrefConstant(Clazz, FieldrefConstant)","url":"visitFieldrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant)"},{"p":"proguard.classfile.util","c":"EnumFieldReferenceInitializer","l":"visitFieldrefConstant(Clazz, FieldrefConstant)","url":"visitFieldrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitFieldrefConstant(Clazz, FieldrefConstant)","url":"visitFieldrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitFieldrefConstant(Clazz, FieldrefConstant)","url":"visitFieldrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"visitFieldrefConstant(Clazz, FieldrefConstant)","url":"visitFieldrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.FieldrefConstant)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitFieldStmt(Op, int, int, Field)","url":"visitFieldStmt(proguard.dexfile.reader.Op,int,int,proguard.dexfile.reader.Field)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitFieldStmt(Op, int, int, Field)","url":"visitFieldStmt(proguard.dexfile.reader.Op,int,int,proguard.dexfile.reader.Field)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitFillArrayDataStmt(Op, int, Object)","url":"visitFillArrayDataStmt(proguard.dexfile.reader.Op,int,java.lang.Object)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitFillArrayDataStmt(Op, int, Object)","url":"visitFillArrayDataStmt(proguard.dexfile.reader.Op,int,java.lang.Object)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitFilledNewArrayStmt(Op, int[], String)","url":"visitFilledNewArrayStmt(proguard.dexfile.reader.Op,int[],java.lang.String)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitFilledNewArrayStmt(Op, int[], String)","url":"visitFilledNewArrayStmt(proguard.dexfile.reader.Op,int[],java.lang.String)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitFloatArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.FloatValue)","url":"visitFloatArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.FloatValue)"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantVisitor","l":"visitFloatArrayConstant(Clazz, PrimitiveArrayConstant, float[])","url":"visitFloatArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,float[])"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantElementVisitor","l":"visitFloatArrayConstantElement(Clazz, PrimitiveArrayConstant, int, float)","url":"visitFloatArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,float)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitFloatArrayConstantElement(Clazz, PrimitiveArrayConstant, int, float)","url":"visitFloatArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,float)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitFloatConstant(Clazz, FloatConstant)","url":"visitFloatConstant(proguard.classfile.Clazz,proguard.classfile.constant.FloatConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitFloatConstant(Clazz, FloatConstant)","url":"visitFloatConstant(proguard.classfile.Clazz,proguard.classfile.constant.FloatConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitFloatConstant(Clazz, FloatConstant)","url":"visitFloatConstant(proguard.classfile.Clazz,proguard.classfile.constant.FloatConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitFloatConstant(Clazz, FloatConstant)","url":"visitFloatConstant(proguard.classfile.Clazz,proguard.classfile.constant.FloatConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitFloatConstant(Clazz, FloatConstant)","url":"visitFloatConstant(proguard.classfile.Clazz,proguard.classfile.constant.FloatConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitFloatConstant(Clazz, FloatConstant)","url":"visitFloatConstant(proguard.classfile.Clazz,proguard.classfile.constant.FloatConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitFloatConstant(Clazz, FloatConstant)","url":"visitFloatConstant(proguard.classfile.Clazz,proguard.classfile.constant.FloatConstant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitFloatConstant(Clazz, FloatConstant)","url":"visitFloatConstant(proguard.classfile.Clazz,proguard.classfile.constant.FloatConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitFloatConstant(Clazz, FloatConstant)","url":"visitFloatConstant(proguard.classfile.Clazz,proguard.classfile.constant.FloatConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitFloatConstant(Clazz, FloatConstant)","url":"visitFloatConstant(proguard.classfile.Clazz,proguard.classfile.constant.FloatConstant)"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"visitFloatConstant(Clazz, FloatConstant)","url":"visitFloatConstant(proguard.classfile.Clazz,proguard.classfile.constant.FloatConstant)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitFloatType(Clazz, Method, CodeAttribute, int, FloatType)","url":"visitFloatType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.FloatType)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitFloatType(Clazz, Method, CodeAttribute, int, FloatType)","url":"visitFloatType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.FloatType)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitFormalParameterTargetInfo(Clazz, Method, TypeAnnotation, FormalParameterTargetInfo)","url":"visitFormalParameterTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.FormalParameterTargetInfo)"},{"p":"proguard.classfile.editor","c":"TargetInfoCopier","l":"visitFormalParameterTargetInfo(Clazz, Method, TypeAnnotation, FormalParameterTargetInfo)","url":"visitFormalParameterTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.FormalParameterTargetInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitFormalParameterTargetInfo(Clazz, Method, TypeAnnotation, FormalParameterTargetInfo)","url":"visitFormalParameterTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.FormalParameterTargetInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitFormalParameterTargetInfo(Clazz, Method, TypeAnnotation, FormalParameterTargetInfo)","url":"visitFormalParameterTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.FormalParameterTargetInfo)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"StackMapFrameVisitor","l":"visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame)","url":"visitFullFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.FullFrame)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame)","url":"visitFullFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.FullFrame)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame)","url":"visitFullFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.FullFrame)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame)","url":"visitFullFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.FullFrame)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame)","url":"visitFullFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.FullFrame)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame)","url":"visitFullFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.FullFrame)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame)","url":"visitFullFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.FullFrame)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitFullFrame(Clazz, Method, CodeAttribute, int, FullFrame)","url":"visitFullFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.FullFrame)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinFunctionVisitor","l":"visitFunction(Clazz, KotlinDeclarationContainerMetadata, KotlinFunctionMetadata)","url":"visitFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitFunction(Clazz, KotlinDeclarationContainerMetadata, KotlinFunctionMetadata)","url":"visitFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinFunctionFilter","l":"visitFunction(Clazz, KotlinDeclarationContainerMetadata, KotlinFunctionMetadata)","url":"visitFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitFunctionContextReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata)","url":"visitFunctionContextReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitFunctionContextReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata)","url":"visitFunctionContextReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitFunctionContextReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata)","url":"visitFunctionContextReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitFunctionReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata)","url":"visitFunctionReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitFunctionReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata)","url":"visitFunctionReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitFunctionReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata)","url":"visitFunctionReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitFunctionReceiverType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata)","url":"visitFunctionReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.reflect.visitor","c":"CallableReferenceInfoVisitor","l":"visitFunctionReferenceInfo(FunctionReferenceInfo)","url":"visitFunctionReferenceInfo(proguard.classfile.kotlin.reflect.FunctionReferenceInfo)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitFunctionReturnType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata)","url":"visitFunctionReturnType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitFunctionReturnType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata)","url":"visitFunctionReturnType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitFunctionReturnType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata)","url":"visitFunctionReturnType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitFunctionReturnType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeMetadata)","url":"visitFunctionReturnType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeParameterVisitor","l":"visitFunctionTypeParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeParameterMetadata)","url":"visitFunctionTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"MultiKotlinTypeParameterVisitor","l":"visitFunctionTypeParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeParameterMetadata)","url":"visitFunctionTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeParameterFilter","l":"visitFunctionTypeParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeParameterMetadata)","url":"visitFunctionTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitFunctionValParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata)","url":"visitFunctionValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitFunctionValParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata)","url":"visitFunctionValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinValueParameterVisitor","l":"visitFunctionValParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata)","url":"visitFunctionValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinValueParameterFilter","l":"visitFunctionValParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata)","url":"visitFunctionValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitFunctionValParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata)","url":"visitFunctionValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"ValueParameterIntegrity","l":"visitFunctionValParameter(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata)","url":"visitFunctionValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitFunctionValParamType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitFunctionValParamType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitFunctionValParamType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitFunctionValParamType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitFunctionValParamType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitFunctionValParamType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitFunctionValParamVarArgType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitFunctionValParamVarArgType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitFunctionValParamVarArgType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitFunctionValParamVarArgType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitFunctionValParamVarArgType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitFunctionValParamVarArgType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitFunctionValParamVarArgType(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitFunctionValParamVarArgType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinVersionRequirementVisitor","l":"visitFunctionVersionRequirement(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinVersionRequirementMetadata)","url":"visitFunctionVersionRequirement(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata,proguard.classfile.kotlin.KotlinVersionRequirementMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitInlineClassUnderlyingPropertyType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata)","url":"visitInlineClassUnderlyingPropertyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitInlineClassUnderlyingPropertyType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata)","url":"visitInlineClassUnderlyingPropertyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitInlineClassUnderlyingPropertyType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata)","url":"visitInlineClassUnderlyingPropertyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.attribute.visitor","c":"AllInnerClassesInfoVisitor","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitInnerClassesAttribute(Clazz, InnerClassesAttribute)","url":"visitInnerClassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"InnerClassesInfoVisitor","l":"visitInnerClassesInfo(Clazz, InnerClassesInfo)","url":"visitInnerClassesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesInfo)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitInnerClassesInfo(Clazz, InnerClassesInfo)","url":"visitInnerClassesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitInnerClassesInfo(Clazz, InnerClassesInfo)","url":"visitInnerClassesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitInnerClassesInfo(Clazz, InnerClassesInfo)","url":"visitInnerClassesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesInfo)"},{"p":"proguard.classfile.editor","c":"InnerClassesAccessFixer","l":"visitInnerClassesInfo(Clazz, InnerClassesInfo)","url":"visitInnerClassesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesInfo)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitInnerClassesInfo(Clazz, InnerClassesInfo)","url":"visitInnerClassesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitInnerClassesInfo(Clazz, InnerClassesInfo)","url":"visitInnerClassesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesInfo)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitInnerClassesInfo(Clazz, InnerClassesInfo)","url":"visitInnerClassesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitInnerClassesInfo(Clazz, InnerClassesInfo)","url":"visitInnerClassesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesInfo)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitInnerClassesInfo(Clazz, InnerClassesInfo)","url":"visitInnerClassesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.InnerClassesInfo)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitIntArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.IntValue)","url":"visitIntArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.IntValue)"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantVisitor","l":"visitIntArrayConstant(Clazz, PrimitiveArrayConstant, int[])","url":"visitIntArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int[])"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantElementVisitor","l":"visitIntArrayConstantElement(Clazz, PrimitiveArrayConstant, int, int)","url":"visitIntArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,int)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitIntArrayConstantElement(Clazz, PrimitiveArrayConstant, int, int)","url":"visitIntArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,int)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitIntegerConstant(Clazz, IntegerConstant)","url":"visitIntegerConstant(proguard.classfile.Clazz,proguard.classfile.constant.IntegerConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitIntegerConstant(Clazz, IntegerConstant)","url":"visitIntegerConstant(proguard.classfile.Clazz,proguard.classfile.constant.IntegerConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitIntegerConstant(Clazz, IntegerConstant)","url":"visitIntegerConstant(proguard.classfile.Clazz,proguard.classfile.constant.IntegerConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitIntegerConstant(Clazz, IntegerConstant)","url":"visitIntegerConstant(proguard.classfile.Clazz,proguard.classfile.constant.IntegerConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitIntegerConstant(Clazz, IntegerConstant)","url":"visitIntegerConstant(proguard.classfile.Clazz,proguard.classfile.constant.IntegerConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitIntegerConstant(Clazz, IntegerConstant)","url":"visitIntegerConstant(proguard.classfile.Clazz,proguard.classfile.constant.IntegerConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitIntegerConstant(Clazz, IntegerConstant)","url":"visitIntegerConstant(proguard.classfile.Clazz,proguard.classfile.constant.IntegerConstant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitIntegerConstant(Clazz, IntegerConstant)","url":"visitIntegerConstant(proguard.classfile.Clazz,proguard.classfile.constant.IntegerConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitIntegerConstant(Clazz, IntegerConstant)","url":"visitIntegerConstant(proguard.classfile.Clazz,proguard.classfile.constant.IntegerConstant)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"visitIntegerConstant(Clazz, IntegerConstant)","url":"visitIntegerConstant(proguard.classfile.Clazz,proguard.classfile.constant.IntegerConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitIntegerConstant(Clazz, IntegerConstant)","url":"visitIntegerConstant(proguard.classfile.Clazz,proguard.classfile.constant.IntegerConstant)"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"visitIntegerConstant(Clazz, IntegerConstant)","url":"visitIntegerConstant(proguard.classfile.Clazz,proguard.classfile.constant.IntegerConstant)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitIntegerType(Clazz, Method, CodeAttribute, int, IntegerType)","url":"visitIntegerType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.IntegerType)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitIntegerType(Clazz, Method, CodeAttribute, int, IntegerType)","url":"visitIntegerType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.IntegerType)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant)","url":"visitInterfaceMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.InterfaceMethodrefConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant)","url":"visitInterfaceMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.InterfaceMethodrefConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant)","url":"visitInterfaceMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.InterfaceMethodrefConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant)","url":"visitInterfaceMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.InterfaceMethodrefConstant)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant)","url":"visitInterfaceMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.InterfaceMethodrefConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant)","url":"visitInterfaceMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.InterfaceMethodrefConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant)","url":"visitInterfaceMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.InterfaceMethodrefConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitInterfaceMethodrefConstant(Clazz, InterfaceMethodrefConstant)","url":"visitInterfaceMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.InterfaceMethodrefConstant)"},{"p":"proguard.backport","c":"LambdaExpressionCollector","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.constant.visitor","c":"BootstrapMethodHandleTraveler","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodRemapper","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.editor","c":"NameAndTypeShrinker","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.visitor","c":"DynamicReturnedClassVisitor","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"visitInvokeDynamicConstant(Clazz, InvokeDynamicConstant)","url":"visitInvokeDynamicConstant(proguard.classfile.Clazz,proguard.classfile.constant.InvokeDynamicConstant)"},{"p":"proguard.classfile.kotlin.reflect.visitor","c":"CallableReferenceInfoVisitor","l":"visitJavaReferenceInfo(JavaReferenceInfo)","url":"visitJavaReferenceInfo(proguard.classfile.kotlin.reflect.JavaReferenceInfo)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitJumpStmt(Op, int, int, DexLabel)","url":"visitJumpStmt(proguard.dexfile.reader.Op,int,int,proguard.dexfile.reader.DexLabel)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitJumpStmt(Op, int, int, DexLabel)","url":"visitJumpStmt(proguard.dexfile.reader.Op,int,int,proguard.dexfile.reader.DexLabel)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllConstructorVisitor","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeParameterVisitor","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllValueParameterVisitor","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinClassToAnonymousObjectOriginClassVisitor","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinClassToDefaultImplsClassVisitor","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinClassVisitor","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataVisitor","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinClassKindFilter","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.classfile.util","c":"StringSharer","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"ClassIntegrity","l":"visitKotlinClassMetadata(Clazz, KotlinClassKindMetadata)","url":"visitKotlinClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata)"},{"p":"proguard.classfile.kotlin.reflect.util","c":"KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllFunctionVisitor","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllKotlinAnnotationVisitor","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllPropertyVisitor","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeAliasVisitor","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeParameterVisitor","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllValueParameterVisitor","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinClassToInlineOriginFunctionVisitor","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataToClazzVisitor","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataVisitor","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinDeclarationContainerFilter","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.resources.kotlinmodule.visitor","c":"KotlinMetadataToModuleVisitor","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"DeclarationContainerIntegrity","l":"visitKotlinDeclarationContainerMetadata(Clazz, KotlinDeclarationContainerMetadata)","url":"visitKotlinDeclarationContainerMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinFileFacadeVisitor","l":"visitKotlinFileFacadeMetadata(Clazz, KotlinFileFacadeKindMetadata)","url":"visitKotlinFileFacadeMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinFileFacadeKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitKotlinFileFacadeMetadata(Clazz, KotlinFileFacadeKindMetadata)","url":"visitKotlinFileFacadeMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinFileFacadeKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataVisitor","l":"visitKotlinFileFacadeMetadata(Clazz, KotlinFileFacadeKindMetadata)","url":"visitKotlinFileFacadeMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinFileFacadeKindMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"FileFacadeIntegrity","l":"visitKotlinFileFacadeMetadata(Clazz, KotlinFileFacadeKindMetadata)","url":"visitKotlinFileFacadeMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinFileFacadeKindMetadata)"},{"p":"proguard.resources.file.visitor","c":"ResourceFilePresenceFilter","l":"visitKotlinModule(KotlinModule)","url":"visitKotlinModule(proguard.resources.kotlinmodule.KotlinModule)"},{"p":"proguard.resources.file.visitor","c":"ResourceFileVisitor","l":"visitKotlinModule(KotlinModule)","url":"visitKotlinModule(proguard.resources.kotlinmodule.KotlinModule)"},{"p":"proguard.resources.file.visitor","c":"ResourceJavaReferenceClassInitializer","l":"visitKotlinModule(KotlinModule)","url":"visitKotlinModule(proguard.resources.kotlinmodule.KotlinModule)"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleReader","l":"visitKotlinModule(KotlinModule)","url":"visitKotlinModule(proguard.resources.kotlinmodule.KotlinModule)"},{"p":"proguard.resources.kotlinmodule.io","c":"KotlinModuleWriter","l":"visitKotlinModule(KotlinModule)","url":"visitKotlinModule(proguard.resources.kotlinmodule.KotlinModule)"},{"p":"proguard.resources.kotlinmodule.util","c":"KotlinModuleReferenceInitializer","l":"visitKotlinModule(KotlinModule)","url":"visitKotlinModule(proguard.resources.kotlinmodule.KotlinModule)"},{"p":"proguard.resources.kotlinmodule.visitor","c":"KotlinModulePrinter","l":"visitKotlinModule(KotlinModule)","url":"visitKotlinModule(proguard.resources.kotlinmodule.KotlinModule)"},{"p":"proguard.resources.kotlinmodule.visitor","c":"KotlinModuleVisitor","l":"visitKotlinModule(KotlinModule)","url":"visitKotlinModule(proguard.resources.kotlinmodule.KotlinModule)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KotlinModuleIntegrity","l":"visitKotlinModule(KotlinModule)","url":"visitKotlinModule(proguard.resources.kotlinmodule.KotlinModule)"},{"p":"proguard.resources.kotlinmodule.util","c":"KotlinModuleReferenceInitializer","l":"visitKotlinModulePackage(KotlinModule, KotlinModulePackage)","url":"visitKotlinModulePackage(proguard.resources.kotlinmodule.KotlinModule,proguard.resources.kotlinmodule.KotlinModulePackage)"},{"p":"proguard.resources.kotlinmodule.visitor","c":"KotlinModulePackageVisitor","l":"visitKotlinModulePackage(KotlinModule, KotlinModulePackage)","url":"visitKotlinModulePackage(proguard.resources.kotlinmodule.KotlinModule,proguard.resources.kotlinmodule.KotlinModulePackage)"},{"p":"proguard.resources.kotlinmodule.visitor","c":"KotlinModulePrinter","l":"visitKotlinModulePackage(KotlinModule, KotlinModulePackage)","url":"visitKotlinModulePackage(proguard.resources.kotlinmodule.KotlinModule,proguard.resources.kotlinmodule.KotlinModulePackage)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitKotlinMultiFileFacadeMetadata(Clazz, KotlinMultiFileFacadeKindMetadata)","url":"visitKotlinMultiFileFacadeMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMultiFileFacadeKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataVisitor","l":"visitKotlinMultiFileFacadeMetadata(Clazz, KotlinMultiFileFacadeKindMetadata)","url":"visitKotlinMultiFileFacadeMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMultiFileFacadeKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMultiFileFacadeVisitor","l":"visitKotlinMultiFileFacadeMetadata(Clazz, KotlinMultiFileFacadeKindMetadata)","url":"visitKotlinMultiFileFacadeMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMultiFileFacadeKindMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"MultiFileFacadeIntegrity","l":"visitKotlinMultiFileFacadeMetadata(Clazz, KotlinMultiFileFacadeKindMetadata)","url":"visitKotlinMultiFileFacadeMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMultiFileFacadeKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitKotlinMultiFilePartMetadata(Clazz, KotlinMultiFilePartKindMetadata)","url":"visitKotlinMultiFilePartMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMultiFilePartKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataVisitor","l":"visitKotlinMultiFilePartMetadata(Clazz, KotlinMultiFilePartKindMetadata)","url":"visitKotlinMultiFilePartMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMultiFilePartKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMultiFilePartVisitor","l":"visitKotlinMultiFilePartMetadata(Clazz, KotlinMultiFilePartKindMetadata)","url":"visitKotlinMultiFilePartMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMultiFilePartKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinMultiFilePartKindFilter","l":"visitKotlinMultiFilePartMetadata(Clazz, KotlinMultiFilePartKindMetadata)","url":"visitKotlinMultiFilePartMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMultiFilePartKindMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"MultiFilePartIntegrity","l":"visitKotlinMultiFilePartMetadata(Clazz, KotlinMultiFilePartKindMetadata)","url":"visitKotlinMultiFilePartMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMultiFilePartKindMetadata)"},{"p":"proguard.classfile.kotlin.reflect.util","c":"KotlinCallableReferenceInitializer","l":"visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata)","url":"visitKotlinSyntheticClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllFunctionVisitor","l":"visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata)","url":"visitKotlinSyntheticClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeParameterVisitor","l":"visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata)","url":"visitKotlinSyntheticClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata)","url":"visitKotlinSyntheticClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllValueParameterVisitor","l":"visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata)","url":"visitKotlinSyntheticClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata)","url":"visitKotlinSyntheticClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataToClazzVisitor","l":"visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata)","url":"visitKotlinSyntheticClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataVisitor","l":"visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata)","url":"visitKotlinSyntheticClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinSyntheticClassVisitor","l":"visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata)","url":"visitKotlinSyntheticClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinSyntheticClassKindFilter","l":"visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata)","url":"visitKotlinSyntheticClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata)","url":"visitKotlinSyntheticClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"SyntheticClassIntegrity","l":"visitKotlinSyntheticClassMetadata(Clazz, KotlinSyntheticClassKindMetadata)","url":"visitKotlinSyntheticClassMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitLabel(DexLabel)","url":"visitLabel(proguard.dexfile.reader.DexLabel)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitLabel(DexLabel)","url":"visitLabel(proguard.dexfile.reader.DexLabel)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"StackMapFrameVisitor","l":"visitLessZeroFrame(Clazz, Method, CodeAttribute, int, LessZeroFrame)","url":"visitLessZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.LessZeroFrame)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitLessZeroFrame(Clazz, Method, CodeAttribute, int, LessZeroFrame)","url":"visitLessZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.LessZeroFrame)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitLessZeroFrame(Clazz, Method, CodeAttribute, int, LessZeroFrame)","url":"visitLessZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.LessZeroFrame)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLessZeroFrame(Clazz, Method, CodeAttribute, int, LessZeroFrame)","url":"visitLessZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.LessZeroFrame)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataRemover","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.kotlin.visitor","c":"ReferencedKotlinMetadataVisitor","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.util","c":"ClassRenamer","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.util","c":"ClassSubHierarchyInitializer","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.util","c":"ClassSuperHierarchyInitializer","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.util","c":"StringSharer","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.visitor","c":"BottomClassFilter","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.visitor","c":"ClassVisitor","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.visitor","c":"ConcreteClassDownTraveler","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.visitor","c":"LibraryClassFilter","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFlagCleaner","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.visitor","c":"SubclassFilter","l":"visitLibraryClass(LibraryClass)","url":"visitLibraryClass(proguard.classfile.LibraryClass)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.kotlin.visitor","c":"MemberToKotlinPropertyVisitor","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.kotlin.visitor","c":"MethodToKotlinConstructorVisitor","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.kotlin.visitor","c":"MethodToKotlinFunctionVisitor","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.util","c":"AllParameterVisitor","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.util","c":"DynamicMemberReferenceInitializer","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"InitializerMethodFilter","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"LibraryMemberFilter","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFlagCleaner","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFlagSetter","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"MemberAccessSetter","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"MemberClassAccessFilter","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"MemberCounter","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"MemberDescriptorFilter","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"MemberNameFilter","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"MemberToClassVisitor","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"MemberVisitor","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"MethodFilter","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"MultiMemberVisitor","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"ProgramMemberFilter","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"SimilarMemberVisitor","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"SimpleClassPrinter","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.visitor","c":"VariableMemberVisitor","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"visitLibraryField(LibraryClass, LibraryField)","url":"visitLibraryField(proguard.classfile.LibraryClass,proguard.classfile.LibraryField)"},{"p":"proguard.classfile.attribute.visitor","c":"AllAttributeVisitor","l":"visitLibraryMember(LibraryClass, LibraryMember)","url":"visitLibraryMember(proguard.classfile.LibraryClass,proguard.classfile.LibraryMember)"},{"p":"proguard.classfile.editor","c":"NamedAttributeDeleter","l":"visitLibraryMember(LibraryClass, LibraryMember)","url":"visitLibraryMember(proguard.classfile.LibraryClass,proguard.classfile.LibraryMember)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitLibraryMember(LibraryClass, LibraryMember)","url":"visitLibraryMember(proguard.classfile.LibraryClass,proguard.classfile.LibraryMember)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitLibraryMember(LibraryClass, LibraryMember)","url":"visitLibraryMember(proguard.classfile.LibraryClass,proguard.classfile.LibraryMember)"},{"p":"proguard.classfile.io","c":"ProgramClassWriter","l":"visitLibraryMember(LibraryClass, LibraryMember)","url":"visitLibraryMember(proguard.classfile.LibraryClass,proguard.classfile.LibraryMember)"},{"p":"proguard.classfile.util","c":"ClassRenamer","l":"visitLibraryMember(LibraryClass, LibraryMember)","url":"visitLibraryMember(proguard.classfile.LibraryClass,proguard.classfile.LibraryMember)"},{"p":"proguard.classfile.util","c":"MemberRenamer","l":"visitLibraryMember(LibraryClass, LibraryMember)","url":"visitLibraryMember(proguard.classfile.LibraryClass,proguard.classfile.LibraryMember)"},{"p":"proguard.classfile.util","c":"StringSharer","l":"visitLibraryMember(LibraryClass, LibraryMember)","url":"visitLibraryMember(proguard.classfile.LibraryClass,proguard.classfile.LibraryMember)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitLibraryMember(LibraryClass, LibraryMember)","url":"visitLibraryMember(proguard.classfile.LibraryClass,proguard.classfile.LibraryMember)"},{"p":"proguard.classfile.visitor","c":"MemberDescriptorReferencedClassVisitor","l":"visitLibraryMember(LibraryClass, LibraryMember)","url":"visitLibraryMember(proguard.classfile.LibraryClass,proguard.classfile.LibraryMember)"},{"p":"proguard.classfile.visitor","c":"MemberVisitor","l":"visitLibraryMember(LibraryClass, LibraryMember)","url":"visitLibraryMember(proguard.classfile.LibraryClass,proguard.classfile.LibraryMember)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitLibraryMember(LibraryClass, LibraryMember)","url":"visitLibraryMember(proguard.classfile.LibraryClass,proguard.classfile.LibraryMember)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.kotlin.visitor","c":"MemberToKotlinPropertyVisitor","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.kotlin.visitor","c":"MethodToKotlinConstructorVisitor","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.kotlin.visitor","c":"MethodToKotlinFunctionVisitor","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.util","c":"AllParameterVisitor","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.util","c":"DynamicMemberReferenceInitializer","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"InitializerMethodFilter","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"LibraryMemberFilter","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFlagCleaner","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFlagSetter","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MemberAccessSetter","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MemberClassAccessFilter","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MemberCounter","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MemberDescriptorFilter","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MemberNameFilter","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MemberToClassVisitor","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MemberVisitor","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MethodCollector","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MethodFilter","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MethodImplementationFilter","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MethodImplementationTraveler","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"MultiMemberVisitor","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"ProgramMemberFilter","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassesExtractor","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"SimilarMemberVisitor","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"SimpleClassPrinter","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.classfile.visitor","c":"VariableMemberVisitor","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"visitLibraryMethod(LibraryClass, LibraryMethod)","url":"visitLibraryMethod(proguard.classfile.LibraryClass,proguard.classfile.LibraryMethod)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"visitLineNumber(int, DexLabel)","url":"visitLineNumber(int,proguard.dexfile.reader.DexLabel)"},{"p":"proguard.dexfile.reader.visitors","c":"DexDebugVisitor","l":"visitLineNumber(int, DexLabel)","url":"visitLineNumber(int,proguard.dexfile.reader.DexLabel)"},{"p":"proguard.classfile.attribute.visitor","c":"LineNumberInfoVisitor","l":"visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo)","url":"visitLineNumberInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberInfo)"},{"p":"proguard.classfile.attribute.visitor","c":"LineNumberRangeFinder","l":"visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo)","url":"visitLineNumberInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo)","url":"visitLineNumberInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo)","url":"visitLineNumberInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberInfo)"},{"p":"proguard.classfile.editor","c":"LineNumberInfoAdder","l":"visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo)","url":"visitLineNumberInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo)","url":"visitLineNumberInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLineNumberInfo(Clazz, Method, CodeAttribute, LineNumberInfo)","url":"visitLineNumberInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberInfo)"},{"p":"proguard.classfile.attribute.visitor","c":"AllLineNumberInfoVisitor","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.editor","c":"LineNumberInfoAdder","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.editor","c":"LineNumberTableAttributeTrimmer","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.visitor","c":"LineNumberFinder","l":"visitLineNumberTableAttribute(Clazz, Method, CodeAttribute, LineNumberTableAttribute)","url":"visitLineNumberTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LineNumberTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"LocalVariableInfoVisitor","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.editor","c":"LocalVariableInfoAdder","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitLocalVariableInfo(Clazz, Method, CodeAttribute, LocalVariableInfo)","url":"visitLocalVariableInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableInfo)"},{"p":"proguard.classfile.kotlin.reflect.visitor","c":"CallableReferenceInfoVisitor","l":"visitLocalVariableReferenceInfo(LocalVariableReferenceInfo)","url":"visitLocalVariableReferenceInfo(proguard.classfile.kotlin.reflect.LocalVariableReferenceInfo)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.editor","c":"VariableCleaner","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitLocalVariableTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTableAttribute)","url":"visitLocalVariableTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTableAttribute)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"LocalVariableTargetElementVisitor","l":"visitLocalVariableTargetElement(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo, LocalVariableTargetElement)","url":"visitLocalVariableTargetElement(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo,proguard.classfile.attribute.annotation.target.LocalVariableTargetElement)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitLocalVariableTargetElement(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo, LocalVariableTargetElement)","url":"visitLocalVariableTargetElement(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo,proguard.classfile.attribute.annotation.target.LocalVariableTargetElement)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitLocalVariableTargetElement(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo, LocalVariableTargetElement)","url":"visitLocalVariableTargetElement(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo,proguard.classfile.attribute.annotation.target.LocalVariableTargetElement)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitLocalVariableTargetElement(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo, LocalVariableTargetElement)","url":"visitLocalVariableTargetElement(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo,proguard.classfile.attribute.annotation.target.LocalVariableTargetElement)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitLocalVariableTargetElement(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo, LocalVariableTargetElement)","url":"visitLocalVariableTargetElement(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo,proguard.classfile.attribute.annotation.target.LocalVariableTargetElement)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLocalVariableTargetElement(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo, LocalVariableTargetElement)","url":"visitLocalVariableTargetElement(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo,proguard.classfile.attribute.annotation.target.LocalVariableTargetElement)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo)","url":"visitLocalVariableTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo)","url":"visitLocalVariableTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo)","url":"visitLocalVariableTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo)"},{"p":"proguard.classfile.editor","c":"TargetInfoCopier","l":"visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo)","url":"visitLocalVariableTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo)","url":"visitLocalVariableTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo)","url":"visitLocalVariableTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLocalVariableTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, LocalVariableTargetInfo)","url":"visitLocalVariableTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo)"},{"p":"proguard.classfile.attribute.visitor","c":"LocalVariableTypeInfoVisitor","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.editor","c":"LocalVariableTypeInfoAdder","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitLocalVariableTypeInfo(Clazz, Method, CodeAttribute, LocalVariableTypeInfo)","url":"visitLocalVariableTypeInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeInfo)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.editor","c":"VariableCleaner","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitLocalVariableTypeTableAttribute(Clazz, Method, CodeAttribute, LocalVariableTypeTableAttribute)","url":"visitLocalVariableTypeTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.LocalVariableTypeTableAttribute)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitLongArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.LongValue)","url":"visitLongArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.LongValue)"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantVisitor","l":"visitLongArrayConstant(Clazz, PrimitiveArrayConstant, long[])","url":"visitLongArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,long[])"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantElementVisitor","l":"visitLongArrayConstantElement(Clazz, PrimitiveArrayConstant, int, long)","url":"visitLongArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,long)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitLongArrayConstantElement(Clazz, PrimitiveArrayConstant, int, long)","url":"visitLongArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,long)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitLongConstant(Clazz, LongConstant)","url":"visitLongConstant(proguard.classfile.Clazz,proguard.classfile.constant.LongConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitLongConstant(Clazz, LongConstant)","url":"visitLongConstant(proguard.classfile.Clazz,proguard.classfile.constant.LongConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitLongConstant(Clazz, LongConstant)","url":"visitLongConstant(proguard.classfile.Clazz,proguard.classfile.constant.LongConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitLongConstant(Clazz, LongConstant)","url":"visitLongConstant(proguard.classfile.Clazz,proguard.classfile.constant.LongConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitLongConstant(Clazz, LongConstant)","url":"visitLongConstant(proguard.classfile.Clazz,proguard.classfile.constant.LongConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitLongConstant(Clazz, LongConstant)","url":"visitLongConstant(proguard.classfile.Clazz,proguard.classfile.constant.LongConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitLongConstant(Clazz, LongConstant)","url":"visitLongConstant(proguard.classfile.Clazz,proguard.classfile.constant.LongConstant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitLongConstant(Clazz, LongConstant)","url":"visitLongConstant(proguard.classfile.Clazz,proguard.classfile.constant.LongConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitLongConstant(Clazz, LongConstant)","url":"visitLongConstant(proguard.classfile.Clazz,proguard.classfile.constant.LongConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLongConstant(Clazz, LongConstant)","url":"visitLongConstant(proguard.classfile.Clazz,proguard.classfile.constant.LongConstant)"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"visitLongConstant(Clazz, LongConstant)","url":"visitLongConstant(proguard.classfile.Clazz,proguard.classfile.constant.LongConstant)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitLongType(Clazz, Method, CodeAttribute, int, LongType)","url":"visitLongType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.LongType)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLongType(Clazz, Method, CodeAttribute, int, LongType)","url":"visitLongType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.LongType)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitLookUpSwitchInstruction(Clazz, Method, CodeAttribute, int, LookUpSwitchInstruction)","url":"visitLookUpSwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.LookUpSwitchInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionVisitor","l":"visitLookUpSwitchInstruction(Clazz, Method, CodeAttribute, int, LookUpSwitchInstruction)","url":"visitLookUpSwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.LookUpSwitchInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"MultiInstructionVisitor","l":"visitLookUpSwitchInstruction(Clazz, Method, CodeAttribute, int, LookUpSwitchInstruction)","url":"visitLookUpSwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.LookUpSwitchInstruction)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitLookUpSwitchInstruction(Clazz, Method, CodeAttribute, int, LookUpSwitchInstruction)","url":"visitLookUpSwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.LookUpSwitchInstruction)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitLookUpSwitchInstruction(Clazz, Method, CodeAttribute, int, LookUpSwitchInstruction)","url":"visitLookUpSwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.LookUpSwitchInstruction)"},{"p":"proguard.evaluation","c":"Processor","l":"visitLookUpSwitchInstruction(Clazz, Method, CodeAttribute, int, LookUpSwitchInstruction)","url":"visitLookUpSwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.LookUpSwitchInstruction)"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"visitMethod(int, Method)","url":"visitMethod(int,proguard.dexfile.reader.Method)"},{"p":"proguard.dexfile.reader.visitors","c":"DexClassVisitor","l":"visitMethod(int, Method)","url":"visitMethod(int,proguard.dexfile.reader.Method)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.classfile.constant.visitor","c":"MethodrefTraveler","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"visitMethodHandleConstant(Clazz, MethodHandleConstant)","url":"visitMethodHandleConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodHandleConstant)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitMethodParametersAttribute(Clazz, Method, MethodParametersAttribute)","url":"visitMethodParametersAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.MethodParametersAttribute)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitMethodrefConstant(Clazz, MethodrefConstant)","url":"visitMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodrefConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitMethodrefConstant(Clazz, MethodrefConstant)","url":"visitMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodrefConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitMethodrefConstant(Clazz, MethodrefConstant)","url":"visitMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodrefConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitMethodrefConstant(Clazz, MethodrefConstant)","url":"visitMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodrefConstant)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitMethodrefConstant(Clazz, MethodrefConstant)","url":"visitMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodrefConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitMethodrefConstant(Clazz, MethodrefConstant)","url":"visitMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodrefConstant)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"visitMethodrefConstant(Clazz, MethodrefConstant)","url":"visitMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodrefConstant)"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"visitMethodrefConstant(Clazz, MethodrefConstant)","url":"visitMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodrefConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitMethodrefConstant(Clazz, MethodrefConstant)","url":"visitMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodrefConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitMethodrefConstant(Clazz, MethodrefConstant)","url":"visitMethodrefConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodrefConstant)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitMethodStmt(Op, int[], Method, Proto)","url":"visitMethodStmt(proguard.dexfile.reader.Op,int[],proguard.dexfile.reader.Method,proguard.dexfile.reader.Proto)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitMethodStmt(Op, int[], Method, Proto)","url":"visitMethodStmt(proguard.dexfile.reader.Op,int[],proguard.dexfile.reader.Method,proguard.dexfile.reader.Proto)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitMethodStmt(Op, int[], Method)","url":"visitMethodStmt(proguard.dexfile.reader.Op,int[],proguard.dexfile.reader.Method)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitMethodStmt(Op, int[], Method)","url":"visitMethodStmt(proguard.dexfile.reader.Op,int[],proguard.dexfile.reader.Method)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitMethodStmt(Op, int[], String, Proto, MethodHandle, Object...)","url":"visitMethodStmt(proguard.dexfile.reader.Op,int[],java.lang.String,proguard.dexfile.reader.Proto,proguard.dexfile.reader.MethodHandle,java.lang.Object...)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitMethodStmt(Op, int[], String, Proto, MethodHandle, Object...)","url":"visitMethodStmt(proguard.dexfile.reader.Op,int[],java.lang.String,proguard.dexfile.reader.Proto,proguard.dexfile.reader.MethodHandle,java.lang.Object...)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"visitMethodTypeConstant(Clazz, MethodTypeConstant)","url":"visitMethodTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.MethodTypeConstant)"},{"p":"proguard.classfile.util","c":"InvalidClassReferenceVisitor","l":"visitMissingClass(Clazz, String)","url":"visitMissingClass(proguard.classfile.Clazz,java.lang.String)"},{"p":"proguard.classfile.util","c":"InvalidMemberReferenceVisitor","l":"visitMissingEnclosingMethod(Clazz, Clazz, String, String)","url":"visitMissingEnclosingMethod(proguard.classfile.Clazz,proguard.classfile.Clazz,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"InvalidMemberReferenceVisitor","l":"visitMissingLibraryField(Clazz, LibraryClass, String, String)","url":"visitMissingLibraryField(proguard.classfile.Clazz,proguard.classfile.LibraryClass,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"InvalidMemberReferenceVisitor","l":"visitMissingLibraryMethod(Clazz, LibraryClass, String, String)","url":"visitMissingLibraryMethod(proguard.classfile.Clazz,proguard.classfile.LibraryClass,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"InvalidMemberReferenceVisitor","l":"visitMissingProgramField(Clazz, ProgramClass, String, String)","url":"visitMissingProgramField(proguard.classfile.Clazz,proguard.classfile.ProgramClass,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.util","c":"InvalidMemberReferenceVisitor","l":"visitMissingProgramMethod(Clazz, ProgramClass, String, String)","url":"visitMissingProgramMethod(proguard.classfile.Clazz,proguard.classfile.ProgramClass,java.lang.String,java.lang.String)"},{"p":"proguard.classfile.attribute.module.visitor","c":"AllExportsInfoVisitor","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.attribute.module.visitor","c":"AllOpensInfoVisitor","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.attribute.module.visitor","c":"AllProvidesInfoVisitor","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.attribute.module.visitor","c":"AllRequiresInfoVisitor","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitModuleAttribute(Clazz, ModuleAttribute)","url":"visitModuleAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleAttribute)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitModuleConstant(Clazz, ModuleConstant)","url":"visitModuleConstant(proguard.classfile.Clazz,proguard.classfile.constant.ModuleConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitModuleConstant(Clazz, ModuleConstant)","url":"visitModuleConstant(proguard.classfile.Clazz,proguard.classfile.constant.ModuleConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitModuleConstant(Clazz, ModuleConstant)","url":"visitModuleConstant(proguard.classfile.Clazz,proguard.classfile.constant.ModuleConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitModuleConstant(Clazz, ModuleConstant)","url":"visitModuleConstant(proguard.classfile.Clazz,proguard.classfile.constant.ModuleConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitModuleConstant(Clazz, ModuleConstant)","url":"visitModuleConstant(proguard.classfile.Clazz,proguard.classfile.constant.ModuleConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitModuleConstant(Clazz, ModuleConstant)","url":"visitModuleConstant(proguard.classfile.Clazz,proguard.classfile.constant.ModuleConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitModuleConstant(Clazz, ModuleConstant)","url":"visitModuleConstant(proguard.classfile.Clazz,proguard.classfile.constant.ModuleConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitModuleConstant(Clazz, ModuleConstant)","url":"visitModuleConstant(proguard.classfile.Clazz,proguard.classfile.constant.ModuleConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitModuleConstant(Clazz, ModuleConstant)","url":"visitModuleConstant(proguard.classfile.Clazz,proguard.classfile.constant.ModuleConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitModuleConstant(Clazz, ModuleConstant)","url":"visitModuleConstant(proguard.classfile.Clazz,proguard.classfile.constant.ModuleConstant)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute)","url":"visitModuleMainClassAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleMainClassAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute)","url":"visitModuleMainClassAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleMainClassAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute)","url":"visitModuleMainClassAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleMainClassAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute)","url":"visitModuleMainClassAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleMainClassAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute)","url":"visitModuleMainClassAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleMainClassAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute)","url":"visitModuleMainClassAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleMainClassAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute)","url":"visitModuleMainClassAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleMainClassAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute)","url":"visitModuleMainClassAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleMainClassAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute)","url":"visitModuleMainClassAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleMainClassAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute)","url":"visitModuleMainClassAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleMainClassAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute)","url":"visitModuleMainClassAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleMainClassAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitModuleMainClassAttribute(Clazz, ModuleMainClassAttribute)","url":"visitModuleMainClassAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModuleMainClassAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitModulePackagesAttribute(Clazz, ModulePackagesAttribute)","url":"visitModulePackagesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModulePackagesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitModulePackagesAttribute(Clazz, ModulePackagesAttribute)","url":"visitModulePackagesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModulePackagesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitModulePackagesAttribute(Clazz, ModulePackagesAttribute)","url":"visitModulePackagesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModulePackagesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitModulePackagesAttribute(Clazz, ModulePackagesAttribute)","url":"visitModulePackagesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModulePackagesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitModulePackagesAttribute(Clazz, ModulePackagesAttribute)","url":"visitModulePackagesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModulePackagesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitModulePackagesAttribute(Clazz, ModulePackagesAttribute)","url":"visitModulePackagesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModulePackagesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitModulePackagesAttribute(Clazz, ModulePackagesAttribute)","url":"visitModulePackagesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModulePackagesAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitModulePackagesAttribute(Clazz, ModulePackagesAttribute)","url":"visitModulePackagesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModulePackagesAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitModulePackagesAttribute(Clazz, ModulePackagesAttribute)","url":"visitModulePackagesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModulePackagesAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitModulePackagesAttribute(Clazz, ModulePackagesAttribute)","url":"visitModulePackagesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModulePackagesAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitModulePackagesAttribute(Clazz, ModulePackagesAttribute)","url":"visitModulePackagesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModulePackagesAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitModulePackagesAttribute(Clazz, ModulePackagesAttribute)","url":"visitModulePackagesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.module.ModulePackagesAttribute)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"StackMapFrameVisitor","l":"visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame)","url":"visitMoreZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.MoreZeroFrame)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame)","url":"visitMoreZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.MoreZeroFrame)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame)","url":"visitMoreZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.MoreZeroFrame)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame)","url":"visitMoreZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.MoreZeroFrame)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame)","url":"visitMoreZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.MoreZeroFrame)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame)","url":"visitMoreZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.MoreZeroFrame)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame)","url":"visitMoreZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.MoreZeroFrame)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitMoreZeroFrame(Clazz, Method, CodeAttribute, int, MoreZeroFrame)","url":"visitMoreZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.MoreZeroFrame)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitNameAndTypeConstant(Clazz, NameAndTypeConstant)","url":"visitNameAndTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.NameAndTypeConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitNameAndTypeConstant(Clazz, NameAndTypeConstant)","url":"visitNameAndTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.NameAndTypeConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitNameAndTypeConstant(Clazz, NameAndTypeConstant)","url":"visitNameAndTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.NameAndTypeConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitNameAndTypeConstant(Clazz, NameAndTypeConstant)","url":"visitNameAndTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.NameAndTypeConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitNameAndTypeConstant(Clazz, NameAndTypeConstant)","url":"visitNameAndTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.NameAndTypeConstant)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitNameAndTypeConstant(Clazz, NameAndTypeConstant)","url":"visitNameAndTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.NameAndTypeConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitNameAndTypeConstant(Clazz, NameAndTypeConstant)","url":"visitNameAndTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.NameAndTypeConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitNameAndTypeConstant(Clazz, NameAndTypeConstant)","url":"visitNameAndTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.NameAndTypeConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitNameAndTypeConstant(Clazz, NameAndTypeConstant)","url":"visitNameAndTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.NameAndTypeConstant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitNameAndTypeConstant(Clazz, NameAndTypeConstant)","url":"visitNameAndTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.NameAndTypeConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitNameAndTypeConstant(Clazz, NameAndTypeConstant)","url":"visitNameAndTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.NameAndTypeConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitNameAndTypeConstant(Clazz, NameAndTypeConstant)","url":"visitNameAndTypeConstant(proguard.classfile.Clazz,proguard.classfile.constant.NameAndTypeConstant)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.util","c":"NestHostFinder","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitNestHostAttribute(Clazz, NestHostAttribute)","url":"visitNestHostAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestHostAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitNestMembersAttribute(Clazz, NestMembersAttribute)","url":"visitNestMembersAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitNestMembersAttribute(Clazz, NestMembersAttribute)","url":"visitNestMembersAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitNestMembersAttribute(Clazz, NestMembersAttribute)","url":"visitNestMembersAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitNestMembersAttribute(Clazz, NestMembersAttribute)","url":"visitNestMembersAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitNestMembersAttribute(Clazz, NestMembersAttribute)","url":"visitNestMembersAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitNestMembersAttribute(Clazz, NestMembersAttribute)","url":"visitNestMembersAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitNestMembersAttribute(Clazz, NestMembersAttribute)","url":"visitNestMembersAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitNestMembersAttribute(Clazz, NestMembersAttribute)","url":"visitNestMembersAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitNestMembersAttribute(Clazz, NestMembersAttribute)","url":"visitNestMembersAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitNestMembersAttribute(Clazz, NestMembersAttribute)","url":"visitNestMembersAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitNestMembersAttribute(Clazz, NestMembersAttribute)","url":"visitNestMembersAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitNestMembersAttribute(Clazz, NestMembersAttribute)","url":"visitNestMembersAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitNestMembersAttribute(Clazz, NestMembersAttribute)","url":"visitNestMembersAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.NestMembersAttribute)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitNullType(Clazz, Method, CodeAttribute, int, NullType)","url":"visitNullType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.NullType)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitNullType(Clazz, Method, CodeAttribute, int, NullType)","url":"visitNullType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.NullType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitObjectType(Clazz, Method, CodeAttribute, int, ObjectType)","url":"visitObjectType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.ObjectType)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitObjectType(Clazz, Method, CodeAttribute, int, ObjectType)","url":"visitObjectType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.ObjectType)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitObjectType(Clazz, Method, CodeAttribute, int, ObjectType)","url":"visitObjectType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.ObjectType)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitObjectType(Clazz, Method, CodeAttribute, int, ObjectType)","url":"visitObjectType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.ObjectType)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitObjectType(Clazz, Method, CodeAttribute, int, ObjectType)","url":"visitObjectType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.ObjectType)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitOffsetTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, OffsetTargetInfo)","url":"visitOffsetTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.OffsetTargetInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitOffsetTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, OffsetTargetInfo)","url":"visitOffsetTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.OffsetTargetInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitOffsetTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, OffsetTargetInfo)","url":"visitOffsetTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.OffsetTargetInfo)"},{"p":"proguard.classfile.editor","c":"TargetInfoCopier","l":"visitOffsetTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, OffsetTargetInfo)","url":"visitOffsetTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.OffsetTargetInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitOffsetTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, OffsetTargetInfo)","url":"visitOffsetTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.OffsetTargetInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitOffsetTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, OffsetTargetInfo)","url":"visitOffsetTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.OffsetTargetInfo)"},{"p":"proguard.classfile.attribute.module.visitor","c":"OpensInfoVisitor","l":"visitOpensInfo(Clazz, OpensInfo)","url":"visitOpensInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.OpensInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitOpensInfo(Clazz, OpensInfo)","url":"visitOpensInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.OpensInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitOpensInfo(Clazz, OpensInfo)","url":"visitOpensInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.OpensInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitOpensInfo(Clazz, OpensInfo)","url":"visitOpensInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.OpensInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitOpensInfo(Clazz, OpensInfo)","url":"visitOpensInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.OpensInfo)"},{"p":"proguard.dexfile.reader.visitors","c":"DexAnnotationVisitor","l":"visitor"},{"p":"proguard.dexfile.reader.visitors","c":"DexClassVisitor","l":"visitor"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitor"},{"p":"proguard.dexfile.reader.visitors","c":"DexDebugVisitor","l":"visitor"},{"p":"proguard.dexfile.reader.visitors","c":"DexFieldVisitor","l":"visitor"},{"p":"proguard.dexfile.reader.visitors","c":"DexFileVisitor","l":"visitor"},{"p":"proguard.dexfile.reader.visitors","c":"DexMethodVisitor","l":"visitor"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinEffectExprVisitor","l":"visitOrRHSExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata, KotlinEffectExpressionMetadata)","url":"visitOrRHSExpression(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectMetadata,proguard.classfile.kotlin.KotlinEffectExpressionMetadata,proguard.classfile.kotlin.KotlinEffectExpressionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitOrRHSExpression(Clazz, KotlinEffectMetadata, KotlinEffectExpressionMetadata, KotlinEffectExpressionMetadata)","url":"visitOrRHSExpression(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectMetadata,proguard.classfile.kotlin.KotlinEffectExpressionMetadata,proguard.classfile.kotlin.KotlinEffectExpressionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitOuterClass(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitOuterClass(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitOuterClass(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitOuterClass(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitOuterClass(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitOuterClass(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitOuterClass(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitOuterClass(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitPackageConstant(Clazz, PackageConstant)","url":"visitPackageConstant(proguard.classfile.Clazz,proguard.classfile.constant.PackageConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitPackageConstant(Clazz, PackageConstant)","url":"visitPackageConstant(proguard.classfile.Clazz,proguard.classfile.constant.PackageConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitPackageConstant(Clazz, PackageConstant)","url":"visitPackageConstant(proguard.classfile.Clazz,proguard.classfile.constant.PackageConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitPackageConstant(Clazz, PackageConstant)","url":"visitPackageConstant(proguard.classfile.Clazz,proguard.classfile.constant.PackageConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitPackageConstant(Clazz, PackageConstant)","url":"visitPackageConstant(proguard.classfile.Clazz,proguard.classfile.constant.PackageConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitPackageConstant(Clazz, PackageConstant)","url":"visitPackageConstant(proguard.classfile.Clazz,proguard.classfile.constant.PackageConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitPackageConstant(Clazz, PackageConstant)","url":"visitPackageConstant(proguard.classfile.Clazz,proguard.classfile.constant.PackageConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitPackageConstant(Clazz, PackageConstant)","url":"visitPackageConstant(proguard.classfile.Clazz,proguard.classfile.constant.PackageConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitPackageConstant(Clazz, PackageConstant)","url":"visitPackageConstant(proguard.classfile.Clazz,proguard.classfile.constant.PackageConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitPackageConstant(Clazz, PackageConstant)","url":"visitPackageConstant(proguard.classfile.Clazz,proguard.classfile.constant.PackageConstant)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitPackedSwitchStmt(Op, int, int, DexLabel[])","url":"visitPackedSwitchStmt(proguard.dexfile.reader.Op,int,int,proguard.dexfile.reader.DexLabel[])"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitPackedSwitchStmt(Op, int, int, DexLabel[])","url":"visitPackedSwitchStmt(proguard.dexfile.reader.Op,int,int,proguard.dexfile.reader.DexLabel[])"},{"p":"proguard.classfile.visitor","c":"ParameterVisitor","l":"visitParameter(Clazz, Member, int, int, int, int, String, Clazz)","url":"visitParameter(proguard.classfile.Clazz,proguard.classfile.Member,int,int,int,int,java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.evaluation","c":"SimplifiedInvocationUnit","l":"visitParameter(Clazz, Member, int, int, int, int, String, Clazz)","url":"visitParameter(proguard.classfile.Clazz,proguard.classfile.Member,int,int,int,int,java.lang.String,proguard.classfile.Clazz)"},{"p":"proguard.dexfile.reader.node","c":"DexMethodNode","l":"visitParameterAnnotation(int)"},{"p":"proguard.dexfile.reader.visitors","c":"DexMethodVisitor","l":"visitParameterAnnotation(int)"},{"p":"proguard.classfile.attribute.visitor","c":"ParameterInfoVisitor","l":"visitParameterInfo(Clazz, Method, int, ParameterInfo)","url":"visitParameterInfo(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.ParameterInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitParameterInfo(Clazz, Method, int, ParameterInfo)","url":"visitParameterInfo(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.ParameterInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitParameterInfo(Clazz, Method, int, ParameterInfo)","url":"visitParameterInfo(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.ParameterInfo)"},{"p":"proguard.classfile.editor","c":"ParameterInfoAdder","l":"visitParameterInfo(Clazz, Method, int, ParameterInfo)","url":"visitParameterInfo(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.ParameterInfo)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitParameterInfo(Clazz, Method, int, ParameterInfo)","url":"visitParameterInfo(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.ParameterInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitParameterInfo(Clazz, Method, int, ParameterInfo)","url":"visitParameterInfo(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.ParameterInfo)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitParameterInfo(Clazz, Method, int, ParameterInfo)","url":"visitParameterInfo(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.ParameterInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitParameterInfo(Clazz, Method, int, ParameterInfo)","url":"visitParameterInfo(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.ParameterInfo)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"visitParameterName(int, String)","url":"visitParameterName(int,java.lang.String)"},{"p":"proguard.dexfile.reader.visitors","c":"DexDebugVisitor","l":"visitParameterName(int, String)","url":"visitParameterName(int,java.lang.String)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitParameterUpperBound(Clazz, KotlinTypeParameterMetadata, KotlinTypeMetadata)","url":"visitParameterUpperBound(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitParameterUpperBound(Clazz, KotlinTypeParameterMetadata, KotlinTypeMetadata)","url":"visitParameterUpperBound(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitParameterUpperBound(Clazz, KotlinTypeParameterMetadata, KotlinTypeMetadata)","url":"visitParameterUpperBound(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitParameterUpperBound(Clazz, KotlinTypeParameterMetadata, KotlinTypeMetadata)","url":"visitParameterUpperBound(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute)","url":"visitPermittedSubclassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute)","url":"visitPermittedSubclassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute)","url":"visitPermittedSubclassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute)","url":"visitPermittedSubclassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute)","url":"visitPermittedSubclassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute)","url":"visitPermittedSubclassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute)","url":"visitPermittedSubclassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute)","url":"visitPermittedSubclassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute)","url":"visitPermittedSubclassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute)","url":"visitPermittedSubclassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute)","url":"visitPermittedSubclassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute)","url":"visitPermittedSubclassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitPermittedSubclassesAttribute(Clazz, PermittedSubclassesAttribute)","url":"visitPermittedSubclassesAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.PermittedSubclassesAttribute)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant)","url":"visitPrimitiveArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant)","url":"visitPrimitiveArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant)","url":"visitPrimitiveArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant)","url":"visitPrimitiveArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant)","url":"visitPrimitiveArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant)","url":"visitPrimitiveArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant)","url":"visitPrimitiveArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant)","url":"visitPrimitiveArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant)","url":"visitPrimitiveArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant)","url":"visitPrimitiveArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant)","url":"visitPrimitiveArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant)"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"visitPrimitiveArrayConstant(Clazz, PrimitiveArrayConstant)","url":"visitPrimitiveArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant)"},{"p":"proguard.analysis","c":"CallResolver","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.backport","c":"LambdaExpressionCollector","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.attribute.visitor","c":"AllAttributeVisitor","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.constant.visitor","c":"AllConstantVisitor","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.constant.visitor","c":"SuperClassConstantVisitor","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"AccessFixer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"AttributeSorter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeShrinker","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"ClassElementSorter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"ClassMemberSorter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"ConstantPoolSorter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"InnerClassesAccessFixer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"InterfaceDeleter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"InterfaceSorter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"MemberRemover","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"MethodCopier","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"NameAndTypeShrinker","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"NamedAttributeDeleter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.io","c":"ProgramClassWriter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataRemover","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.kotlin.visitor","c":"ReferencedKotlinMetadataVisitor","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.util","c":"ArrayInitializationReplacer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.util","c":"ClassRenamer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.util","c":"ClassSubHierarchyInitializer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.util","c":"ClassSuperHierarchyInitializer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.util","c":"DynamicMemberReferenceInitializer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.util","c":"NestHostFinder","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.util","c":"StringSharer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"BottomClassFilter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"ClassConstantClassFilter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"ClassVersionFilter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"ClassVersionSetter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"ClassVisitor","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"ConcreteClassDownTraveler","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFlagCleaner","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"ProgramClassFilter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.visitor","c":"SubclassFilter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.examples","c":"TransformExample.MyTransformer","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.io","c":"D8ClassConverter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.io","c":"DataEntryClassWriter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.normalize","c":"LargeStringSplitter","l":"visitProgramClass(ProgramClass)","url":"visitProgramClass(proguard.classfile.ProgramClass)"},{"p":"proguard.classfile.util","c":"InvalidClassReferenceVisitor","l":"visitProgramDependency(Clazz, Clazz)","url":"visitProgramDependency(proguard.classfile.Clazz,proguard.classfile.Clazz)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.editor","c":"MemberAdder","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.editor","c":"MemberRemover","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.io","c":"ProgramClassWriter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.kotlin.visitor","c":"MemberToKotlinPropertyVisitor","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.kotlin.visitor","c":"MethodToKotlinConstructorVisitor","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.kotlin.visitor","c":"MethodToKotlinFunctionVisitor","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.util","c":"AllParameterVisitor","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.util","c":"DynamicMemberReferenceInitializer","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"InitializerMethodFilter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"LibraryMemberFilter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFlagCleaner","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFlagSetter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"MemberAccessSetter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"MemberClassAccessFilter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"MemberCounter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"MemberDescriptorFilter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"MemberNameFilter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"MemberToClassVisitor","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"MemberVisitor","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"MethodFilter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"MultiMemberVisitor","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"ProgramMemberFilter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"SimilarMemberVisitor","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"SimpleClassPrinter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.visitor","c":"VariableMemberVisitor","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.io","c":"ClassMapDataEntryWriter","l":"visitProgramField(ProgramClass, ProgramField)","url":"visitProgramField(proguard.classfile.ProgramClass,proguard.classfile.ProgramField)"},{"p":"proguard.classfile.attribute.visitor","c":"AllAttributeVisitor","l":"visitProgramMember(ProgramClass, ProgramMember)","url":"visitProgramMember(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember)"},{"p":"proguard.classfile.editor","c":"AttributeSorter","l":"visitProgramMember(ProgramClass, ProgramMember)","url":"visitProgramMember(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitProgramMember(ProgramClass, ProgramMember)","url":"visitProgramMember(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitProgramMember(ProgramClass, ProgramMember)","url":"visitProgramMember(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember)"},{"p":"proguard.classfile.editor","c":"NamedAttributeDeleter","l":"visitProgramMember(ProgramClass, ProgramMember)","url":"visitProgramMember(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitProgramMember(ProgramClass, ProgramMember)","url":"visitProgramMember(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitProgramMember(ProgramClass, ProgramMember)","url":"visitProgramMember(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember)"},{"p":"proguard.classfile.util","c":"ClassRenamer","l":"visitProgramMember(ProgramClass, ProgramMember)","url":"visitProgramMember(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember)"},{"p":"proguard.classfile.util","c":"MemberRenamer","l":"visitProgramMember(ProgramClass, ProgramMember)","url":"visitProgramMember(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitProgramMember(ProgramClass, ProgramMember)","url":"visitProgramMember(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember)"},{"p":"proguard.classfile.visitor","c":"MemberDescriptorReferencedClassVisitor","l":"visitProgramMember(ProgramClass, ProgramMember)","url":"visitProgramMember(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember)"},{"p":"proguard.classfile.visitor","c":"MemberVisitor","l":"visitProgramMember(ProgramClass, ProgramMember)","url":"visitProgramMember(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitProgramMember(ProgramClass, ProgramMember)","url":"visitProgramMember(proguard.classfile.ProgramClass,proguard.classfile.ProgramMember)"},{"p":"proguard.classfile.editor","c":"BootstrapMethodsAttributeShrinker","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.editor","c":"BridgeMethodFixer","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.editor","c":"MemberAdder","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.editor","c":"MemberRemover","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.editor","c":"MethodCopier","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.io","c":"ProgramClassWriter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.kotlin.visitor","c":"MemberToKotlinPropertyVisitor","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.kotlin.visitor","c":"MethodToKotlinConstructorVisitor","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.kotlin.visitor","c":"MethodToKotlinFunctionVisitor","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.util","c":"AllParameterVisitor","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.util","c":"DynamicMemberReferenceInitializer","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"ConstructorMethodFilter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"InitializerMethodFilter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"LibraryMemberFilter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFlagCleaner","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MemberAccessFlagSetter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MemberAccessSetter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MemberClassAccessFilter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MemberCounter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MemberDescriptorFilter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MemberNameFilter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MemberToClassVisitor","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MemberVisitor","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MethodCollector","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MethodCounter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MethodFilter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MethodImplementationFilter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MethodImplementationTraveler","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"MultiMemberVisitor","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"ProgramMemberFilter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassesExtractor","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"SimilarMemberVisitor","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"SimpleClassPrinter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.classfile.visitor","c":"VariableMemberVisitor","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.evaluation","c":"BasicInvocationUnit","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.io","c":"ClassMapDataEntryWriter","l":"visitProgramMethod(ProgramClass, ProgramMethod)","url":"visitProgramMethod(proguard.classfile.ProgramClass,proguard.classfile.ProgramMethod)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"visitPrologue(DexLabel)","url":"visitPrologue(proguard.dexfile.reader.DexLabel)"},{"p":"proguard.dexfile.reader.visitors","c":"DexDebugVisitor","l":"visitPrologue(DexLabel)","url":"visitPrologue(proguard.dexfile.reader.DexLabel)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata)","url":"visitProperty(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinPropertyVisitor","l":"visitProperty(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata)","url":"visitProperty(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitPropertyContextReceiverType(Clazz, KotlinMetadata, KotlinPropertyMetadata, KotlinTypeMetadata)","url":"visitPropertyContextReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitPropertyContextReceiverType(Clazz, KotlinMetadata, KotlinPropertyMetadata, KotlinTypeMetadata)","url":"visitPropertyContextReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitPropertyContextReceiverType(Clazz, KotlinMetadata, KotlinPropertyMetadata, KotlinTypeMetadata)","url":"visitPropertyContextReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitPropertyReceiverType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata)","url":"visitPropertyReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitPropertyReceiverType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata)","url":"visitPropertyReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitPropertyReceiverType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata)","url":"visitPropertyReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitPropertyReceiverType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata)","url":"visitPropertyReceiverType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.reflect.visitor","c":"CallableReferenceInfoVisitor","l":"visitPropertyReferenceInfo(PropertyReferenceInfo)","url":"visitPropertyReferenceInfo(proguard.classfile.kotlin.reflect.PropertyReferenceInfo)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitPropertyType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata)","url":"visitPropertyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitPropertyType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata)","url":"visitPropertyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitPropertyType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeMetadata)","url":"visitPropertyType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeParameterVisitor","l":"visitPropertyTypeParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeParameterMetadata)","url":"visitPropertyTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"MultiKotlinTypeParameterVisitor","l":"visitPropertyTypeParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeParameterMetadata)","url":"visitPropertyTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeParameterFilter","l":"visitPropertyTypeParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeParameterMetadata)","url":"visitPropertyTypeParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinTypeParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitPropertyValParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata)","url":"visitPropertyValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitPropertyValParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata)","url":"visitPropertyValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinValueParameterVisitor","l":"visitPropertyValParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata)","url":"visitPropertyValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinValueParameterFilter","l":"visitPropertyValParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata)","url":"visitPropertyValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitPropertyValParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata)","url":"visitPropertyValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"ValueParameterIntegrity","l":"visitPropertyValParameter(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata)","url":"visitPropertyValParameter(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitPropertyValParamType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitPropertyValParamType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitPropertyValParamType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitPropertyValParamType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitPropertyValParamType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitPropertyValParamType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitPropertyValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitPropertyValParamVarArgType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitPropertyValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitPropertyValParamVarArgType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitPropertyValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitPropertyValParamVarArgType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitPropertyValParamVarArgType(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterMetadata, KotlinTypeMetadata)","url":"visitPropertyValParamVarArgType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinValueParameterMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinVersionRequirementVisitor","l":"visitPropertyVersionRequirement(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinVersionRequirementMetadata)","url":"visitPropertyVersionRequirement(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinPropertyMetadata,proguard.classfile.kotlin.KotlinVersionRequirementMetadata)"},{"p":"proguard.classfile.attribute.module.visitor","c":"ProvidesInfoVisitor","l":"visitProvidesInfo(Clazz, ProvidesInfo)","url":"visitProvidesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.ProvidesInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitProvidesInfo(Clazz, ProvidesInfo)","url":"visitProvidesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.ProvidesInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitProvidesInfo(Clazz, ProvidesInfo)","url":"visitProvidesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.ProvidesInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitProvidesInfo(Clazz, ProvidesInfo)","url":"visitProvidesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.ProvidesInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitProvidesInfo(Clazz, ProvidesInfo)","url":"visitProvidesInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.ProvidesInfo)"},{"p":"proguard.classfile.attribute.visitor","c":"AllAttributeVisitor","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AllRecordComponentInfoVisitor","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitRecordAttribute(Clazz, RecordAttribute)","url":"visitRecordAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AllAttributeVisitor","l":"visitRecordComponentInfo(Clazz, RecordComponentInfo)","url":"visitRecordComponentInfo(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo)"},{"p":"proguard.classfile.attribute.visitor","c":"RecordComponentInfoVisitor","l":"visitRecordComponentInfo(Clazz, RecordComponentInfo)","url":"visitRecordComponentInfo(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitRecordComponentInfo(Clazz, RecordComponentInfo)","url":"visitRecordComponentInfo(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitRecordComponentInfo(Clazz, RecordComponentInfo)","url":"visitRecordComponentInfo(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitRecordComponentInfo(Clazz, RecordComponentInfo)","url":"visitRecordComponentInfo(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitRecordComponentInfo(Clazz, RecordComponentInfo)","url":"visitRecordComponentInfo(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitRecordComponentInfo(Clazz, RecordComponentInfo)","url":"visitRecordComponentInfo(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitRecordComponentInfo(Clazz, RecordComponentInfo)","url":"visitRecordComponentInfo(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitRecordComponentInfo(Clazz, RecordComponentInfo)","url":"visitRecordComponentInfo(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitRecordComponentInfo(Clazz, RecordComponentInfo)","url":"visitRecordComponentInfo(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitRecordComponentInfo(Clazz, RecordComponentInfo)","url":"visitRecordComponentInfo(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitRecordComponentInfo(Clazz, RecordComponentInfo)","url":"visitRecordComponentInfo(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitRegister(int)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitRegister(int)"},{"p":"proguard.classfile.attribute.module.visitor","c":"RequiresInfoVisitor","l":"visitRequiresInfo(Clazz, RequiresInfo)","url":"visitRequiresInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.RequiresInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitRequiresInfo(Clazz, RequiresInfo)","url":"visitRequiresInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.RequiresInfo)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitRequiresInfo(Clazz, RequiresInfo)","url":"visitRequiresInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.RequiresInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitRequiresInfo(Clazz, RequiresInfo)","url":"visitRequiresInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.RequiresInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitRequiresInfo(Clazz, RequiresInfo)","url":"visitRequiresInfo(proguard.classfile.Clazz,proguard.classfile.attribute.module.RequiresInfo)"},{"p":"proguard.resources.file.visitor","c":"ResourceFilePresenceFilter","l":"visitResourceFile(ResourceFile)","url":"visitResourceFile(proguard.resources.file.ResourceFile)"},{"p":"proguard.resources.file.visitor","c":"ResourceFileVisitor","l":"visitResourceFile(ResourceFile)","url":"visitResourceFile(proguard.resources.file.ResourceFile)"},{"p":"proguard.resources.file.visitor","c":"ResourceJavaReferenceClassInitializer","l":"visitResourceFile(ResourceFile)","url":"visitResourceFile(proguard.resources.file.ResourceFile)"},{"p":"proguard.resources.file.visitor","c":"ResourceJavaReferenceCleaner","l":"visitResourceFile(ResourceFile)","url":"visitResourceFile(proguard.resources.file.ResourceFile)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KotlinModuleIntegrity","l":"visitResourceFile(ResourceFile)","url":"visitResourceFile(proguard.resources.file.ResourceFile)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"visitRestartLocal(int, DexLabel)","url":"visitRestartLocal(int,proguard.dexfile.reader.DexLabel)"},{"p":"proguard.dexfile.reader.visitors","c":"DexDebugVisitor","l":"visitRestartLocal(int, DexLabel)","url":"visitRestartLocal(int,proguard.dexfile.reader.DexLabel)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Member, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute)","url":"visitRuntimeInvisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute)","url":"visitRuntimeInvisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute)","url":"visitRuntimeInvisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute)","url":"visitRuntimeInvisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute)","url":"visitRuntimeInvisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute)","url":"visitRuntimeInvisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute)","url":"visitRuntimeInvisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute)","url":"visitRuntimeInvisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute)","url":"visitRuntimeInvisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeInvisibleParameterAnnotationsAttribute)","url":"visitRuntimeInvisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Member, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute)","url":"visitRuntimeInvisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Member, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllElementValueVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute)","url":"visitRuntimeVisibleAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute)","url":"visitRuntimeVisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute)","url":"visitRuntimeVisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute)","url":"visitRuntimeVisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute)","url":"visitRuntimeVisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute)","url":"visitRuntimeVisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute)","url":"visitRuntimeVisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute)","url":"visitRuntimeVisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute)","url":"visitRuntimeVisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitRuntimeVisibleParameterAnnotationsAttribute(Clazz, Method, RuntimeVisibleParameterAnnotationsAttribute)","url":"visitRuntimeVisibleParameterAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleParameterAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Member, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"AllAnnotationVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute)","url":"visitRuntimeVisibleTypeAnnotationsAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"StackMapFrameVisitor","l":"visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame)","url":"visitSameOneFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.SameOneFrame)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame)","url":"visitSameOneFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.SameOneFrame)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame)","url":"visitSameOneFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.SameOneFrame)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame)","url":"visitSameOneFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.SameOneFrame)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame)","url":"visitSameOneFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.SameOneFrame)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame)","url":"visitSameOneFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.SameOneFrame)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame)","url":"visitSameOneFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.SameOneFrame)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitSameOneFrame(Clazz, Method, CodeAttribute, int, SameOneFrame)","url":"visitSameOneFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.SameOneFrame)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"StackMapFrameVisitor","l":"visitSameZeroFrame(Clazz, Method, CodeAttribute, int, SameZeroFrame)","url":"visitSameZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.SameZeroFrame)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitSameZeroFrame(Clazz, Method, CodeAttribute, int, SameZeroFrame)","url":"visitSameZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.SameZeroFrame)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitSameZeroFrame(Clazz, Method, CodeAttribute, int, SameZeroFrame)","url":"visitSameZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.SameZeroFrame)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitSameZeroFrame(Clazz, Method, CodeAttribute, int, SameZeroFrame)","url":"visitSameZeroFrame(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.SameZeroFrame)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"visitSetFile(String)","url":"visitSetFile(java.lang.String)"},{"p":"proguard.dexfile.reader.visitors","c":"DexDebugVisitor","l":"visitSetFile(String)","url":"visitSetFile(java.lang.String)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitShortArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ShortValue)","url":"visitShortArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.ShortValue)"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantVisitor","l":"visitShortArrayConstant(Clazz, PrimitiveArrayConstant, short[])","url":"visitShortArrayConstant(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,short[])"},{"p":"proguard.classfile.constant.visitor","c":"PrimitiveArrayConstantElementVisitor","l":"visitShortArrayConstantElement(Clazz, PrimitiveArrayConstant, int, short)","url":"visitShortArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,short)"},{"p":"proguard.classfile.util","c":"PrimitiveArrayConstantReplacer","l":"visitShortArrayConstantElement(Clazz, PrimitiveArrayConstant, int, short)","url":"visitShortArrayConstantElement(proguard.classfile.Clazz,proguard.classfile.constant.PrimitiveArrayConstant,int,short)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitSignatureAttribute(Clazz, Field, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitSignatureAttribute(Clazz, Field, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitSignatureAttribute(Clazz, Field, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitSignatureAttribute(Clazz, Field, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitSignatureAttribute(Clazz, Field, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitSignatureAttribute(Clazz, Field, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitSignatureAttribute(Clazz, Field, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitSignatureAttribute(Clazz, Member, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitSignatureAttribute(Clazz, Member, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitSignatureAttribute(Clazz, Method, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitSignatureAttribute(Clazz, Method, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitSignatureAttribute(Clazz, Method, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitSignatureAttribute(Clazz, Method, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitSignatureAttribute(Clazz, Method, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitSignatureAttribute(Clazz, Method, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitSignatureAttribute(Clazz, Method, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.RecordComponentInfo,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.editor","c":"InterfaceDeleter","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.editor","c":"InterfaceSorter","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.classfile.visitor","c":"SignatureAttributeReferencedClassVisitor","l":"visitSignatureAttribute(Clazz, SignatureAttribute)","url":"visitSignatureAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SignatureAttribute)"},{"p":"proguard.analysis.cpa.jvm.domain.taint","c":"JvmTaintTransferRelation.InstructionAbstractInterpreter","l":"visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction)","url":"visitSimpleInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SimpleInstruction)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation.InstructionAbstractInterpreter","l":"visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction)","url":"visitSimpleInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SimpleInstruction)"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction)","url":"visitSimpleInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SimpleInstruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction)","url":"visitSimpleInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SimpleInstruction)"},{"p":"proguard.classfile.editor","c":"InstructionWriter","l":"visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction)","url":"visitSimpleInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SimpleInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionVisitor","l":"visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction)","url":"visitSimpleInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SimpleInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"MultiInstructionVisitor","l":"visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction)","url":"visitSimpleInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SimpleInstruction)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction)","url":"visitSimpleInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SimpleInstruction)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction)","url":"visitSimpleInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SimpleInstruction)"},{"p":"proguard.evaluation","c":"Processor","l":"visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction)","url":"visitSimpleInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SimpleInstruction)"},{"p":"proguard.evaluation","c":"ReferenceTracingValueFactory","l":"visitSimpleInstruction(Clazz, Method, CodeAttribute, int, SimpleInstruction)","url":"visitSimpleInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.SimpleInstruction)"},{"p":"proguard.dexfile.reader.node","c":"DexClassNode","l":"visitSource(String)","url":"visitSource(java.lang.String)"},{"p":"proguard.dexfile.reader.visitors","c":"DexClassVisitor","l":"visitSource(String)","url":"visitSource(java.lang.String)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute)","url":"visitSourceDebugExtensionAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDebugExtensionAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute)","url":"visitSourceDebugExtensionAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDebugExtensionAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute)","url":"visitSourceDebugExtensionAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDebugExtensionAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute)","url":"visitSourceDebugExtensionAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDebugExtensionAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute)","url":"visitSourceDebugExtensionAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDebugExtensionAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute)","url":"visitSourceDebugExtensionAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDebugExtensionAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute)","url":"visitSourceDebugExtensionAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDebugExtensionAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute)","url":"visitSourceDebugExtensionAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDebugExtensionAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute)","url":"visitSourceDebugExtensionAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDebugExtensionAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute)","url":"visitSourceDebugExtensionAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDebugExtensionAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute)","url":"visitSourceDebugExtensionAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDebugExtensionAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitSourceDebugExtensionAttribute(Clazz, SourceDebugExtensionAttribute)","url":"visitSourceDebugExtensionAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDebugExtensionAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitSourceDirAttribute(Clazz, SourceDirAttribute)","url":"visitSourceDirAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDirAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitSourceDirAttribute(Clazz, SourceDirAttribute)","url":"visitSourceDirAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDirAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitSourceDirAttribute(Clazz, SourceDirAttribute)","url":"visitSourceDirAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDirAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitSourceDirAttribute(Clazz, SourceDirAttribute)","url":"visitSourceDirAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDirAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitSourceDirAttribute(Clazz, SourceDirAttribute)","url":"visitSourceDirAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDirAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitSourceDirAttribute(Clazz, SourceDirAttribute)","url":"visitSourceDirAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDirAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitSourceDirAttribute(Clazz, SourceDirAttribute)","url":"visitSourceDirAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDirAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitSourceDirAttribute(Clazz, SourceDirAttribute)","url":"visitSourceDirAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDirAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitSourceDirAttribute(Clazz, SourceDirAttribute)","url":"visitSourceDirAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDirAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitSourceDirAttribute(Clazz, SourceDirAttribute)","url":"visitSourceDirAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDirAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitSourceDirAttribute(Clazz, SourceDirAttribute)","url":"visitSourceDirAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDirAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitSourceDirAttribute(Clazz, SourceDirAttribute)","url":"visitSourceDirAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDirAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitSourceDirAttribute(Clazz, SourceDirAttribute)","url":"visitSourceDirAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceDirAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitSourceFileAttribute(Clazz, SourceFileAttribute)","url":"visitSourceFileAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceFileAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitSourceFileAttribute(Clazz, SourceFileAttribute)","url":"visitSourceFileAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceFileAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitSourceFileAttribute(Clazz, SourceFileAttribute)","url":"visitSourceFileAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceFileAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitSourceFileAttribute(Clazz, SourceFileAttribute)","url":"visitSourceFileAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceFileAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitSourceFileAttribute(Clazz, SourceFileAttribute)","url":"visitSourceFileAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceFileAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitSourceFileAttribute(Clazz, SourceFileAttribute)","url":"visitSourceFileAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceFileAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitSourceFileAttribute(Clazz, SourceFileAttribute)","url":"visitSourceFileAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceFileAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitSourceFileAttribute(Clazz, SourceFileAttribute)","url":"visitSourceFileAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceFileAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitSourceFileAttribute(Clazz, SourceFileAttribute)","url":"visitSourceFileAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceFileAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitSourceFileAttribute(Clazz, SourceFileAttribute)","url":"visitSourceFileAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceFileAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitSourceFileAttribute(Clazz, SourceFileAttribute)","url":"visitSourceFileAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceFileAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitSourceFileAttribute(Clazz, SourceFileAttribute)","url":"visitSourceFileAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceFileAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitSourceFileAttribute(Clazz, SourceFileAttribute)","url":"visitSourceFileAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SourceFileAttribute)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitSparseSwitchStmt(Op, int, int[], DexLabel[])","url":"visitSparseSwitchStmt(proguard.dexfile.reader.Op,int,int[],proguard.dexfile.reader.DexLabel[])"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitSparseSwitchStmt(Op, int, int[], DexLabel[])","url":"visitSparseSwitchStmt(proguard.dexfile.reader.Op,int,int[],proguard.dexfile.reader.DexLabel[])"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitStackDoubleType(Clazz, Method, CodeAttribute, int, int, DoubleType)","url":"visitStackDoubleType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.DoubleType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitStackFloatType(Clazz, Method, CodeAttribute, int, int, FloatType)","url":"visitStackFloatType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.FloatType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitStackIntegerType(Clazz, Method, CodeAttribute, int, int, IntegerType)","url":"visitStackIntegerType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.IntegerType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitStackLongType(Clazz, Method, CodeAttribute, int, int, LongType)","url":"visitStackLongType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.LongType)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitStackMapAttribute(Clazz, Method, CodeAttribute, StackMapAttribute)","url":"visitStackMapAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitStackMapTableAttribute(Clazz, Method, CodeAttribute, StackMapTableAttribute)","url":"visitStackMapTableAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.preverification.StackMapTableAttribute)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitStackNullType(Clazz, Method, CodeAttribute, int, int, NullType)","url":"visitStackNullType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.NullType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitStackObjectType(Clazz, Method, CodeAttribute, int, int, ObjectType)","url":"visitStackObjectType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.ObjectType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitStackTopType(Clazz, Method, CodeAttribute, int, int, TopType)","url":"visitStackTopType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.TopType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitStackUninitializedThisType(Clazz, Method, CodeAttribute, int, int, UninitializedThisType)","url":"visitStackUninitializedThisType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.UninitializedThisType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitStackUninitializedType(Clazz, Method, CodeAttribute, int, int, UninitializedType)","url":"visitStackUninitializedType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.UninitializedType)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitStarProjection(Clazz, KotlinTypeMetadata)","url":"visitStarProjection(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitStarProjection(Clazz, KotlinTypeMetadata)","url":"visitStarProjection(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitStarProjection(Clazz, KotlinTypeMetadata)","url":"visitStarProjection(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitStarProjection(Clazz, KotlinTypeMetadata)","url":"visitStarProjection(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.dexfile.reader.node","c":"DexDebugNode","l":"visitStartLocal(int, DexLabel, String, String, String)","url":"visitStartLocal(int,proguard.dexfile.reader.DexLabel,java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.dexfile.reader.visitors","c":"DexDebugVisitor","l":"visitStartLocal(int, DexLabel, String, String, String)","url":"visitStartLocal(int,proguard.dexfile.reader.DexLabel,java.lang.String,java.lang.String,java.lang.String)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitStmt0R(Op)","url":"visitStmt0R(proguard.dexfile.reader.Op)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitStmt0R(Op)","url":"visitStmt0R(proguard.dexfile.reader.Op)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitStmt1R(Op, int)","url":"visitStmt1R(proguard.dexfile.reader.Op,int)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitStmt1R(Op, int)","url":"visitStmt1R(proguard.dexfile.reader.Op,int)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitStmt2R(Op, int, int)","url":"visitStmt2R(proguard.dexfile.reader.Op,int,int)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitStmt2R(Op, int, int)","url":"visitStmt2R(proguard.dexfile.reader.Op,int,int)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitStmt2R1N(Op, int, int, int)","url":"visitStmt2R1N(proguard.dexfile.reader.Op,int,int,int)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitStmt2R1N(Op, int, int, int)","url":"visitStmt2R1N(proguard.dexfile.reader.Op,int,int,int)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitStmt3R(Op, int, int, int)","url":"visitStmt3R(proguard.dexfile.reader.Op,int,int,int)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitStmt3R(Op, int, int, int)","url":"visitStmt3R(proguard.dexfile.reader.Op,int,int,int)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitStringArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.StringValue)","url":"visitStringArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.StringValue)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.editor","c":"ClassReferenceFixer","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolShrinker","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.editor","c":"MemberReferenceFixer","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.util","c":"EnumFieldReferenceInitializer","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.util","c":"StringReferenceInitializer","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.visitor","c":"ReferencedMemberVisitor","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.evaluation","c":"ConstantValueFactory","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.normalize","c":"LargeStringSplitter","l":"visitStringConstant(Clazz, StringConstant)","url":"visitStringConstant(proguard.classfile.Clazz,proguard.classfile.constant.StringConstant)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitSuperType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata)","url":"visitSuperType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitSuperType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata)","url":"visitSuperType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitSuperType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata)","url":"visitSuperType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitSuperType(Clazz, KotlinClassKindMetadata, KotlinTypeMetadata)","url":"visitSuperType(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinClassKindMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitSuperTypeTargetInfo(Clazz, TypeAnnotation, SuperTypeTargetInfo)","url":"visitSuperTypeTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.SuperTypeTargetInfo)"},{"p":"proguard.classfile.editor","c":"TargetInfoCopier","l":"visitSuperTypeTargetInfo(Clazz, TypeAnnotation, SuperTypeTargetInfo)","url":"visitSuperTypeTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.SuperTypeTargetInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitSuperTypeTargetInfo(Clazz, TypeAnnotation, SuperTypeTargetInfo)","url":"visitSuperTypeTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.SuperTypeTargetInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitSuperTypeTargetInfo(Clazz, TypeAnnotation, SuperTypeTargetInfo)","url":"visitSuperTypeTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.SuperTypeTargetInfo)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitSyntheticAttribute(Clazz, Field, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitSyntheticAttribute(Clazz, Field, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitSyntheticAttribute(Clazz, Field, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitSyntheticAttribute(Clazz, Field, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitSyntheticAttribute(Clazz, Field, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitSyntheticAttribute(Clazz, Field, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitSyntheticAttribute(Clazz, Field, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitSyntheticAttribute(Clazz, Member, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitSyntheticAttribute(Clazz, Method, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitSyntheticAttribute(Clazz, Method, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitSyntheticAttribute(Clazz, Method, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitSyntheticAttribute(Clazz, Method, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitSyntheticAttribute(Clazz, Method, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitSyntheticAttribute(Clazz, Method, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitSyntheticAttribute(Clazz, Method, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitSyntheticAttribute(Clazz, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitSyntheticAttribute(Clazz, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitSyntheticAttribute(Clazz, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitSyntheticAttribute(Clazz, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitSyntheticAttribute(Clazz, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitSyntheticAttribute(Clazz, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitSyntheticAttribute(Clazz, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitSyntheticAttribute(Clazz, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitSyntheticAttribute(Clazz, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitSyntheticAttribute(Clazz, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitSyntheticAttribute(Clazz, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitSyntheticAttribute(Clazz, SyntheticAttribute)","url":"visitSyntheticAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.SyntheticAttribute)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinFunctionVisitor","l":"visitSyntheticFunction(Clazz, KotlinSyntheticClassKindMetadata, KotlinFunctionMetadata)","url":"visitSyntheticFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitSyntheticFunction(Clazz, KotlinSyntheticClassKindMetadata, KotlinFunctionMetadata)","url":"visitSyntheticFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinFunctionFilter","l":"visitSyntheticFunction(Clazz, KotlinSyntheticClassKindMetadata, KotlinFunctionMetadata)","url":"visitSyntheticFunction(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata,proguard.classfile.kotlin.KotlinFunctionMetadata)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitTableSwitchInstruction(Clazz, Method, CodeAttribute, int, TableSwitchInstruction)","url":"visitTableSwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.TableSwitchInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionVisitor","l":"visitTableSwitchInstruction(Clazz, Method, CodeAttribute, int, TableSwitchInstruction)","url":"visitTableSwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.TableSwitchInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"MultiInstructionVisitor","l":"visitTableSwitchInstruction(Clazz, Method, CodeAttribute, int, TableSwitchInstruction)","url":"visitTableSwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.TableSwitchInstruction)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitTableSwitchInstruction(Clazz, Method, CodeAttribute, int, TableSwitchInstruction)","url":"visitTableSwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.TableSwitchInstruction)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitTableSwitchInstruction(Clazz, Method, CodeAttribute, int, TableSwitchInstruction)","url":"visitTableSwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.TableSwitchInstruction)"},{"p":"proguard.evaluation","c":"Processor","l":"visitTableSwitchInstruction(Clazz, Method, CodeAttribute, int, TableSwitchInstruction)","url":"visitTableSwitchInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.TableSwitchInstruction)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitThrowsTargetInfo(Clazz, Method, TypeAnnotation, ThrowsTargetInfo)","url":"visitThrowsTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.ThrowsTargetInfo)"},{"p":"proguard.classfile.editor","c":"TargetInfoCopier","l":"visitThrowsTargetInfo(Clazz, Method, TypeAnnotation, ThrowsTargetInfo)","url":"visitThrowsTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.ThrowsTargetInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitThrowsTargetInfo(Clazz, Method, TypeAnnotation, ThrowsTargetInfo)","url":"visitThrowsTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.ThrowsTargetInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitThrowsTargetInfo(Clazz, Method, TypeAnnotation, ThrowsTargetInfo)","url":"visitThrowsTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.ThrowsTargetInfo)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitTopType(Clazz, Method, CodeAttribute, int, TopType)","url":"visitTopType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.TopType)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitTopType(Clazz, Method, CodeAttribute, int, TopType)","url":"visitTopType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.TopType)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitTryCatch(DexLabel, DexLabel, DexLabel[], String[])","url":"visitTryCatch(proguard.dexfile.reader.DexLabel,proguard.dexfile.reader.DexLabel,proguard.dexfile.reader.DexLabel[],java.lang.String[])"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitTryCatch(DexLabel, DexLabel, DexLabel[], String[])","url":"visitTryCatch(proguard.dexfile.reader.DexLabel,proguard.dexfile.reader.DexLabel,proguard.dexfile.reader.DexLabel[],java.lang.String[])"},{"p":"proguard.classfile.kotlin.visitor","c":"AllKotlinAnnotationVisitor","l":"visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata)","url":"visitTypeAlias(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeParameterVisitor","l":"visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata)","url":"visitTypeAlias(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata)","url":"visitTypeAlias(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata)","url":"visitTypeAlias(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeAliasVisitor","l":"visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata)","url":"visitTypeAlias(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeAliasFilter","l":"visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata)","url":"visitTypeAlias(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata)"},{"p":"proguard.classfile.util","c":"ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer","l":"visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata)","url":"visitTypeAlias(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata)"},{"p":"proguard.classfile.visitor","c":"ReferencedClassVisitor.KotlinReferencedClassVisitor","l":"visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata)","url":"visitTypeAlias(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata)"},{"p":"proguard.util.kotlin.asserter.constraint","c":"KmAnnotationIntegrity","l":"visitTypeAlias(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata)","url":"visitTypeAlias(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinDeclarationContainerMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationVisitor","l":"visitTypeAliasAnnotation(Clazz, KotlinTypeAliasMetadata, KotlinAnnotation)","url":"visitTypeAliasAnnotation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinAnnotation)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinAnnotationFilter","l":"visitTypeAliasAnnotation(Clazz, KotlinTypeAliasMetadata, KotlinAnnotation)","url":"visitTypeAliasAnnotation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinAnnotation)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinVersionRequirementVisitor","l":"visitTypeAliasVersionRequirement(Clazz, KotlinMetadata, KotlinTypeAliasMetadata, KotlinVersionRequirementMetadata)","url":"visitTypeAliasVersionRequirement(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinMetadata,proguard.classfile.kotlin.KotlinTypeAliasMetadata,proguard.classfile.kotlin.KotlinVersionRequirementMetadata)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"TypeAnnotationVisitor","l":"visitTypeAnnotation(Clazz, Field, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationVisitor","l":"visitTypeAnnotation(Clazz, KotlinTypeMetadata, KotlinAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinAnnotation)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinAnnotationFilter","l":"visitTypeAnnotation(Clazz, KotlinTypeMetadata, KotlinAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinAnnotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"TypeAnnotationVisitor","l":"visitTypeAnnotation(Clazz, Member, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"TypeAnnotationVisitor","l":"visitTypeAnnotation(Clazz, Method, CodeAttribute, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitTypeAnnotation(Clazz, Method, CodeAttribute, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"TypeAnnotationVisitor","l":"visitTypeAnnotation(Clazz, Method, int, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,int,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"TypeAnnotationVisitor","l":"visitTypeAnnotation(Clazz, Method, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"TypeAnnotationVisitor","l":"visitTypeAnnotation(Clazz, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitTypeAnnotation(Clazz, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitTypeAnnotation(Clazz, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.editor","c":"TypeAnnotationAdder","l":"visitTypeAnnotation(Clazz, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitTypeAnnotation(Clazz, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitTypeAnnotation(Clazz, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.visitor","c":"ClassCleaner","l":"visitTypeAnnotation(Clazz, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitTypeAnnotation(Clazz, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.visitor","c":"ProcessingInfoSetter","l":"visitTypeAnnotation(Clazz, TypeAnnotation)","url":"visitTypeAnnotation(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitTypeArgument(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitTypeArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitTypeArgument(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitTypeArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitTypeArgument(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitTypeArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitTypeArgument(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitTypeArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitTypeArgumentTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, TypeArgumentTargetInfo)","url":"visitTypeArgumentTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitTypeArgumentTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, TypeArgumentTargetInfo)","url":"visitTypeArgumentTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo)"},{"p":"proguard.classfile.editor","c":"TargetInfoCopier","l":"visitTypeArgumentTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, TypeArgumentTargetInfo)","url":"visitTypeArgumentTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitTypeArgumentTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, TypeArgumentTargetInfo)","url":"visitTypeArgumentTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitTypeArgumentTargetInfo(Clazz, Method, CodeAttribute, TypeAnnotation, TypeArgumentTargetInfo)","url":"visitTypeArgumentTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitTypeOfIsExpression(Clazz, KotlinEffectExpressionMetadata, KotlinTypeMetadata)","url":"visitTypeOfIsExpression(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectExpressionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitTypeOfIsExpression(Clazz, KotlinEffectExpressionMetadata, KotlinTypeMetadata)","url":"visitTypeOfIsExpression(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectExpressionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitTypeOfIsExpression(Clazz, KotlinEffectExpressionMetadata, KotlinTypeMetadata)","url":"visitTypeOfIsExpression(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinEffectExpressionMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationVisitor","l":"visitTypeParameterAnnotation(Clazz, KotlinTypeParameterMetadata, KotlinAnnotation)","url":"visitTypeParameterAnnotation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata,proguard.classfile.kotlin.KotlinAnnotation)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinAnnotationFilter","l":"visitTypeParameterAnnotation(Clazz, KotlinTypeParameterMetadata, KotlinAnnotation)","url":"visitTypeParameterAnnotation(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeParameterMetadata,proguard.classfile.kotlin.KotlinAnnotation)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitTypeParameterBoundTargetInfo(Clazz, Field, TypeAnnotation, TypeParameterBoundTargetInfo)","url":"visitTypeParameterBoundTargetInfo(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitTypeParameterBoundTargetInfo(Clazz, Member, TypeAnnotation, TypeParameterBoundTargetInfo)","url":"visitTypeParameterBoundTargetInfo(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitTypeParameterBoundTargetInfo(Clazz, Method, TypeAnnotation, TypeParameterBoundTargetInfo)","url":"visitTypeParameterBoundTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitTypeParameterBoundTargetInfo(Clazz, TypeAnnotation, TypeParameterBoundTargetInfo)","url":"visitTypeParameterBoundTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo)"},{"p":"proguard.classfile.editor","c":"TargetInfoCopier","l":"visitTypeParameterBoundTargetInfo(Clazz, TypeAnnotation, TypeParameterBoundTargetInfo)","url":"visitTypeParameterBoundTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitTypeParameterBoundTargetInfo(Clazz, TypeAnnotation, TypeParameterBoundTargetInfo)","url":"visitTypeParameterBoundTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitTypeParameterBoundTargetInfo(Clazz, TypeAnnotation, TypeParameterBoundTargetInfo)","url":"visitTypeParameterBoundTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitTypeParameterTargetInfo(Clazz, Method, TypeAnnotation, TypeParameterTargetInfo)","url":"visitTypeParameterTargetInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeParameterTargetInfo)"},{"p":"proguard.classfile.attribute.annotation.target.visitor","c":"TargetInfoVisitor","l":"visitTypeParameterTargetInfo(Clazz, TypeAnnotation, TypeParameterTargetInfo)","url":"visitTypeParameterTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeParameterTargetInfo)"},{"p":"proguard.classfile.editor","c":"TargetInfoCopier","l":"visitTypeParameterTargetInfo(Clazz, TypeAnnotation, TypeParameterTargetInfo)","url":"visitTypeParameterTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeParameterTargetInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitTypeParameterTargetInfo(Clazz, TypeAnnotation, TypeParameterTargetInfo)","url":"visitTypeParameterTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeParameterTargetInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitTypeParameterTargetInfo(Clazz, TypeAnnotation, TypeParameterTargetInfo)","url":"visitTypeParameterTargetInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.target.TypeParameterTargetInfo)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"TypePathInfoVisitor","l":"visitTypePathInfo(Clazz, Field, TypeAnnotation, TypePathInfo)","url":"visitTypePathInfo(proguard.classfile.Clazz,proguard.classfile.Field,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.TypePathInfo)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"TypePathInfoVisitor","l":"visitTypePathInfo(Clazz, Member, TypeAnnotation, TypePathInfo)","url":"visitTypePathInfo(proguard.classfile.Clazz,proguard.classfile.Member,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.TypePathInfo)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"TypePathInfoVisitor","l":"visitTypePathInfo(Clazz, Method, CodeAttribute, TypeAnnotation, TypePathInfo)","url":"visitTypePathInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.TypePathInfo)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"TypePathInfoVisitor","l":"visitTypePathInfo(Clazz, Method, TypeAnnotation, TypePathInfo)","url":"visitTypePathInfo(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.TypePathInfo)"},{"p":"proguard.classfile.attribute.annotation.visitor","c":"TypePathInfoVisitor","l":"visitTypePathInfo(Clazz, TypeAnnotation, TypePathInfo)","url":"visitTypePathInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.TypePathInfo)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitTypePathInfo(Clazz, TypeAnnotation, TypePathInfo)","url":"visitTypePathInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.TypePathInfo)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitTypePathInfo(Clazz, TypeAnnotation, TypePathInfo)","url":"visitTypePathInfo(proguard.classfile.Clazz,proguard.classfile.attribute.annotation.TypeAnnotation,proguard.classfile.attribute.annotation.TypePathInfo)"},{"p":"proguard.dexfile.reader.node","c":"DexCodeNode","l":"visitTypeStmt(Op, int, int, String)","url":"visitTypeStmt(proguard.dexfile.reader.Op,int,int,java.lang.String)"},{"p":"proguard.dexfile.reader.visitors","c":"DexCodeVisitor","l":"visitTypeStmt(Op, int, int, String)","url":"visitTypeStmt(proguard.dexfile.reader.Op,int,int,java.lang.String)"},{"p":"proguard.classfile.kotlin.visitor","c":"AllTypeVisitor","l":"visitTypeUpperBound(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitTypeUpperBound(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataPrinter","l":"visitTypeUpperBound(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitTypeUpperBound(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinTypeVisitor","l":"visitTypeUpperBound(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitTypeUpperBound(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor.filter","c":"KotlinTypeFilter","l":"visitTypeUpperBound(Clazz, KotlinTypeMetadata, KotlinTypeMetadata)","url":"visitTypeUpperBound(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinTypeMetadata,proguard.classfile.kotlin.KotlinTypeMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitUByteArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.UByteValue)","url":"visitUByteArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.UByteValue)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitUIntArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.UIntValue)","url":"visitUIntArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.UIntValue)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitULongArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.ULongValue)","url":"visitULongArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.ULongValue)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitUninitializedThisType(Clazz, Method, CodeAttribute, int, UninitializedThisType)","url":"visitUninitializedThisType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.UninitializedThisType)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitUninitializedThisType(Clazz, Method, CodeAttribute, int, UninitializedThisType)","url":"visitUninitializedThisType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.UninitializedThisType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitUninitializedType(Clazz, Method, CodeAttribute, int, UninitializedType)","url":"visitUninitializedType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.UninitializedType)"},{"p":"proguard.classfile.editor","c":"CodeAttributeComposer","l":"visitUninitializedType(Clazz, Method, CodeAttribute, int, UninitializedType)","url":"visitUninitializedType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.UninitializedType)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitUninitializedType(Clazz, Method, CodeAttribute, int, UninitializedType)","url":"visitUninitializedType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.UninitializedType)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitUninitializedType(Clazz, Method, CodeAttribute, int, UninitializedType)","url":"visitUninitializedType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.UninitializedType)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitUninitializedType(Clazz, Method, CodeAttribute, int, UninitializedType)","url":"visitUninitializedType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.attribute.preverification.UninitializedType)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeNameFilter","l":"visitUnknownAttribute(Clazz, UnknownAttribute)","url":"visitUnknownAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.UnknownAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"AttributeVisitor","l":"visitUnknownAttribute(Clazz, UnknownAttribute)","url":"visitUnknownAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.UnknownAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"DebugAttributeVisitor","l":"visitUnknownAttribute(Clazz, UnknownAttribute)","url":"visitUnknownAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.UnknownAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"MultiAttributeVisitor","l":"visitUnknownAttribute(Clazz, UnknownAttribute)","url":"visitUnknownAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.UnknownAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"NonEmptyAttributeFilter","l":"visitUnknownAttribute(Clazz, UnknownAttribute)","url":"visitUnknownAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.UnknownAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"RequiredAttributeFilter","l":"visitUnknownAttribute(Clazz, UnknownAttribute)","url":"visitUnknownAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.UnknownAttribute)"},{"p":"proguard.classfile.attribute.visitor","c":"SingleTimeAttributeVisitor","l":"visitUnknownAttribute(Clazz, UnknownAttribute)","url":"visitUnknownAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.UnknownAttribute)"},{"p":"proguard.classfile.editor","c":"AttributeAdder","l":"visitUnknownAttribute(Clazz, UnknownAttribute)","url":"visitUnknownAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.UnknownAttribute)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitUnknownAttribute(Clazz, UnknownAttribute)","url":"visitUnknownAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.UnknownAttribute)"},{"p":"proguard.classfile.editor","c":"Utf8Shrinker","l":"visitUnknownAttribute(Clazz, UnknownAttribute)","url":"visitUnknownAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.UnknownAttribute)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitUnknownAttribute(Clazz, UnknownAttribute)","url":"visitUnknownAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.UnknownAttribute)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitUnknownAttribute(Clazz, UnknownAttribute)","url":"visitUnknownAttribute(proguard.classfile.Clazz,proguard.classfile.attribute.UnknownAttribute)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinMetadataVisitor","l":"visitUnsupportedKotlinMetadata(Clazz, UnsupportedKotlinMetadata)","url":"visitUnsupportedKotlinMetadata(proguard.classfile.Clazz,proguard.classfile.kotlin.UnsupportedKotlinMetadata)"},{"p":"proguard.classfile.kotlin.visitor","c":"KotlinAnnotationArgumentVisitor","l":"visitUShortArgument(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgument, KotlinAnnotationArgument.UShortValue)","url":"visitUShortArgument(proguard.classfile.Clazz,proguard.classfile.kotlin.KotlinAnnotatable,proguard.classfile.kotlin.KotlinAnnotation,proguard.classfile.kotlin.KotlinAnnotationArgument,proguard.classfile.kotlin.KotlinAnnotationArgument.UShortValue)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantStringBuilder","l":"visitUtf8Constant(Clazz, Utf8Constant)","url":"visitUtf8Constant(proguard.classfile.Clazz,proguard.classfile.constant.Utf8Constant)"},{"p":"proguard.classfile.constant.visitor","c":"ConstantVisitor","l":"visitUtf8Constant(Clazz, Utf8Constant)","url":"visitUtf8Constant(proguard.classfile.Clazz,proguard.classfile.constant.Utf8Constant)"},{"p":"proguard.classfile.editor","c":"ConstantAdder","l":"visitUtf8Constant(Clazz, Utf8Constant)","url":"visitUtf8Constant(proguard.classfile.Clazz,proguard.classfile.constant.Utf8Constant)"},{"p":"proguard.classfile.editor","c":"ConstantPoolRemapper","l":"visitUtf8Constant(Clazz, Utf8Constant)","url":"visitUtf8Constant(proguard.classfile.Clazz,proguard.classfile.constant.Utf8Constant)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"visitUtf8Constant(Clazz, Utf8Constant)","url":"visitUtf8Constant(proguard.classfile.Clazz,proguard.classfile.constant.Utf8Constant)"},{"p":"proguard.classfile.io","c":"LibraryClassReader","l":"visitUtf8Constant(Clazz, Utf8Constant)","url":"visitUtf8Constant(proguard.classfile.Clazz,proguard.classfile.constant.Utf8Constant)"},{"p":"proguard.classfile.io","c":"ProgramClassReader","l":"visitUtf8Constant(Clazz, Utf8Constant)","url":"visitUtf8Constant(proguard.classfile.Clazz,proguard.classfile.constant.Utf8Constant)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitUtf8Constant(Clazz, Utf8Constant)","url":"visitUtf8Constant(proguard.classfile.Clazz,proguard.classfile.constant.Utf8Constant)"},{"p":"proguard.classfile.util","c":"StringSharer","l":"visitUtf8Constant(Clazz, Utf8Constant)","url":"visitUtf8Constant(proguard.classfile.Clazz,proguard.classfile.constant.Utf8Constant)"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"visitUtf8Constant(Clazz, Utf8Constant)","url":"visitUtf8Constant(proguard.classfile.Clazz,proguard.classfile.constant.Utf8Constant)"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataInitializer","l":"visitUtf8Constant(Clazz, Utf8Constant)","url":"visitUtf8Constant(proguard.classfile.Clazz,proguard.classfile.constant.Utf8Constant)"},{"p":"proguard.classfile.visitor","c":"ClassPrinter","l":"visitUtf8Constant(Clazz, Utf8Constant)","url":"visitUtf8Constant(proguard.classfile.Clazz,proguard.classfile.constant.Utf8Constant)"},{"p":"proguard.analysis.cpa.jvm.transfer","c":"JvmTransferRelation.InstructionAbstractInterpreter","l":"visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction)","url":"visitVariableInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.classfile.attribute.visitor","c":"MaxStackSizeComputer","l":"visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction)","url":"visitVariableInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor","l":"visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction)","url":"visitVariableInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.classfile.editor","c":"InstructionWriter","l":"visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction)","url":"visitVariableInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.classfile.editor","c":"VariableRemapper","l":"visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction)","url":"visitVariableInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.classfile.editor","c":"VariableSizeUpdater","l":"visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction)","url":"visitVariableInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"InstructionVisitor","l":"visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction)","url":"visitVariableInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.classfile.instruction.visitor","c":"MultiInstructionVisitor","l":"visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction)","url":"visitVariableInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.classfile.util","c":"BranchTargetFinder","l":"visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction)","url":"visitVariableInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction)","url":"visitVariableInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.evaluation","c":"LivenessAnalyzer","l":"visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction)","url":"visitVariableInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.evaluation","c":"Processor","l":"visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction)","url":"visitVariableInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.preverify","c":"CodeSubroutineInliner","l":"visitVariableInstruction(Clazz, Method, CodeAttribute, int, VariableInstruction)","url":"visitVariableInstruction(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,proguard.classfile.instruction.VariableInstruction)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitVariablesDoubleType(Clazz, Method, CodeAttribute, int, int, DoubleType)","url":"visitVariablesDoubleType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.DoubleType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitVariablesFloatType(Clazz, Method, CodeAttribute, int, int, FloatType)","url":"visitVariablesFloatType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.FloatType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitVariablesIntegerType(Clazz, Method, CodeAttribute, int, int, IntegerType)","url":"visitVariablesIntegerType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.IntegerType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitVariablesLongType(Clazz, Method, CodeAttribute, int, int, LongType)","url":"visitVariablesLongType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.LongType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitVariablesNullType(Clazz, Method, CodeAttribute, int, int, NullType)","url":"visitVariablesNullType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.NullType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitVariablesObjectType(Clazz, Method, CodeAttribute, int, int, ObjectType)","url":"visitVariablesObjectType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.ObjectType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitVariablesTopType(Clazz, Method, CodeAttribute, int, int, TopType)","url":"visitVariablesTopType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.TopType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitVariablesUninitializedThisType(Clazz, Method, CodeAttribute, int, int, UninitializedThisType)","url":"visitVariablesUninitializedThisType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.UninitializedThisType)"},{"p":"proguard.classfile.attribute.preverification.visitor","c":"VerificationTypeVisitor","l":"visitVariablesUninitializedType(Clazz, Method, CodeAttribute, int, int, UninitializedType)","url":"visitVariablesUninitializedType(proguard.classfile.Clazz,proguard.classfile.Method,proguard.classfile.attribute.CodeAttribute,int,int,proguard.classfile.attribute.preverification.UninitializedType)"},{"p":"proguard.examples","c":"VisualizeCfa","l":"VisualizeCfa()","url":"%3Cinit%3E()"},{"p":"proguard.examples","c":"VisualizeControlFlow","l":"VisualizeControlFlow()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"JavaTypeConstants","l":"VOID"},{"p":"proguard.classfile","c":"TypeConstants","l":"VOID"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"VOID"},{"p":"proguard.dexfile.ir.stmt","c":"Stmt.ST","l":"VOID_INVOKE"},{"p":"proguard.dexfile.ir.stmt","c":"VoidInvokeStmt","l":"VoidInvokeStmt(Value)","url":"%3Cinit%3E(proguard.dexfile.ir.expr.Value)"},{"p":"proguard.dexfile.ir.ts","c":"VoidInvokeTransformer","l":"VoidInvokeTransformer()","url":"%3Cinit%3E()"},{"p":"proguard.classfile","c":"AccessConstants","l":"VOLATILE"},{"p":"proguard.classfile","c":"JavaAccessConstants","l":"VOLATILE"},{"p":"proguard.dexfile.ir.expr","c":"Value","l":"vt"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractWaitlist","l":"waitlist"},{"p":"proguard.evaluation.value","c":"TypedReferenceValue","l":"WARN_INCOMPLETE_CLASS_HIERARCHY"},{"p":"proguard.classfile.util","c":"WarningLogger","l":"WarningLogger(Logger, List)","url":"%3Cinit%3E(org.apache.logging.log4j.Logger,java.util.List)"},{"p":"proguard.classfile.util","c":"WarningLogger","l":"WarningLogger(Logger)","url":"%3Cinit%3E(org.apache.logging.log4j.Logger)"},{"p":"proguard.classfile.util","c":"WarningPrinter","l":"WarningPrinter(PrintWriter, List)","url":"%3Cinit%3E(java.io.PrintWriter,java.util.List)"},{"p":"proguard.classfile.util","c":"WarningPrinter","l":"WarningPrinter(PrintWriter)","url":"%3Cinit%3E(java.io.PrintWriter)"},{"p":"proguard.evaluation","c":"BasicBranchUnit","l":"wasCalled"},{"p":"proguard.evaluation","c":"BasicBranchUnit","l":"wasCalled()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"wasConstant(int)"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"wasConstant(int)"},{"p":"proguard.classfile.kotlin","c":"KotlinSyntheticClassKindMetadata.Flavor","l":"WHEN_MAPPINGS"},{"p":"proguard.classfile.kotlin","c":"KotlinConstants","l":"WHEN_MAPPINGS_SUFFIX"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"wide"},{"p":"proguard.classfile.editor","c":"CompactCodeAttributeComposer","l":"wide()"},{"p":"proguard.classfile.editor","c":"InstructionSequenceBuilder","l":"wide()"},{"p":"proguard.exception","c":"ErrorId","l":"WILDCARD_WRONG_INDEX"},{"p":"proguard.classfile.util","c":"WildcardConstantFilter","l":"WildcardConstantFilter(ConstantVisitor)","url":"%3Cinit%3E(proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.util","c":"WildcardManager","l":"wildCardIndex(String, int)","url":"wildCardIndex(java.lang.String,int)"},{"p":"proguard.util","c":"WildcardManager","l":"WildcardManager()","url":"%3Cinit%3E()"},{"p":"proguard.util","c":"WildcardManager","l":"WildcardManager(WildcardManager)","url":"%3Cinit%3E(proguard.util.WildcardManager)"},{"p":"proguard.classfile.attribute.module","c":"ProvidesInfo","l":"withAccept(Clazz, ConstantVisitor)","url":"withAccept(proguard.classfile.Clazz,proguard.classfile.constant.visitor.ConstantVisitor)"},{"p":"proguard.analysis.cpa.interfaces","c":"ProgramLocationDependentTransferRelation","l":"wrapAbstractSuccessorInCollection(AbstractState)","url":"wrapAbstractSuccessorInCollection(proguard.analysis.cpa.interfaces.AbstractState)"},{"p":"proguard.io","c":"DexDataEntryWriterFactory","l":"wrapInDexWriter(DataEntryWriter)","url":"wrapInDexWriter(proguard.io.DataEntryWriter)"},{"p":"proguard.analysis.cpa.defaults","c":"AbstractSingleWrapperState","l":"wrappedAbstractState"},{"p":"proguard.io","c":"WrappedDataEntry","l":"WrappedDataEntry(DataEntry)","url":"%3Cinit%3E(proguard.io.DataEntry)"},{"p":"proguard.io","c":"WrappedDataEntry","l":"wrappedEntry"},{"p":"proguard.analysis.cpa.defaults","c":"SingleWrapperTransferRelation","l":"wrappedTransferRelation"},{"p":"proguard.classfile.util.renderer.core","c":"StringListWriter","l":"write(@org.jetbrains.annotations.NotNull char[], int, int)","url":"write(@org.jetbrains.annotations.NotNullchar[],int,int)"},{"p":"proguard.io","c":"JarWriter.MyMultiDigestOutputStream","l":"write(byte[], int, int)","url":"write(byte[],int,int)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"write(byte[], int, int)","url":"write(byte[],int,int)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor.Label","l":"write(byte[], int)","url":"write(byte[],int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer.Label","l":"write(byte[], int)","url":"write(byte[],int)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"write(byte[], int)","url":"write(byte[],int)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"write(byte[])"},{"p":"proguard.io","c":"ZipOutput.LargeDataOutputStream","l":"write(byte[])"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"write(CodeAttribute, int)","url":"write(proguard.classfile.attribute.CodeAttribute,int)"},{"p":"proguard.io","c":"JarWriter.MyMultiDigestOutputStream","l":"write(int)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"write(int)"},{"p":"proguard.io","c":"ZipOutput.LargeDataOutputStream","l":"write(int)"},{"p":"proguard.classfile.util.renderer.core","c":"StringListWriter","l":"write(String)","url":"write(java.lang.String)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"writeBoolean(boolean)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"writeByte(byte[], int, int)","url":"writeByte(byte[],int,int)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"writeByte(int)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"writeBytes(String)","url":"writeBytes(java.lang.String)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"writeChar(int)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"writeChars(String)","url":"writeChars(java.lang.String)"},{"p":"proguard.io","c":"D8BasedDexDataEntryWriter","l":"writeDex(OutputStream)","url":"writeDex(java.io.OutputStream)"},{"p":"proguard.io","c":"DexDataEntryWriter","l":"writeDex(OutputStream)","url":"writeDex(java.io.OutputStream)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"writeDouble(double)"},{"p":"proguard.io","c":"ZipOutput","l":"writeEndOfCentralDirectory(long, long)","url":"writeEndOfCentralDirectory(long,long)"},{"p":"proguard.io","c":"ZipOutput","l":"writeEntriesOfCentralDirectory()"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"writeFloat(float)"},{"p":"proguard.classfile.editor","c":"CodeAttributeEditor.Label","l":"writeInfo(byte[], int)","url":"writeInfo(byte[],int)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer.Label","l":"writeInfo(byte[], int)","url":"writeInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"BranchInstruction","l":"writeInfo(byte[], int)","url":"writeInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"ConstantInstruction","l":"writeInfo(byte[], int)","url":"writeInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"writeInfo(byte[], int)","url":"writeInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"LookUpSwitchInstruction","l":"writeInfo(byte[], int)","url":"writeInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"SimpleInstruction","l":"writeInfo(byte[], int)","url":"writeInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"TableSwitchInstruction","l":"writeInfo(byte[], int)","url":"writeInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"VariableInstruction","l":"writeInfo(byte[], int)","url":"writeInfo(byte[],int)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"writeInt(byte[], int, int)","url":"writeInt(byte[],int,int)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"writeInt(int)"},{"p":"proguard.io","c":"ZipOutput","l":"writeInt(int)"},{"p":"proguard.io","c":"ZipOutput","l":"writeInt(long)"},{"p":"proguard.io.util","c":"IOUtil","l":"writeJar(ClassPool, String, String)","url":"writeJar(proguard.classfile.ClassPool,java.lang.String,java.lang.String)"},{"p":"proguard.examples","c":"JarUtil","l":"writeJar(ClassPool, String)","url":"writeJar(proguard.classfile.ClassPool,java.lang.String)"},{"p":"proguard.io.util","c":"IOUtil","l":"writeJar(ClassPool, String)","url":"writeJar(proguard.classfile.ClassPool,java.lang.String)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"writeLong(long)"},{"p":"proguard.io","c":"ZipOutput","l":"writeLong(long)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"writeShort(byte[], int, int)","url":"writeShort(byte[],int,int)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"writeShort(int)"},{"p":"proguard.io","c":"ZipOutput","l":"writeShort(int)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"writeSignedByte(byte[], int, int)","url":"writeSignedByte(byte[],int,int)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"writeSignedShort(byte[], int, int)","url":"writeSignedShort(byte[],int,int)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"writeSignedShort(int)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"writeSignedValue(byte[], int, int, int)","url":"writeSignedValue(byte[],int,int,int)"},{"p":"proguard.io","c":"ZipOutput","l":"writeStartOfCentralDirectory()"},{"p":"proguard.evaluation.util.jsonprinter","c":"JsonPrinter","l":"writeState(String)","url":"writeState(java.lang.String)"},{"p":"proguard.io","c":"D8ClassConverter.D8DexFile","l":"writeTo(OutputStream)","url":"writeTo(java.io.OutputStream)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"writeUnsignedShort(int)"},{"p":"proguard.io","c":"RuntimeDataOutput","l":"writeUTF(String)","url":"writeUTF(java.lang.String)"},{"p":"proguard.classfile.instruction","c":"Instruction","l":"writeValue(byte[], int, int, int)","url":"writeValue(byte[],int,int,int)"},{"p":"proguard.io","c":"ZipOutput","l":"writeZip64EndOfCentralDirectory(long, long)","url":"writeZip64EndOfCentralDirectory(long,long)"},{"p":"proguard.io","c":"ZipOutput","l":"writeZip64EndOfCentralDirectoryLocator(long)"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"X"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"X"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"X"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadata","l":"xi"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataType","l":"xi"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"XML_FILE_EXPRESSION"},{"p":"proguard.dexfile.ir.expr","c":"Value.VT","l":"XOR"},{"p":"proguard.evaluation.value","c":"CompositeIntegerValue","l":"XOR"},{"p":"proguard.evaluation.value","c":"CompositeLongValue","l":"XOR"},{"p":"proguard.dexfile.reader","c":"Op","l":"XOR_INT"},{"p":"proguard.dexfile.reader","c":"Op","l":"XOR_INT_2ADDR"},{"p":"proguard.dexfile.reader","c":"Op","l":"XOR_INT_LIT16"},{"p":"proguard.dexfile.reader","c":"Op","l":"XOR_INT_LIT8"},{"p":"proguard.dexfile.reader","c":"Op","l":"XOR_LONG"},{"p":"proguard.dexfile.reader","c":"Op","l":"XOR_LONG_2ADDR"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"xor(IntegerValue)","url":"xor(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"xor(IntegerValue)","url":"xor(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"xor(IntegerValue)","url":"xor(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"xor(IntegerValue)","url":"xor(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"UnknownIntegerValue","l":"xor(IntegerValue)","url":"xor(proguard.evaluation.value.IntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"xor(LongValue)","url":"xor(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"xor(LongValue)","url":"xor(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"xor(LongValue)","url":"xor(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"UnknownLongValue","l":"xor(LongValue)","url":"xor(proguard.evaluation.value.LongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"xor(ParticularIntegerValue)","url":"xor(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"xor(ParticularIntegerValue)","url":"xor(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"xor(ParticularIntegerValue)","url":"xor(proguard.evaluation.value.ParticularIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"xor(ParticularLongValue)","url":"xor(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"ParticularLongValue","l":"xor(ParticularLongValue)","url":"xor(proguard.evaluation.value.ParticularLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"xor(RangeIntegerValue)","url":"xor(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"ParticularIntegerValue","l":"xor(RangeIntegerValue)","url":"xor(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"RangeIntegerValue","l":"xor(RangeIntegerValue)","url":"xor(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"xor(RangeIntegerValue)","url":"xor(proguard.evaluation.value.RangeIntegerValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"xor(SpecificIntegerValue)","url":"xor(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"SpecificIntegerValue","l":"xor(SpecificIntegerValue)","url":"xor(proguard.evaluation.value.SpecificIntegerValue)"},{"p":"proguard.evaluation.value","c":"LongValue","l":"xor(SpecificLongValue)","url":"xor(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"SpecificLongValue","l":"xor(SpecificLongValue)","url":"xor(proguard.evaluation.value.SpecificLongValue)"},{"p":"proguard.evaluation.value","c":"IntegerValue","l":"xor(UnknownIntegerValue)","url":"xor(proguard.evaluation.value.UnknownIntegerValue)"},{"p":"proguard.classfile.kotlin","c":"KotlinMetadata","l":"xs"},{"p":"proguard.classfile.util.kotlin","c":"KotlinMetadataType","l":"xs"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"Y"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"Y"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"Y"},{"p":"proguard.classfile.editor","c":"InstructionSequenceReplacer","l":"Z"},{"p":"proguard.classfile.util","c":"DynamicClassReferenceInitializer","l":"Z"},{"p":"proguard.classfile.util","c":"InstructionSequenceMatcher","l":"Z"},{"p":"proguard.dexfile.ir.ts","c":"ZeroTransformer","l":"ZeroTransformer()","url":"%3Cinit%3E()"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"ZI"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"ZIF"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"ZIFL"},{"p":"proguard.dexfile.ir","c":"TypeClass","l":"ZIL"},{"p":"proguard.dexfile","c":"AndroidConstants","l":"ZIP_META_INF_EXPRESSION"},{"p":"proguard.io","c":"ZipDataEntry","l":"ZipDataEntry(DataEntry, ZipEntry, ZipInputStream)","url":"%3Cinit%3E(proguard.io.DataEntry,java.util.zip.ZipEntry,java.util.zip.ZipInputStream)"},{"p":"proguard.io","c":"JarWriter","l":"zipEntryWriter"},{"p":"proguard.io","c":"ZipFileDataEntry","l":"ZipFileDataEntry(DataEntry, ZipEntry, ZipFile)","url":"%3Cinit%3E(proguard.io.DataEntry,java.util.zip.ZipEntry,java.util.zip.ZipFile)"},{"p":"proguard.io","c":"ZipOutput","l":"ZipOutput(OutputStream, boolean, int)","url":"%3Cinit%3E(java.io.OutputStream,boolean,int)"},{"p":"proguard.io","c":"ZipOutput","l":"ZipOutput(OutputStream, boolean)","url":"%3Cinit%3E(java.io.OutputStream,boolean)"},{"p":"proguard.io","c":"ZipOutput","l":"ZipOutput(OutputStream, byte[], int, boolean, String)","url":"%3Cinit%3E(java.io.OutputStream,byte[],int,boolean,java.lang.String)"},{"p":"proguard.io","c":"ZipOutput","l":"ZipOutput(OutputStream, byte[], int, boolean)","url":"%3Cinit%3E(java.io.OutputStream,byte[],int,boolean)"},{"p":"proguard.io","c":"ZipOutput","l":"ZipOutput(OutputStream, int, boolean, String)","url":"%3Cinit%3E(java.io.OutputStream,int,boolean,java.lang.String)"},{"p":"proguard.io","c":"ZipOutput","l":"ZipOutput(OutputStream, int)","url":"%3Cinit%3E(java.io.OutputStream,int)"},{"p":"proguard.io","c":"ZipOutput","l":"ZipOutput(OutputStream)","url":"%3Cinit%3E(java.io.OutputStream)"},{"p":"proguard.io","c":"ZipWriter","l":"ZipWriter(DataEntryWriter)","url":"%3Cinit%3E(proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"ZipWriter","l":"ZipWriter(StringMatcher, int, boolean, int, byte[], DataEntryWriter)","url":"%3Cinit%3E(proguard.util.StringMatcher,int,boolean,int,byte[],proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"ZipWriter","l":"ZipWriter(StringMatcher, int, boolean, int, DataEntryWriter)","url":"%3Cinit%3E(proguard.util.StringMatcher,int,boolean,int,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"ZipWriter","l":"ZipWriter(StringMatcher, int, boolean, StringMatcher, int, int, byte[], DataEntryWriter)","url":"%3Cinit%3E(proguard.util.StringMatcher,int,boolean,proguard.util.StringMatcher,int,int,byte[],proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"ZipWriter","l":"ZipWriter(StringMatcher, int, boolean, StringMatcher, int, int, DataEntryWriter)","url":"%3Cinit%3E(proguard.util.StringMatcher,int,boolean,proguard.util.StringMatcher,int,int,proguard.io.DataEntryWriter)"},{"p":"proguard.io","c":"ZipWriter","l":"ZipWriter(StringMatcher, int, StringMatcher, int, int, byte[], DataEntryWriter)","url":"%3Cinit%3E(proguard.util.StringMatcher,int,proguard.util.StringMatcher,int,int,byte[],proguard.io.DataEntryWriter)"}] \ No newline at end of file diff --git a/api/member-search-index.zip b/api/member-search-index.zip new file mode 100644 index 000000000..7e459faeb Binary files /dev/null and b/api/member-search-index.zip differ diff --git a/api/overview-summary.html b/api/overview-summary.html new file mode 100644 index 000000000..d9a05fd9d --- /dev/null +++ b/api/overview-summary.html @@ -0,0 +1,23 @@ + + + + + +ProGuardCORE + + + + + + + +
+ +

index.html

+
+ + diff --git a/api/overview-tree.html b/api/overview-tree.html new file mode 100644 index 000000000..36a56efcf --- /dev/null +++ b/api/overview-tree.html @@ -0,0 +1,2060 @@ + + + + + +Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For All Packages

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Annotation Type Hierarchy

+
    +
  • proguard.evaluation.value.object.model.reflective.ModeledConstructor (implements java.lang.annotation.Annotation)
  • +
  • proguard.evaluation.value.object.model.reflective.ModeledInstanceMethod (implements java.lang.annotation.Annotation)
  • +
  • proguard.evaluation.value.object.model.reflective.ModeledStaticMethod (implements java.lang.annotation.Annotation)
  • +
+
+
+

Enum Hierarchy

+ +
+
+
+
+ +
+ + diff --git a/api/package-search-index.js b/api/package-search-index.js new file mode 100644 index 000000000..95d04c7df --- /dev/null +++ b/api/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","url":"allpackages-index.html"},{"l":"com.example"},{"l":"proguard.analysis"},{"l":"proguard.analysis.cpa.algorithms"},{"l":"proguard.analysis.cpa.bam"},{"l":"proguard.analysis.cpa.defaults"},{"l":"proguard.analysis.cpa.domain.taint"},{"l":"proguard.analysis.cpa.interfaces"},{"l":"proguard.analysis.cpa.jvm.cfa"},{"l":"proguard.analysis.cpa.jvm.cfa.edges"},{"l":"proguard.analysis.cpa.jvm.cfa.nodes"},{"l":"proguard.analysis.cpa.jvm.cfa.visitors"},{"l":"proguard.analysis.cpa.jvm.domain.memory"},{"l":"proguard.analysis.cpa.jvm.domain.reference"},{"l":"proguard.analysis.cpa.jvm.domain.taint"},{"l":"proguard.analysis.cpa.jvm.domain.value"},{"l":"proguard.analysis.cpa.jvm.operators"},{"l":"proguard.analysis.cpa.jvm.state"},{"l":"proguard.analysis.cpa.jvm.state.heap"},{"l":"proguard.analysis.cpa.jvm.state.heap.tree"},{"l":"proguard.analysis.cpa.jvm.transfer"},{"l":"proguard.analysis.cpa.jvm.util"},{"l":"proguard.analysis.cpa.jvm.witness"},{"l":"proguard.analysis.cpa.state"},{"l":"proguard.analysis.cpa.util"},{"l":"proguard.analysis.datastructure"},{"l":"proguard.analysis.datastructure.callgraph"},{"l":"proguard.backport"},{"l":"proguard.classfile"},{"l":"proguard.classfile.attribute"},{"l":"proguard.classfile.attribute.annotation"},{"l":"proguard.classfile.attribute.annotation.target"},{"l":"proguard.classfile.attribute.annotation.target.visitor"},{"l":"proguard.classfile.attribute.annotation.visitor"},{"l":"proguard.classfile.attribute.module"},{"l":"proguard.classfile.attribute.module.visitor"},{"l":"proguard.classfile.attribute.preverification"},{"l":"proguard.classfile.attribute.preverification.visitor"},{"l":"proguard.classfile.attribute.visitor"},{"l":"proguard.classfile.constant"},{"l":"proguard.classfile.constant.visitor"},{"l":"proguard.classfile.editor"},{"l":"proguard.classfile.exception"},{"l":"proguard.classfile.instruction"},{"l":"proguard.classfile.instruction.visitor"},{"l":"proguard.classfile.io"},{"l":"proguard.classfile.io.kotlin"},{"l":"proguard.classfile.io.visitor"},{"l":"proguard.classfile.kotlin"},{"l":"proguard.classfile.kotlin.flags"},{"l":"proguard.classfile.kotlin.reflect"},{"l":"proguard.classfile.kotlin.reflect.util"},{"l":"proguard.classfile.kotlin.reflect.visitor"},{"l":"proguard.classfile.kotlin.visitor"},{"l":"proguard.classfile.kotlin.visitor.filter"},{"l":"proguard.classfile.util"},{"l":"proguard.classfile.util.kotlin"},{"l":"proguard.classfile.util.renderer"},{"l":"proguard.classfile.util.renderer.core"},{"l":"proguard.classfile.visitor"},{"l":"proguard.dexfile"},{"l":"proguard.dexfile.converter"},{"l":"proguard.dexfile.ir"},{"l":"proguard.dexfile.ir.expr"},{"l":"proguard.dexfile.ir.stmt"},{"l":"proguard.dexfile.ir.ts"},{"l":"proguard.dexfile.ir.ts.an"},{"l":"proguard.dexfile.reader"},{"l":"proguard.dexfile.reader.node"},{"l":"proguard.dexfile.reader.node.analysis"},{"l":"proguard.dexfile.reader.node.insn"},{"l":"proguard.dexfile.reader.util"},{"l":"proguard.dexfile.reader.visitors"},{"l":"proguard.evaluation"},{"l":"proguard.evaluation.exception"},{"l":"proguard.evaluation.executor"},{"l":"proguard.evaluation.executor.instancehandler"},{"l":"proguard.evaluation.util"},{"l":"proguard.evaluation.util.jsonprinter"},{"l":"proguard.evaluation.value"},{"l":"proguard.evaluation.value.object"},{"l":"proguard.evaluation.value.object.model"},{"l":"proguard.evaluation.value.object.model.reflective"},{"l":"proguard.examples"},{"l":"proguard.examples.instrument"},{"l":"proguard.examples.modify"},{"l":"proguard.examples.util"},{"l":"proguard.exception"},{"l":"proguard.io"},{"l":"proguard.io.util"},{"l":"proguard.normalize"},{"l":"proguard.preverify"},{"l":"proguard.resources.file"},{"l":"proguard.resources.file.io"},{"l":"proguard.resources.file.util"},{"l":"proguard.resources.file.visitor"},{"l":"proguard.resources.kotlinmodule"},{"l":"proguard.resources.kotlinmodule.io"},{"l":"proguard.resources.kotlinmodule.util"},{"l":"proguard.resources.kotlinmodule.visitor"},{"l":"proguard.util"},{"l":"proguard.util.kotlin.asserter"},{"l":"proguard.util.kotlin.asserter.constraint"}] \ No newline at end of file diff --git a/api/package-search-index.zip b/api/package-search-index.zip new file mode 100644 index 000000000..3a3eae8cb Binary files /dev/null and b/api/package-search-index.zip differ diff --git a/api/proguard/analysis/CallHandler.html b/api/proguard/analysis/CallHandler.html new file mode 100644 index 000000000..f5aa562ef --- /dev/null +++ b/api/proguard/analysis/CallHandler.html @@ -0,0 +1,263 @@ + + + + + +CallHandler (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface CallHandler

+
+
+
+
    +
  • +
    +
    public interface CallHandler
    +
    This handler is invoked by the CallResolver whenever new method calls have been resolved + in the code.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        handleCall

        +
        void handleCall​(Call call,
        +                TracedStack stack,
        +                TracedVariables localVariables)
        +
        Will be called for every newly discovered method call in the code.
        +
        +
        Parameters:
        +
        call - The Call that was found
        +
        stack - stack state before the call
        +
        localVariables - local variables array state before the call
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/CallResolver.Builder.html b/api/proguard/analysis/CallResolver.Builder.html new file mode 100644 index 000000000..9086253b2 --- /dev/null +++ b/api/proguard/analysis/CallResolver.Builder.html @@ -0,0 +1,537 @@ + + + + + +CallResolver.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CallResolver.Builder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.CallResolver.Builder
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    CallResolver
    +
    +
    +
    public static class CallResolver.Builder
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + + + + + +
        +
      • +

        setIncludeSubClasses

        +
        public CallResolver.Builder setIncludeSubClasses​(boolean includeSubClasses)
        +
        If true, virtual calls on class fields, parameters and return values of other methods will + take all possible subclasses into account. + +

        This is necessary for a more complete call graph, because the runtime type of these + objects is not controlled by the current method. E.g. a method that declares its return type + to be of type A might also return an object of type B in case B extends A. The same is true + for class fields and parameters, so in order to really find all potential calls, this + circumstance needs to be modeled. For objects of declared type Object this + will be skipped, as the fact that every single Java class is a subclass of object would lead + to an immense blow-up of the call graph.

        +
      • +
      + + + + + + + +
        +
      • +

        setShouldAnalyzeNextCodeAttribute

        +
        public CallResolver.Builder setShouldAnalyzeNextCodeAttribute​(java.util.function.Supplier<java.lang.Boolean> shouldAnalyzeNextCodeAttribute)
        +
        If returns true, the next code attribute will be analyzed. Otherwise, the code attribute will + be skipped.
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        setIgnoreExceptions

        +
        public CallResolver.Builder setIgnoreExceptions​(boolean ignoreExceptions)
        +
        If false, exceptions will be taken into account during control flow analysis.
        +
      • +
      + + + +
        +
      • +

        useSelectiveParameterReconstruction

        +
        public CallResolver.Builder useSelectiveParameterReconstruction​(java.util.Set<MethodSignature> interestingMethods,
        +                                                                java.util.Set<java.util.function.Predicate<Call>> interestingCallPredicates)
        +
        When used allows parameter reconstruction based on the PartialEvaluator to only be + executed for the calls that match (1) the interestingMethods signatures OR (2) + the interestingCallPredicates.
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/CallResolver.html b/api/proguard/analysis/CallResolver.html new file mode 100644 index 000000000..6cd8c8ff3 --- /dev/null +++ b/api/proguard/analysis/CallResolver.html @@ -0,0 +1,618 @@ + + + + + +CallResolver (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CallResolver

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.CallResolver
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor, InstructionVisitor, ClassVisitor
    +
    +
    +
    public class CallResolver
    +extends java.lang.Object
    +implements AttributeVisitor, ClassVisitor, InstructionVisitor
    +
    Collects all method invocations inside the analyzed methods. + +

    All method invocation instructions that appear in the bytecode are inspected, and their actual + target method is calculated. Java has several invocation instructions, performing virtual, + static, dynamic, interface and special calls. While most of these instructions have a constant + operand specifying a method name, the actual method that will be called at runtime depends on + multiple factors. Sometimes, e.g. when using virtual calls, the invocation target depends on the + specific type of the first parameter on the stack, the so-called this pointer. + +

    This call analyzer performs a lookup process that adheres to the Java Virtual Machine + specification. Being a static analysis, 100% precision cannot be guaranteed, as the specific type + of variables at a specific program point is not always known in advance. But using the PartialEvaluator in combination with intraprocedural possible type analysis of MultiTypedReferenceValue objects, the resulting call graph should be a superset of the actual + calls happening at runtime. This makes it a complete but potentially unsound analysis. + +

    In addition to resolving the call target, this analyzer also reconstructs the corresponding + arguments and the return value. All of the collected information is wrapped in a Call + object and passed to subscribed CallHandlers.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CallResolver

        +
        public CallResolver​(ClassPool programClassPool,
        +                    ClassPool libraryClassPool,
        +                    CallGraph callGraph,
        +                    boolean clearCallValuesAfterVisit,
        +                    boolean useDominatorAnalysis,
        +                    boolean evaluateAllCode,
        +                    boolean includeSubClasses,
        +                    int maxPartialEvaluations,
        +                    java.util.function.Supplier<java.lang.Boolean> shouldAnalyzeNextCodeAttribute,
        +                    boolean skipIncompleteCalls,
        +                    ValueFactory arrayValueFactory,
        +                    boolean ignoreExceptions,
        +                    ExecutingInvocationUnit.Builder executingInvocationUnitBuilder,
        +                    boolean selectiveParameterReconstruction,
        +                    java.util.Set<MethodSignature> interestingMethods,
        +                    java.util.Set<java.util.function.Predicate<Call>> interestingCallPredicates,
        +                    CallHandler... callHandlers)
        +
        Create a new call resolver.
        +
        +
        Parameters:
        +
        programClassPool - ClassPool containing the classes whose calls should be + analyzed.
        +
        libraryClassPool - Auxiliary ClassPool containing framework classes. Their calls + are not resolved, but the class structure information (i.e. contained methods) is needed + when resolving calls whose target lies in such a library class.
        +
        callGraph - The CallGraph to fill with all discovered Calls.
        +
        clearCallValuesAfterVisit - If true, Call.clearValues() will be called after + CallHandler.handleCall(Call, TracedStack, TracedVariables). This makes it possible + to analyze arguments and the return value of calls while still adding them to a CallGraph afterwards, as call graph analysis itself usually only requires the call + locations and their targets, not the arguments or return value.
        +
        useDominatorAnalysis - If true, a dominator analysis is carried out using the DominatorCalculator for each method, in order to be able to fill the Call.controlFlowDependent flag.
        +
        evaluateAllCode - See PartialEvaluator.Builder.setEvaluateAllCode(boolean).
        +
        includeSubClasses - If true, virtual calls on class fields, parameters and return values + of other methods will take all possible subclasses into account. This is necessary for a + more complete call graph, because the runtime type of these objects is not controlled by + the current method. E.g. a method that declares its return type to be of type A might also + return an object of type B in case B extends A. The same is true for class fields and + parameters, so in order to really find all potential calls, this circumstance needs to be + modeled. For objects of declared type Object this will be skipped, as the + fact that every single Java class is a subclass of object would lead to an immense blow-up + of the call graph.
        +
        maxPartialEvaluations - See PartialEvaluator.Builder.stopAnalysisAfterNEvaluations(int).
        +
        shouldAnalyzeNextCodeAttribute - If returns true, the next code attribute will be + analyzed. Otherwise, the code attribute will be skipped.
        +
        skipIncompleteCalls - If true, any discovered call that would return true for Call.hasIncompleteTarget() will be discarded and not be forwarded to CallHandler.handleCall(Call, TracedStack, TracedVariables).
        +
        callHandlers - CallHandlers that are interested in the results of this analysis.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        quickResolve

        +
        public static MethodSignature quickResolve​(Instruction instruction,
        +                                           ProgramClass clazz)
        +
        Lightweight utility method to resolve the target of an invocation instruction on demand, + without having to run a full scale analysis. This means the following for the different + invocation types: + +
          +
        • invokestatic: Full target resolution possible. +
        • invokevirtual, invokespecial, invokeinterface: Method name and descriptor. +
        • invokedynamic: Only descriptor. +
        +
        +
        Parameters:
        +
        instruction - The invocation instruction to analyze.
        +
        clazz - The ProgramClass containing this instruction.
        +
        Returns:
        +
        A MethodSignature containing as much information about the invocation target as + we can confidently know without needing more in-depth analysis.
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + + + + +
        +
      • +

        visitAnyAttribute

        +
        public void visitAnyAttribute​(Clazz clazz,
        +                              Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        getDescriptor

        +
        public static java.lang.String getDescriptor​(java.lang.reflect.Method m)
        +
        Get the Descriptor of a Method.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/CallUtil.html b/api/proguard/analysis/CallUtil.html new file mode 100644 index 000000000..37e6ba8ee --- /dev/null +++ b/api/proguard/analysis/CallUtil.html @@ -0,0 +1,451 @@ + + + + + +CallUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CallUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.CallUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class CallUtil
    +extends java.lang.Object
    +
    Utility methods for call resolution.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidgetSuperinterfaces​(Clazz start, + java.util.Set<Clazz> accumulator) +
      Get the transitive superinterfaces of a class/interface recursively.
      +
      static java.util.Optional<java.lang.String>resolveFromSuperclasses​(Clazz start, + java.lang.String name, + java.lang.String descriptor) +
      Search for the invocation target in a specific class and recursively in all superclasses.
      +
      static java.util.Set<java.lang.String>resolveFromSuperinterfaces​(Clazz start, + java.lang.String name, + java.lang.String descriptor) +
      Search for a maximally specific default implementation in all superinterfaces of a class.
      +
      static java.util.Set<java.lang.String>resolveVirtual​(Clazz thisPointerType, + java.lang.String methodName, + java.lang.String descriptor) +
      The invokevirtual and invokeinterface resolution algorithm, annotated + with JVM + spec §6.5.invokevirtual citations where appropriate, so that the specified lookup process + can easily be compared to this implementation.
      +
      static java.util.Set<java.lang.String>resolveVirtual​(Clazz callingClass, + Clazz thisPointerType, + AnyMethodrefConstant ref) +
      The invokevirtual and invokeinterface resolution algorithm, annotated + with JVM + spec §6.5.invokevirtual citations where appropriate, so that the specified lookup process + can easily be compared to this implementation.
      +
      static java.util.Set<MethodSignature>resolveVirtualSignatures​(Clazz thisPointerType, + java.lang.String methodName, + java.lang.String descriptor) + +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        resolveVirtual

        +
        public static java.util.Set<java.lang.String> resolveVirtual​(Clazz callingClass,
        +                                                             Clazz thisPointerType,
        +                                                             AnyMethodrefConstant ref)
        +
        The invokevirtual and invokeinterface resolution algorithm, annotated + with JVM + spec §6.5.invokevirtual citations where appropriate, so that the specified lookup process + can easily be compared to this implementation.
        +
        +
        Parameters:
        +
        callingClass - JVM spec: "current class".
        +
        thisPointerType - The type of the this pointer of the call (JVM spec: + "objectref").
        +
        ref - The AnyMethodrefConstant specifying name and descriptor of the method to be + invoked.
        +
        Returns:
        +
        The fully qualified names of potential call target clases (usually just one, but see + resolveFromSuperinterfaces(Clazz, String, String) for details on when there might + be multiple).
        +
        +
      • +
      + + + +
        +
      • +

        resolveVirtual

        +
        public static java.util.Set<java.lang.String> resolveVirtual​(Clazz thisPointerType,
        +                                                             java.lang.String methodName,
        +                                                             java.lang.String descriptor)
        +
        The invokevirtual and invokeinterface resolution algorithm, annotated + with JVM + spec §6.5.invokevirtual citations where appropriate, so that the specified lookup process + can easily be compared to this implementation.
        +
        +
        Parameters:
        +
        thisPointerType - The type of the this pointer of the call (JVM spec: + "objectref").
        +
        methodName - The name of the invoked method.
        +
        descriptor - The descriptor of the invoked method.
        +
        Returns:
        +
        The fully qualified names of potential call target clases (usually just one, but see + resolveFromSuperinterfaces(Clazz, String, String) for details on when there might + be multiple).
        +
        +
      • +
      + + + + + + + +
        +
      • +

        resolveFromSuperclasses

        +
        public static java.util.Optional<java.lang.String> resolveFromSuperclasses​(Clazz start,
        +                                                                           java.lang.String name,
        +                                                                           java.lang.String descriptor)
        +
        Search for the invocation target in a specific class and recursively in all superclasses.
        +
        +
        Parameters:
        +
        start - The Clazz where the lookup is to be started.
        +
        name - The name of the method.
        +
        descriptor - The method descriptor.
        +
        Returns:
        +
        An Optional with the fully qualified name of the class containing the target + method, empty if it couldn't be found.
        +
        +
      • +
      + + + +
        +
      • +

        resolveFromSuperinterfaces

        +
        public static java.util.Set<java.lang.String> resolveFromSuperinterfaces​(Clazz start,
        +                                                                         java.lang.String name,
        +                                                                         java.lang.String descriptor)
        +
        Search for a maximally specific default implementation in all superinterfaces of a class. This + step is potentially unintuitive and difficult to grasp, see JVM spec + §5.4.3.3 for more information, as well as this great blog post concerning the + resolution pitfalls. The following is based on the information on those websites.
        +
        +
        Parameters:
        +
        start - The Clazz whose superinterfaces are to be searched.
        +
        name - The target method name.
        +
        descriptor - The target method descriptor.
        +
        Returns:
        +
        The fully qualified name of the class(es) that contain the method to be invoked. Be + aware that purely from a JVM point of view, this choice can be ambiguous, in which case it + just chooses the candidate randomly. Here, we don't want to gamble, but rather want to add + call graph edges for every possibility, if this ever happens. Javac ensures that such a + case never occurs, but who knows how the bytecode has been generated, so this possibility + is implemented just in case.
        +
        +
      • +
      + + + +
        +
      • +

        getSuperinterfaces

        +
        public static void getSuperinterfaces​(Clazz start,
        +                                      java.util.Set<Clazz> accumulator)
        +
        Get the transitive superinterfaces of a class/interface recursively.
        +
        +
        Parameters:
        +
        start - The Clazz where the collection process is to be started.
        +
        accumulator - The current set of superinterfaces, so that only one set is constructed at + runtime.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/DominatorCalculator.html b/api/proguard/analysis/DominatorCalculator.html new file mode 100644 index 000000000..3cdafbaf9 --- /dev/null +++ b/api/proguard/analysis/DominatorCalculator.html @@ -0,0 +1,495 @@ + + + + + +DominatorCalculator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DominatorCalculator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.DominatorCalculator
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class DominatorCalculator
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    Calculate the dominator tree of any method, making it possible to determine which instructions + are guaranteed to be executed before others. + +

    This is useful for applications like the CallResolver that would like to know whether + an instruction, e.g. a method call, is always guaranteed to be executed assuming the containing + method is invoked, or if its execution requires specific branches in the method to be taken. + +

    In principle, dominator analysis is based on a simple equation: + +

      +
    1. The entry node dominates only itself +
    2. Any other node's dominator set is calculated by forming the intersection of the dominator + sets of all its control flow predecessors. Afterwards, the node itself is also added to its + dominator set. +
    + + Like this, the dominator information is propagated through the control flow graph one by one, + potentially requiring several iterations until the solution is stable, as the dominator sets of + some predecessors might still be uninitialized when used. + +

    The implementation here is based on an algorithm that solves the underlying dataflow equation + using optimized BitSet objects instead of normal sets.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        EXIT_NODE_OFFSET

        +
        public static final int EXIT_NODE_OFFSET
        +
        Virtual instruction offset modelling the method exit, i.e. all return instructions.
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ENTRY_NODE_OFFSET

        +
        public static final int ENTRY_NODE_OFFSET
        +
        Virtual instruction offset modelling the method entry. This is needed such that the method + entry is guaranteed to have no incoming control flow edges, as this would prevent the algorithm + from converging properly without complicated alternative measures.
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DominatorCalculator

        +
        public DominatorCalculator()
        +
        Creates a new DominatorCalculator. The default behavior is to ignore exceptions.
        +
      • +
      + + + +
        +
      • +

        DominatorCalculator

        +
        public DominatorCalculator​(boolean ignoreExceptions)
        +
        Creates a new DominatorCalculator.
        +
        +
        Parameters:
        +
        ignoreExceptions - If false, exceptions will be taken into account in the analysis.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        dominates

        +
        public boolean dominates​(int dominator,
        +                         int inferior)
        +
        Check if one instruction dominates another one. If this is the case, the dominating instruction + is guaranteed to be executed before the inferior instruction. Should you wish to check whether + an instruction is guaranteed to be executed once the containing method is invoked, you can use + the virtual inferior EXIT_NODE_OFFSET as a collection for all return instructions.
        +
        +
        Parameters:
        +
        dominator - The potentially dominating instruction's offset
        +
        inferior - The potentially dominated instruction's offset
        +
        Returns:
        +
        true if the potential dominator is indeed guaranteed to be executed before the inferior
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyAttribute

        +
        public void visitAnyAttribute​(Clazz clazz,
        +                              Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/Metrics.MetricType.html b/api/proguard/analysis/Metrics.MetricType.html new file mode 100644 index 000000000..0fbf4dbdb --- /dev/null +++ b/api/proguard/analysis/Metrics.MetricType.html @@ -0,0 +1,537 @@ + + + + + +Metrics.MetricType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum Metrics.MetricType

+
+
+
    +
  • java.lang.Object
  • +
  • + +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<Metrics.MetricType>
    +
    +
    +
    Enclosing class:
    +
    Metrics
    +
    +
    +
    public static enum Metrics.MetricType
    +extends java.lang.Enum<Metrics.MetricType>
    +
    Constants which are used as metric types.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Detail

      + + + + + + + + + + + + + + + +
        +
      • +

        PARTIAL_EVALUATOR_EXCESSIVE_COMPLEXITY

        +
        public static final Metrics.MetricType PARTIAL_EVALUATOR_EXCESSIVE_COMPLEXITY
        +
      • +
      + + + +
        +
      • +

        PARTIAL_EVALUATOR_VALUE_IMPRECISE

        +
        public static final Metrics.MetricType PARTIAL_EVALUATOR_VALUE_IMPRECISE
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        INCOMPLETE_CALL_SKIPPED

        +
        public static final Metrics.MetricType INCOMPLETE_CALL_SKIPPED
        +
      • +
      + + + +
        +
      • +

        CALL_TO_ABSTRACT_METHOD

        +
        public static final Metrics.MetricType CALL_TO_ABSTRACT_METHOD
        +
      • +
      + + + +
        +
      • +

        CALL_GRAPH_RECONSTRUCTION_MAX_DEPTH_REACHED

        +
        public static final Metrics.MetricType CALL_GRAPH_RECONSTRUCTION_MAX_DEPTH_REACHED
        +
      • +
      + + + +
        +
      • +

        CALL_GRAPH_RECONSTRUCTION_MAX_WIDTH_REACHED

        +
        public static final Metrics.MetricType CALL_GRAPH_RECONSTRUCTION_MAX_WIDTH_REACHED
        +
      • +
      + + + +
        +
      • +

        CONCRETE_CALL_NO_CODE_ATTRIBUTE

        +
        public static final Metrics.MetricType CONCRETE_CALL_NO_CODE_ATTRIBUTE
        +
      • +
      + + + +
        +
      • +

        DEX2PRO_INVALID_INNER_CLASS

        +
        public static final Metrics.MetricType DEX2PRO_INVALID_INNER_CLASS
        +
      • +
      + + + +
        +
      • +

        DEX2PRO_UNPARSEABLE_METHOD_SKIPPED

        +
        public static final Metrics.MetricType DEX2PRO_UNPARSEABLE_METHOD_SKIPPED
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static Metrics.MetricType[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (Metrics.MetricType c : Metrics.MetricType.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static Metrics.MetricType valueOf​(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/Metrics.html b/api/proguard/analysis/Metrics.html new file mode 100644 index 000000000..72fd28077 --- /dev/null +++ b/api/proguard/analysis/Metrics.html @@ -0,0 +1,389 @@ + + + + + +Metrics (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Metrics

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.Metrics
    • +
    +
  • +
+
+
    +
  • +
    +
    public class Metrics
    +extends java.lang.Object
    +
    Utility to collect statistical information.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Nested Class Summary

      + + + + + + + + + + + + +
      Nested Classes 
      Modifier and TypeClassDescription
      static class Metrics.MetricType +
      Constants which are used as metric types.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      static java.util.Map<Metrics.MetricType,​java.lang.Integer>counts 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Metrics() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static java.lang.Stringflush() +
      Get all collected data as a string and clear it afterwards.
      +
      static voidincreaseCount​(Metrics.MetricType type) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        counts

        +
        public static final java.util.Map<Metrics.MetricType,​java.lang.Integer> counts
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Metrics

        +
        public Metrics()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        flush

        +
        public static java.lang.String flush()
        +
        Get all collected data as a string and clear it afterwards.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/algorithms/CpaAlgorithm.html b/api/proguard/analysis/cpa/algorithms/CpaAlgorithm.html new file mode 100644 index 000000000..d7c8e4343 --- /dev/null +++ b/api/proguard/analysis/cpa/algorithms/CpaAlgorithm.html @@ -0,0 +1,371 @@ + + + + + +CpaAlgorithm (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CpaAlgorithm

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.algorithms.CpaAlgorithm
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Algorithm
    +
    +
    +
    public class CpaAlgorithm
    +extends java.lang.Object
    +implements Algorithm
    +
    This is the CPA+ + Algorithm. The algorithm computes the set of reached states based on the initial content + of the waitlist.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CpaAlgorithm

        +
        public CpaAlgorithm​(ConfigurableProgramAnalysis cpa)
        +
        Create an algorithm to run the specified CPA.
        +
        +
        Parameters:
        +
        cpa - a CPA instance wrapping the transfer relation, the merge, and the stop operator, and + the precision adjustment
        +
        +
      • +
      + + + +
        +
      • +

        CpaAlgorithm

        +
        public CpaAlgorithm​(TransferRelation transferRelation,
        +                    MergeOperator mergeOperator,
        +                    StopOperator stopOperator,
        +                    PrecisionAdjustment precisionAdjustment)
        +
        Create a CPA algorithm from CPA components.
        +
        +
        Parameters:
        +
        transferRelation - a transfer relation specifying how successor states are computed
        +
        mergeOperator - a merge operator defining how (and whether) the older AbstractState should be updated with the newly discovered AbstractState
        +
        stopOperator - a stop operator deciding whether the successor state should be added to the + ReachedSet based on the content of the latter
        +
        precisionAdjustment - a precision adjustment selecting the Precision for the + currently processed AbstractState considering the ReachedSet content
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        run

        +
        public void run​(ReachedSet reachedSet,
        +                Waitlist waitlist,
        +                AbortOperator abortOperator)
        +
        Algorithm from the paper is parametrized with the reached set and the waitlist. Thus one can + select the start point of the algorithm (e.g., for resuming the analysis). The + abortOperator determines whether the analysis should end prematurely.
        +
        +
        Specified by:
        +
        run in interface Algorithm
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/algorithms/package-summary.html b/api/proguard/analysis/cpa/algorithms/package-summary.html new file mode 100644 index 000000000..b2a6c1878 --- /dev/null +++ b/api/proguard/analysis/cpa/algorithms/package-summary.html @@ -0,0 +1,167 @@ + + + + + +proguard.analysis.cpa.algorithms (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.algorithms

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/algorithms/package-tree.html b/api/proguard/analysis/cpa/algorithms/package-tree.html new file mode 100644 index 000000000..04a0e102e --- /dev/null +++ b/api/proguard/analysis/cpa/algorithms/package-tree.html @@ -0,0 +1,161 @@ + + + + + +proguard.analysis.cpa.algorithms Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.algorithms

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • proguard.analysis.cpa.algorithms.CpaAlgorithm (implements proguard.analysis.cpa.interfaces.Algorithm)
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/analysis/cpa/bam/BamCache.html b/api/proguard/analysis/cpa/bam/BamCache.html new file mode 100644 index 000000000..3ce8b165f --- /dev/null +++ b/api/proguard/analysis/cpa/bam/BamCache.html @@ -0,0 +1,393 @@ + + + + + +BamCache (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface BamCache<SignatureT extends Signature>

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    BamCacheImpl
    +
    +
    +
    public interface BamCache<SignatureT extends Signature>
    +
    Generic interface for the BAM cache, where the blocks represent a function identified with a + SignatureT. Along with the Cfa the signature can be used to retrieve the block + (i.e. the respective CFA subgraph) as described in the BAM paper. + +

    A block abstraction is uniquely identified by a triple of an entry AbstractState (that + may be call-context dependent, e.g. if the calling parameters or global variables are different), + the corresponding Precision, and the Signature of the function the block belongs + to.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        get

        +
        BlockAbstraction get​(AbstractState stateKey,
        +                     Precision precisionKey,
        +                     SignatureT blockKey)
        +
        Gets the block abstraction identified by the provided keys from the cache.
        +
        +
        Returns:
        +
        The requested block abstraction, null in case of cache-miss.
        +
        +
      • +
      + + + + + +
        +
      • +

        get

        +
        java.util.Collection<BlockAbstraction> get​(SignatureT blockKey)
        +
        Returns a collection of all the cache entries for a specified method, empty in case there are + not such entries.
        +
      • +
      + + + + + +
        +
      • +

        get

        +
        java.util.Collection<BlockAbstraction> get​(Precision precision,
        +                                           SignatureT blockKey)
        +
        Returns a collection of all the cache entries for a specified method with a certain precision, + empty in case there are not such entries.
        +
      • +
      + + + +
        +
      • +

        values

        +
        java.util.Collection<BlockAbstraction> values()
        +
        Returns block abstractions stored in the cache.
        +
      • +
      + + + +
        +
      • +

        size

        +
        int size()
        +
        Returns the size of the cache.
        +
      • +
      + + + +
        +
      • +

        getAllMethods

        +
        java.util.Set<SignatureT> getAllMethods()
        +
        Returns a set of all the methods that have an entry in the cache.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/bam/BamCacheImpl.html b/api/proguard/analysis/cpa/bam/BamCacheImpl.html new file mode 100644 index 000000000..44aed4738 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/BamCacheImpl.html @@ -0,0 +1,476 @@ + + + + + +BamCacheImpl (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BamCacheImpl<SignatureT extends Signature>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.bam.BamCacheImpl<SignatureT>
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    BamCache<SignatureT>
    +
    +
    +
    public class BamCacheImpl<SignatureT extends Signature>
    +extends java.lang.Object
    +implements BamCache<SignatureT>
    +
    A simple implementation of BamCache where the cache is implemented as a HashMap.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      BamCacheImpl() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      BlockAbstractionget​(AbstractState stateKey, + Precision precisionKey, + SignatureT blockKey) +
      Gets the block abstraction identified by the provided keys from the cache.
      +
      java.util.Collection<BlockAbstraction>get​(Precision precision, + SignatureT blockKey) +
      Returns a collection of all the cache entries for a specified method with a certain precision, + empty in case there are not such entries.
      +
      java.util.Collection<BlockAbstraction>get​(SignatureT blockKey) +
      Returns a collection of all the cache entries for a specified method, empty in case there are + not such entries.
      +
      java.util.Set<SignatureT>getAllMethods() +
      Returns a set of all the methods that have an entry in the cache.
      +
      voidput​(AbstractState stateKey, + Precision precisionKey, + SignatureT blockKey, + BlockAbstraction blockAbstraction) +
      Adds the block abstraction identified by the provided keys to the cache.
      +
      intsize() +
      Returns the size of the cache.
      +
      java.util.Collection<BlockAbstraction>values() +
      Returns block abstractions stored in the cache.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/bam/BamCpa.html b/api/proguard/analysis/cpa/bam/BamCpa.html new file mode 100644 index 000000000..c4440e762 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/BamCpa.html @@ -0,0 +1,573 @@ + + + + + +BamCpa (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BamCpa<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.bam.BamCpa<CfaNodeT,​CfaEdgeT,​SignatureT>
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConfigurableProgramAnalysis
    +
    +
    +
    public class BamCpa<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>
    +extends java.lang.Object
    +implements ConfigurableProgramAnalysis
    +
    A ConfigurableProgramAnalysis for inter-procedural analysis using block abstraction + memoization as described in {@see https://dl.acm.org/doi/pdf/10.1145/3368089.3409718}, which is + defined by a domain-dependent CpaWithBamOperators that adds three operators: reduce, + expand, and rebuild. This allows an inter-procedural analysis running this CPA to be conducted by + the standard CpaAlgorithm. + +

    A BAM CPA works on a domain-independent level and its abstract domain, merge operator, and + stop operator are defined by the domain-dependent wrapped CPA. The main feature of a BAM CPA is + its transfer relation (see BamTransferRelation for details) that is able to extend the + analysis of the wrapped CPA to the inter-procedural level.

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/bam/BamLocationDependent.html b/api/proguard/analysis/cpa/bam/BamLocationDependent.html new file mode 100644 index 000000000..57aae7cec --- /dev/null +++ b/api/proguard/analysis/cpa/bam/BamLocationDependent.html @@ -0,0 +1,278 @@ + + + + + +BamLocationDependent (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface BamLocationDependent<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​AbstractStateT extends AbstractState & ProgramLocationDependent<CfaNodeT,​CfaEdgeT,​SignatureT>,​SignatureT extends Signature>

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/bam/BamTransferRelation.html b/api/proguard/analysis/cpa/bam/BamTransferRelation.html new file mode 100644 index 000000000..a6b76154a --- /dev/null +++ b/api/proguard/analysis/cpa/bam/BamTransferRelation.html @@ -0,0 +1,513 @@ + + + + + +BamTransferRelation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BamTransferRelation<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.bam.BamTransferRelation<CfaNodeT,​CfaEdgeT,​SignatureT>
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    TransferRelation
    +
    +
    +
    public class BamTransferRelation<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>
    +extends java.lang.Object
    +implements TransferRelation
    +
    This TransferRelation extends an analysis inter-procedurally. The transfer relation + applies as close as possible the algorithms described in {@see + https://dl.acm.org/doi/pdf/10.1145/3368089.3409718}. On a high level the task of this + domain-independent transfer relation is to extend the intra-procedural domain-dependent transfer + relation of a CpaWithBamOperators inter-procedurally. For more details on how the + transfer relation works see generateAbstractSuccessors(AbstractState, + Precision).
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + + + +
        +
      • +

        BamTransferRelation

        +
        public BamTransferRelation​(CpaWithBamOperators<CfaNodeT,​CfaEdgeT,​SignatureT> wrappedCpa,
        +                           Cfa<CfaNodeT,​CfaEdgeT,​SignatureT> cfa,
        +                           SignatureT mainFunction,
        +                           BamCache<SignatureT> cache)
        +
        Create a BAM transfer relation with an unlimited call stack.
        +
        +
        Parameters:
        +
        wrappedCpa - a wrapped CPA with BAM operators
        +
        cfa - a control flow automaton
        +
        mainFunction - the signature of the main function of an analyzed program
        +
        cache - a cache for the block abstractions
        +
        +
      • +
      + + + + + +
        +
      • +

        BamTransferRelation

        +
        public BamTransferRelation​(CpaWithBamOperators<CfaNodeT,​CfaEdgeT,​SignatureT> wrappedCpa,
        +                           Cfa<CfaNodeT,​CfaEdgeT,​SignatureT> cfa,
        +                           SignatureT mainFunction,
        +                           BamCache<SignatureT> cache,
        +                           int maxCallStackDepth,
        +                           AbortOperator abortOperator)
        +
        Create a BAM transfer relation with a specified maximum call stack depth. When the call stack + meets its size limit the method call analysis is delegated to the wrapped intra-procedural + transfer relation.
        +
        +
        Parameters:
        +
        wrappedCpa - a wrapped CPA with BAM operators
        +
        cfa - a control flow automaton
        +
        mainFunction - the signature of the main function of an analyzed program
        +
        cache - a cache for the block abstractions
        +
        maxCallStackDepth - maximum depth of the call stack analyzed inter-procedurally. 0 means + intra-procedural analysis. < 0 means no maximum depth.
        +
        abortOperator - an abort operator used for computing block abstractions
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        generateAbstractSuccessors

        +
        public java.util.Collection<? extends AbstractState> generateAbstractSuccessors​(AbstractState abstractState,
        +                                                                                Precision precision)
        +
        In order to implement an inter-procedural analysis the abstract successors are calculated for + the following cases: + +

        - Run the fixed point algorithm from the entry of the main method, continuing the analysis + until a fixed point is reached (i.e. a function summary is provided for each function, also the + recursive ones). If there are no recursive calls the fixed point is reached after the first + iteration, while in case of recursive calls, depending on the domain-dependent transfer + relation, they can be unrolled at each iteration until the fixed point is reached. + +

        - Run the applyBlockAbstraction algorithm at every known procedure call. This algorithm + takes care of retrieving the summary of the procedure from the cache (if available) or calls + CpaAlgorithm recursively on the new function to compute and store in the cache the + summary of the procedure when called from the specified AbstractState (i.e. different + parameters or global state result in a different summary). Since we have no information on the + code of the target of SymbolicCall this type of calls is delegated to the + intra-procedural transfer relation instead of being analyzed by the applyBlockAbstraction + algorithm. The result of the block abstraction on the intra-procedural level is simply + generating a successor (or successors in case there are multiple call edges, e.g. for unknown + runtime type of an object) abstract state that has as location the next node of the Cfa. The recursion can be limited at a maximum call stack size. The intra-procedural transfer + relation is also applied in case the max call stack size is reached. + +

        - Apply the underlying intra-procedural transfer relation to all the other non-exit nodes in + order to act as the wrapped transfer relation when procedure calls are not involved. + +

        - Exit nodes reached are the base cases of the recursion (along with the stop operator), in + this case the transfer relation returns with no successors.

        +
        +
        Specified by:
        +
        generateAbstractSuccessors in interface TransferRelation
        +
        +
      • +
      + + + +
        +
      • +

        getMaxCallStackDepth

        +
        public int getMaxCallStackDepth()
        +
        Returns the maximal call stack depth. If negative the maximum call stack depth is unlimited.
        +
      • +
      + + + + + + + +
        +
      • +

        getWaitlist

        +
        protected Waitlist getWaitlist()
        +
        By default the Waitlist used by the applyBlockAbstraction algorithm is a BreadthFirstWaitlist, this method can be overridden to provide a different waitlist.
        +
      • +
      + + + + + + + +
        +
      • +

        getCache

        +
        public BamCache<SignatureT> getCache()
        +
        Returns BAM cache storing analysis result for various method calls.
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/bam/BlockAbstraction.html b/api/proguard/analysis/cpa/bam/BlockAbstraction.html new file mode 100644 index 000000000..bcbf43a49 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/BlockAbstraction.html @@ -0,0 +1,338 @@ + + + + + +BlockAbstraction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BlockAbstraction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.bam.BlockAbstraction
    • +
    +
  • +
+
+
    +
  • +
    +
    public class BlockAbstraction
    +extends java.lang.Object
    +
    A block abstraction is a summary of the analysis of a procedure call, represented by the set of + reached abstract states and a waitlist of states that still need to be analyzed. The BAM CPA can + save these abstractions in a cache and retrieve them when the same procedure is called with the + same entry AbstractState.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BlockAbstraction

        +
        public BlockAbstraction​(ReachedSet reachedSet,
        +                        Waitlist waitlist)
        +
        Create a new block abstraction.
        +
        +
        Parameters:
        +
        reachedSet - a collection of discovered states
        +
        waitlist - a collection of states of the block that need to be analyzed
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getReachedSet

        +
        public ReachedSet getReachedSet()
        +
        Returns the ReachedSet of the block abstraction.
        +
      • +
      + + + +
        +
      • +

        getWaitlist

        +
        public Waitlist getWaitlist()
        +
        Returns the Waitlist of the block abstraction.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/bam/CpaWithBamOperators.html b/api/proguard/analysis/cpa/bam/CpaWithBamOperators.html new file mode 100644 index 000000000..8782e0cdb --- /dev/null +++ b/api/proguard/analysis/cpa/bam/CpaWithBamOperators.html @@ -0,0 +1,436 @@ + + + + + +CpaWithBamOperators (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CpaWithBamOperators<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConfigurableProgramAnalysis
    +
    +
    +
    public class CpaWithBamOperators<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>
    +extends SimpleCpa
    +
    A domain dependent analysis that can be wrapped with a BamCpa to be extended + inter-procedurally. + +

    Compared to a standard ConfigurableProgramAnalysis, this is extended with three + operators: + +

    - The reduce operator discards from the entry abstract state of a procedure the unnecessary + information (e.g. local variables of the caller). + +

    - The expand operator restores the removed information. + +

    - The rebuild operator avoids collision of program identifiers while returning from a + procedure call (e.g. renaming variables).

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/bam/ExpandOperator.html b/api/proguard/analysis/cpa/bam/ExpandOperator.html new file mode 100644 index 000000000..c8544b901 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/ExpandOperator.html @@ -0,0 +1,279 @@ + + + + + +ExpandOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ExpandOperator<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>

+
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      AbstractStateexpand​(AbstractState expandedInitialState, + AbstractState reducedExitState, + CfaNodeT blockEntryNode, + Call call) +
      Reconstructs the state of the caller of a procedure using the information of the expanded + initial state, the reduced exit state, the block entry node (that can be used to retrieve the + CFA subgraph of the function), and the call to the procedure.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        expand

        +
        AbstractState expand​(AbstractState expandedInitialState,
        +                     AbstractState reducedExitState,
        +                     CfaNodeT blockEntryNode,
        +                     Call call)
        +
        Reconstructs the state of the caller of a procedure using the information of the expanded + initial state, the reduced exit state, the block entry node (that can be used to retrieve the + CFA subgraph of the function), and the call to the procedure.
        +
        +
        Parameters:
        +
        expandedInitialState - the entry state of the called procedure before any reduction
        +
        reducedExitState - the state of the called procedure in its exit node
        +
        blockEntryNode - the entry node of the called procedure
        +
        call - the information of the call to the procedure
        +
        Returns:
        +
        The state of the caller after the procedure call, eventually with some collisions of + identifiers that need the RebuildOperator to be solved
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/bam/NoOpRebuildOperator.html b/api/proguard/analysis/cpa/bam/NoOpRebuildOperator.html new file mode 100644 index 000000000..61ac1fbe3 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/NoOpRebuildOperator.html @@ -0,0 +1,326 @@ + + + + + +NoOpRebuildOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NoOpRebuildOperator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.bam.NoOpRebuildOperator
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      AbstractStaterebuild​(AbstractState predecessorCallState, + AbstractState expandedOutputState) +
      Performs the rebuilding of the return state.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NoOpRebuildOperator

        +
        public NoOpRebuildOperator()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        rebuild

        +
        public AbstractState rebuild​(AbstractState predecessorCallState,
        +                             AbstractState expandedOutputState)
        +
        Description copied from interface: RebuildOperator
        +
        Performs the rebuilding of the return state.
        +
        +
        Specified by:
        +
        rebuild in interface RebuildOperator
        +
        Parameters:
        +
        predecessorCallState - the state of the caller at the moment of the procedure call
        +
        expandedOutputState - the output of ExpandOperator
        +
        Returns:
        +
        The state of the caller after the procedure call
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/bam/NoOpReduceOperator.html b/api/proguard/analysis/cpa/bam/NoOpReduceOperator.html new file mode 100644 index 000000000..fa45d0d43 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/NoOpReduceOperator.html @@ -0,0 +1,340 @@ + + + + + +NoOpReduceOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NoOpReduceOperator<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.bam.NoOpReduceOperator<CfaNodeT,​CfaEdgeT,​SignatureT>
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ReduceOperator<CfaNodeT,​CfaEdgeT,​SignatureT>
    +
    +
    +
    public class NoOpReduceOperator<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>
    +extends java.lang.Object
    +implements ReduceOperator<CfaNodeT,​CfaEdgeT,​SignatureT>
    +
    This ReduceOperator returns the original AbstractState without performing any + reduction.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      NoOpReduceOperator() 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NoOpReduceOperator

        +
        public NoOpReduceOperator()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/bam/RebuildOperator.html b/api/proguard/analysis/cpa/bam/RebuildOperator.html new file mode 100644 index 000000000..105528c3b --- /dev/null +++ b/api/proguard/analysis/cpa/bam/RebuildOperator.html @@ -0,0 +1,267 @@ + + + + + +RebuildOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface RebuildOperator

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    NoOpRebuildOperator
    +
    +
    +
    public interface RebuildOperator
    +
    This operator is used to avoid collision of program identifiers when returning from a procedure + call. This operator does not compute any abstraction, but just performs simple operations as + renaming variables, depending on the domain.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        rebuild

        +
        AbstractState rebuild​(AbstractState predecessorCallState,
        +                      AbstractState expandedOutputState)
        +
        Performs the rebuilding of the return state.
        +
        +
        Parameters:
        +
        predecessorCallState - the state of the caller at the moment of the procedure call
        +
        expandedOutputState - the output of ExpandOperator
        +
        Returns:
        +
        The state of the caller after the procedure call
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/bam/ReduceOperator.html b/api/proguard/analysis/cpa/bam/ReduceOperator.html new file mode 100644 index 000000000..d96d6e78d --- /dev/null +++ b/api/proguard/analysis/cpa/bam/ReduceOperator.html @@ -0,0 +1,338 @@ + + + + + +ReduceOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ReduceOperator<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>

+
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and TypeMethodDescription
      default AbstractStateonMethodEntry​(AbstractState reducedState, + boolean isStatic) +
      Performs additional operations on the reduced state (i.e.
      +
      default AbstractStatereduce​(AbstractState expandedInitialState, + CfaNodeT blockEntryNode, + Call call) +
      Accumulates the reduction procedure by calling the method to create the initial state of the + called procedure discarding the useless information from the state of the caller and calling a + method that performs additional operations on the created state if any are specified by an + implementing class.
      +
      AbstractStatereduceImpl​(AbstractState expandedInitialState, + CfaNodeT blockEntryNode, + Call call) +
      Creates the initial state of the called procedure discarding the useless information from the + state of the caller.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        reduce

        +
        default AbstractState reduce​(AbstractState expandedInitialState,
        +                             CfaNodeT blockEntryNode,
        +                             Call call)
        +
        Accumulates the reduction procedure by calling the method to create the initial state of the + called procedure discarding the useless information from the state of the caller and calling a + method that performs additional operations on the created state if any are specified by an + implementing class.
        +
        +
        Parameters:
        +
        expandedInitialState - the entry state of the called procedure before any reduction
        +
        blockEntryNode - the entry node of the called procedure
        +
        call - the information of the call to the procedure
        +
        Returns:
        +
        The entry state of the called procedure
        +
        +
      • +
      + + + + + +
        +
      • +

        reduceImpl

        +
        AbstractState reduceImpl​(AbstractState expandedInitialState,
        +                         CfaNodeT blockEntryNode,
        +                         Call call)
        +
        Creates the initial state of the called procedure discarding the useless information from the + state of the caller.
        +
        +
        Parameters:
        +
        expandedInitialState - the entry state of the called procedure before any reduction
        +
        blockEntryNode - the entry node of the called procedure
        +
        call - the information of the call to the procedure
        +
        Returns:
        +
        The entry state of the called procedure
        +
        +
      • +
      + + + +
        +
      • +

        onMethodEntry

        +
        default AbstractState onMethodEntry​(AbstractState reducedState,
        +                                    boolean isStatic)
        +
        Performs additional operations on the reduced state (i.e. on the method entry state). Does + nothing by default. NB: since this is still part of the reduction operation the result of this + method is the state used by the analysis and part of the cache key for the called method.
        +
        +
        Parameters:
        +
        reducedState - reduced state (i.e., the entry state of the called method)
        +
        isStatic - is the called method static
        +
        Returns:
        +
        the state after performing additional operations or untouched state by default
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/bam/package-summary.html b/api/proguard/analysis/cpa/bam/package-summary.html new file mode 100644 index 000000000..5ef94d0a1 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/package-summary.html @@ -0,0 +1,255 @@ + + + + + +proguard.analysis.cpa.bam (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.bam

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    BamCache<SignatureT extends Signature> +
    Generic interface for the BAM cache, where the blocks represent a function identified with a + SignatureT.
    +
    BamLocationDependent<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​AbstractStateT extends AbstractState & ProgramLocationDependent<CfaNodeT,​CfaEdgeT,​SignatureT>,​SignatureT extends Signature> +
    If the usage of an AbstractState depends on the specific BAM cache entry it belongs to, + it should implement BamLocationDependent to link it to its source reached set.
    +
    ExpandOperator<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> +
    This operator is used to recover the information discarded when entering a procedure block + depending on the domain-specific analysis.
    +
    RebuildOperator +
    This operator is used to avoid collision of program identifiers when returning from a procedure + call.
    +
    ReduceOperator<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> +
    This operator is used to discard unnecessary information when entering a procedure block + depending on the domain-specific analysis (e.g.
    +
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    BamCacheImpl<SignatureT extends Signature> +
    A simple implementation of BamCache where the cache is implemented as a HashMap.
    +
    BamCpa<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> +
    A ConfigurableProgramAnalysis for inter-procedural analysis using block abstraction + memoization as described in {@see https://dl.acm.org/doi/pdf/10.1145/3368089.3409718}, which is + defined by a domain-dependent CpaWithBamOperators that adds three operators: reduce, + expand, and rebuild.
    +
    BamTransferRelation<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> +
    This TransferRelation extends an analysis inter-procedurally.
    +
    BlockAbstraction +
    A block abstraction is a summary of the analysis of a procedure call, represented by the set of + reached abstract states and a waitlist of states that still need to be analyzed.
    +
    CpaWithBamOperators<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> +
    A domain dependent analysis that can be wrapped with a BamCpa to be extended + inter-procedurally.
    +
    NoOpRebuildOperator +
    This RebuildOperator returns the original AbstractState without performing any + rebuilding.
    +
    NoOpReduceOperator<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature> +
    This ReduceOperator returns the original AbstractState without performing any + reduction.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/bam/package-tree.html b/api/proguard/analysis/cpa/bam/package-tree.html new file mode 100644 index 000000000..c640bc783 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/package-tree.html @@ -0,0 +1,181 @@ + + + + + +proguard.analysis.cpa.bam Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.bam

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/defaults/AbstractSingleWrapperState.html b/api/proguard/analysis/cpa/defaults/AbstractSingleWrapperState.html new file mode 100644 index 000000000..fca73b969 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/AbstractSingleWrapperState.html @@ -0,0 +1,439 @@ + + + + + +AbstractSingleWrapperState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AbstractSingleWrapperState

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/AbstractWaitlist.html b/api/proguard/analysis/cpa/defaults/AbstractWaitlist.html new file mode 100644 index 000000000..0356ec18e --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/AbstractWaitlist.html @@ -0,0 +1,592 @@ + + + + + +AbstractWaitlist (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AbstractWaitlist<CollectionT extends java.util.Collection<AbstractState>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.AbstractWaitlist<CollectionT>
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      protected CollectionTwaitlist 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + +
      Constructors 
      ModifierConstructorDescription
      protected AbstractWaitlist​(CollectionT waitList) +
      Create a waitlist from a carrier collection.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidadd​(AbstractState abstractState) +
      Adds an abstract state.
      +
      voidaddAll​(java.util.Collection<? extends AbstractState> abstractStates) +
      Adds multiple abstract states.
      +
      voidclear() +
      Empties the waitlist.
      +
      booleancontains​(AbstractState abstractState) +
      Checks whether the abstract state is present.
      +
      voidforEach​(java.util.function.Consumer<? super AbstractState> action) 
      booleanisEmpty() +
      Checks whether the waitlist is empty.
      +
      @NotNull java.util.Iterator<AbstractState>iterator() 
      booleanremove​(AbstractState abstractState) +
      Removes an abstract state.
      +
      voidremoveAll​(java.util.Collection<?> abstractStates) +
      Removes multiple abstract states.
      +
      intsize() +
      Returns the size of the waitlist.
      +
      java.util.Spliterator<AbstractState>spliterator() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
        +
      • + + +

        Methods inherited from interface proguard.analysis.cpa.interfaces.Waitlist

        +pop
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + + + +
        +
      • +

        AbstractWaitlist

        +
        protected AbstractWaitlist​(CollectionT waitList)
        +
        Create a waitlist from a carrier collection.
        +
        +
        Parameters:
        +
        waitList - the carrier collection
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        add

        +
        public void add​(AbstractState abstractState)
        +
        Description copied from interface: Waitlist
        +
        Adds an abstract state.
        +
        +
        Specified by:
        +
        add in interface Waitlist
        +
        +
      • +
      + + + +
        +
      • +

        addAll

        +
        public void addAll​(java.util.Collection<? extends AbstractState> abstractStates)
        +
        Description copied from interface: Waitlist
        +
        Adds multiple abstract states.
        +
        +
        Specified by:
        +
        addAll in interface Waitlist
        +
        +
      • +
      + + + +
        +
      • +

        clear

        +
        public void clear()
        +
        Description copied from interface: Waitlist
        +
        Empties the waitlist.
        +
        +
        Specified by:
        +
        clear in interface Waitlist
        +
        +
      • +
      + + + +
        +
      • +

        contains

        +
        public boolean contains​(AbstractState abstractState)
        +
        Description copied from interface: Waitlist
        +
        Checks whether the abstract state is present.
        +
        +
        Specified by:
        +
        contains in interface Waitlist
        +
        +
      • +
      + + + +
        +
      • +

        isEmpty

        +
        public boolean isEmpty()
        +
        Description copied from interface: Waitlist
        +
        Checks whether the waitlist is empty.
        +
        +
        Specified by:
        +
        isEmpty in interface Waitlist
        +
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public boolean remove​(AbstractState abstractState)
        +
        Description copied from interface: Waitlist
        +
        Removes an abstract state.
        +
        +
        Specified by:
        +
        remove in interface Waitlist
        +
        +
      • +
      + + + +
        +
      • +

        removeAll

        +
        public void removeAll​(java.util.Collection<?> abstractStates)
        +
        Description copied from interface: Waitlist
        +
        Removes multiple abstract states.
        +
        +
        Specified by:
        +
        removeAll in interface Waitlist
        +
        +
      • +
      + + + +
        +
      • +

        size

        +
        public int size()
        +
        Description copied from interface: Waitlist
        +
        Returns the size of the waitlist.
        +
        +
        Specified by:
        +
        size in interface Waitlist
        +
        +
      • +
      + + + +
        +
      • +

        iterator

        +
        @NotNull
        +public @NotNull java.util.Iterator<AbstractState> iterator()
        +
        +
        Specified by:
        +
        iterator in interface java.lang.Iterable<CollectionT extends java.util.Collection<AbstractState>>
        +
        +
      • +
      + + + +
        +
      • +

        forEach

        +
        public void forEach​(java.util.function.Consumer<? super AbstractState> action)
        +
        +
        Specified by:
        +
        forEach in interface java.lang.Iterable<CollectionT extends java.util.Collection<AbstractState>>
        +
        +
      • +
      + + + +
        +
      • +

        spliterator

        +
        public java.util.Spliterator<AbstractState> spliterator()
        +
        +
        Specified by:
        +
        spliterator in interface java.lang.Iterable<CollectionT extends java.util.Collection<AbstractState>>
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/AbstractWrapperState.html b/api/proguard/analysis/cpa/defaults/AbstractWrapperState.html new file mode 100644 index 000000000..e91ebfc27 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/AbstractWrapperState.html @@ -0,0 +1,364 @@ + + + + + +AbstractWrapperState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AbstractWrapperState

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.AbstractWrapperState
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AbstractWrapperState

        +
        public AbstractWrapperState()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getWrappedStates

        +
        public abstract java.lang.Iterable<? extends AbstractState> getWrappedStates()
        +
        Returns the wrapped abstract states.
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object obj)
        +
        +
        Specified by:
        +
        equals in interface AbstractState
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Specified by:
        +
        hashCode in interface AbstractState
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/BamCpaRun.Builder.html b/api/proguard/analysis/cpa/defaults/BamCpaRun.Builder.html new file mode 100644 index 000000000..6c580efbe --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/BamCpaRun.Builder.html @@ -0,0 +1,438 @@ + + + + + +BamCpaRun.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BamCpaRun.Builder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.BamCpaRun.Builder
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        maxCallStackDepth

        +
        protected int maxCallStackDepth
        +
      • +
      + + + + + + + +
        +
      • +

        reduceHeap

        +
        protected boolean reduceHeap
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Builder

        +
        public Builder()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        build

        +
        public abstract BamCpaRun<?,​?,​?,​?,​?> build()
        +
        Returns the BamCpaRun for given parameters.
        +
      • +
      + + + +
        +
      • +

        setMaxCallStackDepth

        +
        public BamCpaRun.Builder setMaxCallStackDepth​(int maxCallStackDepth)
        +
        Sets the call stack limit for the interprocedural analysis.
        +
      • +
      + + + +
        +
      • +

        setAbortOperator

        +
        public BamCpaRun.Builder setAbortOperator​(AbortOperator abortOperator)
        +
        Sets the abort operator for premature CPA algorithm termination.
        +
      • +
      + + + +
        +
      • +

        setReduceHeap

        +
        public BamCpaRun.Builder setReduceHeap​(boolean reduceHeap)
        +
        Sets whether the heap should be reduced before method calls.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/BamCpaRun.html b/api/proguard/analysis/cpa/defaults/BamCpaRun.html new file mode 100644 index 000000000..571a25335 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/BamCpaRun.html @@ -0,0 +1,596 @@ + + + + + +BamCpaRun (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BamCpaRun<CpaT extends ConfigurableProgramAnalysis,​AbstractStateT extends AbstractState,​CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.CpaRun<BamCpa<CfaNodeT,​CfaEdgeT,​SignatureT>,​AbstractStateT>
    • +
    • +
        +
      • proguard.analysis.cpa.defaults.BamCpaRun<CpaT,​AbstractStateT,​CfaNodeT,​CfaEdgeT,​SignatureT>
      • +
      +
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        reduceHeap

        +
        protected final boolean reduceHeap
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BamCpaRun

        +
        protected BamCpaRun​(AbortOperator abortOperator,
        +                    int maxCallStackDepth)
        +
        Create a BAM CPA run.
        +
        +
        Parameters:
        +
        abortOperator - an abort operator
        +
        maxCallStackDepth - the maximum depth of the call stack analyzed interprocedurally 0 means + intraprocedural analysis < 0 means no maximum depth
        +
        +
      • +
      + + + +
        +
      • +

        BamCpaRun

        +
        protected BamCpaRun​(AbortOperator abortOperator,
        +                    int maxCallStackDepth,
        +                    boolean reduceHeap)
        +
        Create a BAM CPA run.
        +
        +
        Parameters:
        +
        abortOperator - an abort operator
        +
        maxCallStackDepth - the maximum depth of the call stack analyzed interprocedurally 0 means + intraprocedural analysis < 0 means no maximum depth
        +
        reduceHeap - whether reduction/expansion of the heap state is performed at call/return + sites
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/BreadthFirstWaitlist.html b/api/proguard/analysis/cpa/defaults/BreadthFirstWaitlist.html new file mode 100644 index 000000000..a8ccaf8e1 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/BreadthFirstWaitlist.html @@ -0,0 +1,343 @@ + + + + + +BreadthFirstWaitlist (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BreadthFirstWaitlist

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BreadthFirstWaitlist

        +
        public BreadthFirstWaitlist()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        pop

        +
        public AbstractState pop()
        +
        Description copied from interface: Waitlist
        +
        Remove the next abstract state and return it.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/Cfa.html b/api/proguard/analysis/cpa/defaults/Cfa.html new file mode 100644 index 000000000..8e8edf066 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/Cfa.html @@ -0,0 +1,555 @@ + + + + + +Cfa (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Cfa<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.Cfa<CfaNodeT,​CfaEdgeT,​SignatureT>
    • +
    +
  • +
+
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    JvmCfa
    +
    +
    +
    public abstract class Cfa<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>
    +extends java.lang.Object
    +
    A Cfa is a control flow automaton with nodes <CfaNodeT> and edges + <CfaEdgeT>. It can be used for different programming languages with functions identified by + <SignatureT>.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      protected java.util.Map<SignatureT,​java.util.Map<java.lang.Integer,​CfaNodeT>>functionNodes 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Cfa() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddFunctionEntryNode​(SignatureT signature, + CfaNodeT node) +
      Add an entry node to the graph for a specified function (with offset 0).
      +
      voidaddFunctionNode​(SignatureT signature, + CfaNodeT node, + int offset) +
      Add a node to the graph for a specified function.
      +
      java.util.stream.Stream<CfaNodeT>getAllNodes() +
      Returns a stream of all the nodes present in the graph.
      +
      CfaNodeTgetFunctionEntryNode​(SignatureT signature) +
      Returns the entry node of a specific function (with offset 0), returns null if the function or + its entry node are not in the graph.
      +
      java.util.Collection<CfaNodeT>getFunctionEntryNodes() +
      Returns a collection of the entry nodes (with offset 0) of all the functions present in the + graph, returns an empty collection if the graph is empty.
      +
      CfaNodeTgetFunctionNode​(Clazz clazz, + Method method, + int offset) +
      Returns the node of a function at a specific code offset, returns null if the function or the + specific node are not in the graph.
      +
      CfaNodeTgetFunctionNode​(SignatureT signature, + int offset) +
      Returns the node of a function at a specific code offset, returns null if the function or the + specific node are not in the graph.
      +
      java.util.Collection<CfaNodeT>getFunctionNodes​(SignatureT signature) +
      Returns all the nodes of a specific function, returns an empty collection if the function is + not in the graph or if it has no nodes.
      +
      booleanisEmpty() +
      Returns true if there are no nodes in the CFA, false otherwise.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Cfa

        +
        public Cfa()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isEmpty

        +
        public boolean isEmpty()
        +
        Returns true if there are no nodes in the CFA, false otherwise.
        +
      • +
      + + + +
        +
      • +

        getAllNodes

        +
        public java.util.stream.Stream<CfaNodeT> getAllNodes()
        +
        Returns a stream of all the nodes present in the graph. + +

        Note: a Stream is provided to avoid creating new collections unnecessarily.

        +
      • +
      + + + +
        +
      • +

        getFunctionEntryNodes

        +
        public java.util.Collection<CfaNodeT> getFunctionEntryNodes()
        +
        Returns a collection of the entry nodes (with offset 0) of all the functions present in the + graph, returns an empty collection if the graph is empty.
        +
      • +
      + + + + + +
        +
      • +

        getFunctionEntryNode

        +
        public CfaNodeT getFunctionEntryNode​(SignatureT signature)
        +
        Returns the entry node of a specific function (with offset 0), returns null if the function or + its entry node are not in the graph.
        +
        +
        Parameters:
        +
        signature - The signature of the function.
        +
        +
      • +
      + + + + + +
        +
      • +

        getFunctionNodes

        +
        public java.util.Collection<CfaNodeT> getFunctionNodes​(SignatureT signature)
        +
        Returns all the nodes of a specific function, returns an empty collection if the function is + not in the graph or if it has no nodes.
        +
        +
        Parameters:
        +
        signature - The signature of the function.
        +
        +
      • +
      + + + + + +
        +
      • +

        getFunctionNode

        +
        public CfaNodeT getFunctionNode​(SignatureT signature,
        +                                int offset)
        +
        Returns the node of a function at a specific code offset, returns null if the function or the + specific node are not in the graph.
        +
        +
        Parameters:
        +
        signature - The signature of the function.
        +
        offset - The offset of the code location represented by the node.
        +
        +
      • +
      + + + +
        +
      • +

        getFunctionNode

        +
        public CfaNodeT getFunctionNode​(Clazz clazz,
        +                                Method method,
        +                                int offset)
        +
        Returns the node of a function at a specific code offset, returns null if the function or the + specific node are not in the graph.
        +
        +
        Parameters:
        +
        clazz - The Clazz in which the function is declared.
        +
        method - The Method in which the function is declared.
        +
        offset - The offset of the code location represented by the node.
        +
        +
      • +
      + + + + + +
        +
      • +

        addFunctionEntryNode

        +
        public void addFunctionEntryNode​(SignatureT signature,
        +                                 CfaNodeT node)
        +
        Add an entry node to the graph for a specified function (with offset 0).
        +
        +
        Parameters:
        +
        signature - The signature of the function,.
        +
        node - The entry node to add.
        +
        +
      • +
      + + + + + +
        +
      • +

        addFunctionNode

        +
        public void addFunctionNode​(SignatureT signature,
        +                            CfaNodeT node,
        +                            int offset)
        +
        Add a node to the graph for a specified function.
        +
        +
        Parameters:
        +
        signature - The signature of the function.
        +
        node - The node to add.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/ControllableAbortOperator.html b/api/proguard/analysis/cpa/defaults/ControllableAbortOperator.html new file mode 100644 index 000000000..1488ad91a --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/ControllableAbortOperator.html @@ -0,0 +1,362 @@ + + + + + +ControllableAbortOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ControllableAbortOperator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.ControllableAbortOperator
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AbortOperator
    +
    +
    +
    public class ControllableAbortOperator
    +extends java.lang.Object
    +implements AbortOperator
    +
    This AbortOperator allows changing its behavior by setting the boolean field abort to the desired output.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      booleanabort 
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanabort​(AbstractState abstractState) +
      The operator receives a newly discovered abstract state and returns whether the analysis should + terminate.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        abort

        +
        public boolean abort
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ControllableAbortOperator

        +
        public ControllableAbortOperator()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        abort

        +
        public boolean abort​(AbstractState abstractState)
        +
        Description copied from interface: AbortOperator
        +
        The operator receives a newly discovered abstract state and returns whether the analysis should + terminate.
        +
        +
        Specified by:
        +
        abort in interface AbortOperator
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/CpaRun.html b/api/proguard/analysis/cpa/defaults/CpaRun.html new file mode 100644 index 000000000..19e52bb90 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/CpaRun.html @@ -0,0 +1,456 @@ + + + + + +CpaRun (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CpaRun<CpaT extends ConfigurableProgramAnalysis,​AbstractStateT extends AbstractState>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.CpaRun<CpaT,​AbstractStateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/DefaultReachedSet.html b/api/proguard/analysis/cpa/defaults/DefaultReachedSet.html new file mode 100644 index 000000000..5789e12ea --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/DefaultReachedSet.html @@ -0,0 +1,442 @@ + + + + + +DefaultReachedSet (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DefaultReachedSet

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.util.AbstractCollection<E>
    • +
    • +
        +
      • java.util.AbstractSet<E>
      • +
      • +
          +
        • java.util.HashSet<E>
        • +
        • +
            +
          • java.util.LinkedHashSet<AbstractState>
          • +
          • +
              +
            • proguard.analysis.cpa.defaults.DefaultReachedSet
            • +
            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DefaultReachedSet() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.util.Collection<AbstractState>asCollection() +
      Returns a collection representation of itself.
      +
      java.util.Collection<AbstractState>getReached​(AbstractState abstractState) +
      Returns a collection of abstract states mergeable with the abstractState.
      +
      booleanremove​(AbstractState state) +
      Removes an abstract state.
      +
      +
        +
      • + + +

        Methods inherited from class java.util.LinkedHashSet

        +spliterator
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.HashSet

        +add, clear, clone, contains, isEmpty, iterator, remove, size
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.AbstractSet

        +equals, hashCode, removeAll
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.AbstractCollection

        +addAll, containsAll, retainAll, toArray, toArray, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      +
        +
      • + + +

        Methods inherited from interface java.util.Collection

        +parallelStream, removeIf, stream, toArray
      • +
      +
        +
      • + + +

        Methods inherited from interface java.lang.Iterable

        +forEach
      • +
      + +
        +
      • + + +

        Methods inherited from interface java.util.Set

        +add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DefaultReachedSet

        +
        public DefaultReachedSet()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/DelegateAbstractDomain.html b/api/proguard/analysis/cpa/defaults/DelegateAbstractDomain.html new file mode 100644 index 000000000..1eea3f65c --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/DelegateAbstractDomain.html @@ -0,0 +1,347 @@ + + + + + +DelegateAbstractDomain (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DelegateAbstractDomain<LatticeAbstractStateT extends LatticeAbstractState>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.DelegateAbstractDomain<LatticeAbstractStateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/DepthFirstWaitlist.html b/api/proguard/analysis/cpa/defaults/DepthFirstWaitlist.html new file mode 100644 index 000000000..43a7fa0ec --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/DepthFirstWaitlist.html @@ -0,0 +1,343 @@ + + + + + +DepthFirstWaitlist (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DepthFirstWaitlist

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DepthFirstWaitlist

        +
        public DepthFirstWaitlist()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        pop

        +
        public AbstractState pop()
        +
        Description copied from interface: Waitlist
        +
        Remove the next abstract state and return it.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/DifferentialMap.html b/api/proguard/analysis/cpa/defaults/DifferentialMap.html new file mode 100644 index 000000000..3460ad128 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/DifferentialMap.html @@ -0,0 +1,716 @@ + + + + + +DifferentialMap (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DifferentialMap<K,​V>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.DifferentialMap<K,​V>
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.util.Map<K,​V>
    +
    +
    +
    Direct Known Subclasses:
    +
    DifferentialMapAbstractState
    +
    +
    +
    public class DifferentialMap<K,​V>
    +extends java.lang.Object
    +implements java.util.Map<K,​V>
    +
    A differential representation of maps. Maps are stored as trees with full maps as roots and + action nodes. Action nodes define either element deletion or insertion. The value of the map is + defined as the root map with action nodes between it and the current node applied to it. Any + action node can be used to form a root of another tree with an equivalent semantic. A predicate + on when to collapse can be provided for creating root nodes automatically upon insertion or + removal.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Nested Class Summary

      +
        +
      • + + +

        Nested classes/interfaces inherited from interface java.util.Map

        +java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
      • +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DifferentialMap() +
      Create an empty differential map.
      +
      DifferentialMap​(java.util.Map<K,​V> m) +
      Create a differential map from another map.
      +
      DifferentialMap​(java.util.Map<K,​V> m, + java.util.function.Predicate<DifferentialMap<K,​V>> shouldCollapse) +
      Create a differential map from another map and a collapse criterion.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclear() 
      voidcollapse() +
      Changes the internal representation by applying action nodes to a copy of the root.
      +
      booleancontainsKey​(java.lang.Object key) 
      booleancontainsValue​(java.lang.Object value) 
      @NotNull java.util.Set<java.util.Map.Entry<K,​V>>entrySet() 
      booleanequals​(java.lang.Object obj) 
      Vget​(java.lang.Object key) 
      intgetDepth() +
      Returns the depth of the action node with regard to the root map.
      +
      inthashCode() 
      booleanisEmpty() 
      @NotNull java.util.Set<K>keySet() 
      Vput​(K key, + V value) 
      voidputAll​(@NotNull java.util.Map<? extends K,​? extends V> m) 
      Vremove​(java.lang.Object key) 
      intsize() 
      @NotNull java.util.Collection<V>values() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
      • +
      +
        +
      • + + +

        Methods inherited from interface java.util.Map

        +compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        shouldCollapse

        +
        protected final java.util.function.Predicate<DifferentialMap<K,​V>> shouldCollapse
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DifferentialMap

        +
        public DifferentialMap()
        +
        Create an empty differential map.
        +
      • +
      + + + +
        +
      • +

        DifferentialMap

        +
        public DifferentialMap​(java.util.Map<K,​V> m)
        +
        Create a differential map from another map.
        +
        +
        Parameters:
        +
        m - initial map if it is a differential map, the collapse criterion will be copied from it
        +
        +
      • +
      + + + +
        +
      • +

        DifferentialMap

        +
        public DifferentialMap​(java.util.Map<K,​V> m,
        +                       java.util.function.Predicate<DifferentialMap<K,​V>> shouldCollapse)
        +
        Create a differential map from another map and a collapse criterion.
        +
        +
        Parameters:
        +
        m - initial map
        +
        shouldCollapse - whether the map should collapse into a root node
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        collapse

        +
        public void collapse()
        +
        Changes the internal representation by applying action nodes to a copy of the root.
        +
      • +
      + + + +
        +
      • +

        getDepth

        +
        public int getDepth()
        +
        Returns the depth of the action node with regard to the root map.
        +
      • +
      + + + +
        +
      • +

        size

        +
        public int size()
        +
        +
        Specified by:
        +
        size in interface java.util.Map<K,​V>
        +
        +
      • +
      + + + +
        +
      • +

        isEmpty

        +
        public boolean isEmpty()
        +
        +
        Specified by:
        +
        isEmpty in interface java.util.Map<K,​V>
        +
        +
      • +
      + + + +
        +
      • +

        containsKey

        +
        public boolean containsKey​(java.lang.Object key)
        +
        +
        Specified by:
        +
        containsKey in interface java.util.Map<K,​V>
        +
        +
      • +
      + + + +
        +
      • +

        containsValue

        +
        public boolean containsValue​(java.lang.Object value)
        +
        +
        Specified by:
        +
        containsValue in interface java.util.Map<K,​V>
        +
        +
      • +
      + + + +
        +
      • +

        get

        +
        public V get​(java.lang.Object key)
        +
        +
        Specified by:
        +
        get in interface java.util.Map<K,​V>
        +
        +
      • +
      + + + + + +
        +
      • +

        put

        +
        @Nullable
        +public V put​(K key,
        +             V value)
        +
        +
        Specified by:
        +
        put in interface java.util.Map<K,​V>
        +
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public V remove​(java.lang.Object key)
        +
        +
        Specified by:
        +
        remove in interface java.util.Map<K,​V>
        +
        +
      • +
      + + + +
        +
      • +

        putAll

        +
        public void putAll​(@NotNull
        +                   @NotNull java.util.Map<? extends K,​? extends V> m)
        +
        +
        Specified by:
        +
        putAll in interface java.util.Map<K,​V>
        +
        +
      • +
      + + + +
        +
      • +

        clear

        +
        public void clear()
        +
        +
        Specified by:
        +
        clear in interface java.util.Map<K,​V>
        +
        +
      • +
      + + + +
        +
      • +

        keySet

        +
        @NotNull
        +public @NotNull java.util.Set<K> keySet()
        +
        +
        Specified by:
        +
        keySet in interface java.util.Map<K,​V>
        +
        +
      • +
      + + + +
        +
      • +

        values

        +
        @NotNull
        +public @NotNull java.util.Collection<V> values()
        +
        +
        Specified by:
        +
        values in interface java.util.Map<K,​V>
        +
        +
      • +
      + + + +
        +
      • +

        entrySet

        +
        @NotNull
        +public @NotNull java.util.Set<java.util.Map.Entry<K,​V>> entrySet()
        +
        +
        Specified by:
        +
        entrySet in interface java.util.Map<K,​V>
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Specified by:
        +
        hashCode in interface java.util.Map<K,​V>
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object obj)
        +
        +
        Specified by:
        +
        equals in interface java.util.Map<K,​V>
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/DifferentialMapAbstractState.html b/api/proguard/analysis/cpa/defaults/DifferentialMapAbstractState.html new file mode 100644 index 000000000..812ecd637 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/DifferentialMapAbstractState.html @@ -0,0 +1,421 @@ + + + + + +DifferentialMapAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DifferentialMapAbstractState<KeyT,​AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>>

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/HashMapAbstractState.html b/api/proguard/analysis/cpa/defaults/HashMapAbstractState.html new file mode 100644 index 000000000..279867b98 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/HashMapAbstractState.html @@ -0,0 +1,444 @@ + + + + + +HashMapAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class HashMapAbstractState<KeyT,​AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.util.AbstractMap<K,​V>
    • +
    • +
        +
      • java.util.HashMap<KeyT,​AbstractSpaceT>
      • +
      • +
          +
        • proguard.analysis.cpa.defaults.HashMapAbstractState<KeyT,​AbstractSpaceT>
        • +
        +
      • +
      +
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Nested Class Summary

      +
        +
      • + + +

        Nested classes/interfaces inherited from class java.util.AbstractMap

        +java.util.AbstractMap.SimpleEntry<K extends java.lang.Object,​V extends java.lang.Object>, java.util.AbstractMap.SimpleImmutableEntry<K extends java.lang.Object,​V extends java.lang.Object>
      • +
      +
        +
      • + + +

        Nested classes/interfaces inherited from interface java.util.Map

        +java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      HashMapAbstractState() +
      Create an empty hash map abstract state.
      +
      HashMapAbstractState​(int initialCapacity) +
      Create an empty hash map abstract state with reserved initial capacity.
      +
      HashMapAbstractState​(java.util.Map<? extends KeyT,​? extends AbstractSpaceT> m) +
      Create a hash map abstract state from another map.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      HashMapAbstractState<KeyT,​AbstractSpaceT>copy() +
      Creates a copy of itself.
      +
      +
        +
      • + + +

        Methods inherited from class java.util.HashMap

        +clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.AbstractMap

        +equals, hashCode, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      + + +
        +
      • + + +

        Methods inherited from interface java.util.Map

        +clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
      • +
      + +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        HashMapAbstractState

        +
        public HashMapAbstractState()
        +
        Create an empty hash map abstract state.
        +
      • +
      + + + +
        +
      • +

        HashMapAbstractState

        +
        public HashMapAbstractState​(int initialCapacity)
        +
        Create an empty hash map abstract state with reserved initial capacity.
        +
        +
        Parameters:
        +
        initialCapacity - the initial capacity of the hash table
        +
        +
      • +
      + + + +
        +
      • +

        HashMapAbstractState

        +
        public HashMapAbstractState​(java.util.Map<? extends KeyT,​? extends AbstractSpaceT> m)
        +
        Create a hash map abstract state from another map.
        +
        +
        Parameters:
        +
        m - map which elements are used for initialization
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/LatticeAbstractState.html b/api/proguard/analysis/cpa/defaults/LatticeAbstractState.html new file mode 100644 index 000000000..f7e97374e --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/LatticeAbstractState.html @@ -0,0 +1,312 @@ + + + + + +LatticeAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface LatticeAbstractState<AbstractStateT extends LatticeAbstractState<AbstractStateT>>

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        isLessOrEqual

        +
        boolean isLessOrEqual​(AbstractStateT abstractState)
        +
        Compares itself to the abstractState.
        +
      • +
      + + + + + +
        +
      • +

        isLess

        +
        default boolean isLess​(AbstractStateT abstractStateT)
        +
        Strictly compares itself to the abstractState.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/defaults/LimitedHashMap.html b/api/proguard/analysis/cpa/defaults/LimitedHashMap.html new file mode 100644 index 000000000..9bfab5bb3 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/LimitedHashMap.html @@ -0,0 +1,601 @@ + + + + + +LimitedHashMap (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LimitedHashMap<K,​V>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.util.AbstractMap<K,​V>
    • +
    • +
        +
      • java.util.HashMap<K,​V>
      • +
      • +
          +
        • proguard.analysis.cpa.defaults.LimitedHashMap<K,​V>
        • +
        +
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Cloneable, java.util.Map<K,​V>
    +
    +
    +
    Direct Known Subclasses:
    +
    LimitedHashMapAbstractState
    +
    +
    +
    public class LimitedHashMap<K,​V>
    +extends java.util.HashMap<K,​V>
    +
    This LimitedHashMap is a HashMap which limits its content based on the function + removeElement. removeElement determines whether the map limit is reached. If it + returns an empty value, the map behaves as usual. Otherwise, the returned key is removed from the + map.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Nested Class Summary

      +
        +
      • + + +

        Nested classes/interfaces inherited from class java.util.AbstractMap

        +java.util.AbstractMap.SimpleEntry<K extends java.lang.Object,​V extends java.lang.Object>, java.util.AbstractMap.SimpleImmutableEntry<K extends java.lang.Object,​V extends java.lang.Object>
      • +
      +
        +
      • + + +

        Nested classes/interfaces inherited from interface java.util.Map

        +java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
      • +
      +
    • +
    +
    + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      Vcompute​(K key, + java.util.function.BiFunction<? super K,​? super V,​? extends V> remappingFunction) 
      VcomputeIfAbsent​(K key, + java.util.function.Function<? super K,​? extends V> mappingFunction) 
      Vmerge​(K key, + V value, + java.util.function.BiFunction<? super V,​? super V,​? extends V> remappingFunction) 
      Vput​(K key, + V value) 
      voidputAll​(java.util.Map<? extends K,​? extends V> m) 
      VputIfAbsent​(K key, + V value) 
      +
        +
      • + + +

        Methods inherited from class java.util.HashMap

        +clear, clone, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, remove, remove, replace, replace, replaceAll, size, values
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.AbstractMap

        +equals, hashCode, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      +
        +
      • + + +

        Methods inherited from interface java.util.Map

        +equals, hashCode
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LimitedHashMap

        +
        public LimitedHashMap​(TriFunction<LimitedHashMap<K,​V>,​K,​V,​java.util.Optional<K>> removeElement)
        +
        Create an empty limited hash map.
        +
        +
        Parameters:
        +
        removeElement - determines whether the map limit is reached if it returns an empty value, + the map behaves as usual otherwise, the returned key is removed from the map
        +
        +
      • +
      + + + +
        +
      • +

        LimitedHashMap

        +
        public LimitedHashMap​(int initialCapacity,
        +                      TriFunction<LimitedHashMap<K,​V>,​K,​V,​java.util.Optional<K>> removeElement)
        +
        Create an empty limited map with reserved initial capacity.
        +
        +
        Parameters:
        +
        initialCapacity - the initial capacity of the hash table
        +
        removeElement - determines whether the map limit is reached if it returns an empty value, + the map behaves as usual otherwise, the returned key is removed from the map
        +
        +
      • +
      + + + +
        +
      • +

        LimitedHashMap

        +
        public LimitedHashMap​(java.util.Map<? extends K,​? extends V> m,
        +                      TriFunction<LimitedHashMap<K,​V>,​K,​V,​java.util.Optional<K>> removeElement)
        +
        Create a limited map from another map and a tripredicate.
        +
        +
        Parameters:
        +
        m - map which elements are used for initialization
        +
        removeElement - determines whether the map limit is reached if it returns an empty value, + the map behaves as usual otherwise, the returned key is removed from the map
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        put

        +
        public V put​(K key,
        +             V value)
        +
        +
        Specified by:
        +
        put in interface java.util.Map<K,​V>
        +
        Overrides:
        +
        put in class java.util.HashMap<K,​V>
        +
        +
      • +
      + + + +
        +
      • +

        putAll

        +
        public void putAll​(java.util.Map<? extends K,​? extends V> m)
        +
        +
        Specified by:
        +
        putAll in interface java.util.Map<K,​V>
        +
        Overrides:
        +
        putAll in class java.util.HashMap<K,​V>
        +
        +
      • +
      + + + + + +
        +
      • +

        putIfAbsent

        +
        public V putIfAbsent​(K key,
        +                     V value)
        +
        +
        Specified by:
        +
        putIfAbsent in interface java.util.Map<K,​V>
        +
        Overrides:
        +
        putIfAbsent in class java.util.HashMap<K,​V>
        +
        +
      • +
      + + + + + +
        +
      • +

        computeIfAbsent

        +
        public V computeIfAbsent​(K key,
        +                         java.util.function.Function<? super K,​? extends V> mappingFunction)
        +
        +
        Specified by:
        +
        computeIfAbsent in interface java.util.Map<K,​V>
        +
        Overrides:
        +
        computeIfAbsent in class java.util.HashMap<K,​V>
        +
        +
      • +
      + + + + + +
        +
      • +

        compute

        +
        public V compute​(K key,
        +                 java.util.function.BiFunction<? super K,​? super V,​? extends V> remappingFunction)
        +
        +
        Specified by:
        +
        compute in interface java.util.Map<K,​V>
        +
        Overrides:
        +
        compute in class java.util.HashMap<K,​V>
        +
        +
      • +
      + + + + + +
        +
      • +

        merge

        +
        public V merge​(K key,
        +               V value,
        +               java.util.function.BiFunction<? super V,​? super V,​? extends V> remappingFunction)
        +
        +
        Specified by:
        +
        merge in interface java.util.Map<K,​V>
        +
        Overrides:
        +
        merge in class java.util.HashMap<K,​V>
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/LimitedHashMapAbstractState.html b/api/proguard/analysis/cpa/defaults/LimitedHashMapAbstractState.html new file mode 100644 index 000000000..d20a281b5 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/LimitedHashMapAbstractState.html @@ -0,0 +1,485 @@ + + + + + +LimitedHashMapAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LimitedHashMapAbstractState<KeyT,​AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.util.AbstractMap<K,​V>
    • +
    • + +
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LimitedHashMapAbstractState

        +
        public LimitedHashMapAbstractState​(TriFunction<LimitedHashMap<KeyT,​AbstractSpaceT>,​KeyT,​AbstractSpaceT,​java.util.Optional<KeyT>> removeElement)
        +
        Create an empty limited hash map abstract state.
        +
        +
        Parameters:
        +
        removeElement - determines whether the map limit is reached if it returns an empty value, + the map behaves as usual otherwise, the returned key is removed from the map
        +
        +
      • +
      + + + +
        +
      • +

        LimitedHashMapAbstractState

        +
        public LimitedHashMapAbstractState​(int initialCapacity,
        +                                   TriFunction<LimitedHashMap<KeyT,​AbstractSpaceT>,​KeyT,​AbstractSpaceT,​java.util.Optional<KeyT>> removeElement)
        +
        Create an empty limited hash map abstract state with reserved initial capacity.
        +
        +
        Parameters:
        +
        initialCapacity - the initial capacity of the hash table
        +
        removeElement - determines whether the map limit is reached if it returns an empty value, + the map behaves as usual otherwise, the returned key is removed from the map
        +
        +
      • +
      + + + +
        +
      • +

        LimitedHashMapAbstractState

        +
        public LimitedHashMapAbstractState​(java.util.Map<? extends KeyT,​? extends AbstractSpaceT> m,
        +                                   TriFunction<LimitedHashMap<KeyT,​AbstractSpaceT>,​KeyT,​AbstractSpaceT,​java.util.Optional<KeyT>> removeElement)
        +
        Create a hash map abstract state from another map.
        +
        +
        Parameters:
        +
        m - map which elements are used for initialization
        +
        removeElement - determines whether the map limit is reached if it returns an empty value, + the map behaves as usual otherwise, the returned key is removed from the map
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/ListAbstractState.html b/api/proguard/analysis/cpa/defaults/ListAbstractState.html new file mode 100644 index 000000000..12979cc91 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/ListAbstractState.html @@ -0,0 +1,511 @@ + + + + + +ListAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ListAbstractState<AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.util.AbstractCollection<E>
    • +
    • +
        +
      • java.util.AbstractList<E>
      • +
      • +
          +
        • java.util.ArrayList<AbstractSpaceT>
        • +
        • +
            +
          • proguard.analysis.cpa.defaults.ListAbstractState<AbstractSpaceT>
          • +
          +
        • +
        +
      • +
      +
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      +
        +
      • + + +

        Fields inherited from class java.util.AbstractList

        +modCount
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ListAbstractState() +
      Create a list abstract state with initial capacity 0.
      +
      ListAbstractState​(int initalCapacity) +
      Create a list abstract state with selected initial capacity.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/MapAbstractState.html b/api/proguard/analysis/cpa/defaults/MapAbstractState.html new file mode 100644 index 000000000..c6992c1a3 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/MapAbstractState.html @@ -0,0 +1,347 @@ + + + + + +MapAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface MapAbstractState<KeyT,​AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>>

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/defaults/MergeJoinOperator.html b/api/proguard/analysis/cpa/defaults/MergeJoinOperator.html new file mode 100644 index 000000000..fdd7f91a5 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/MergeJoinOperator.html @@ -0,0 +1,333 @@ + + + + + +MergeJoinOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MergeJoinOperator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.MergeJoinOperator
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MergeOperator
    +
    +
    +
    public final class MergeJoinOperator
    +extends java.lang.Object
    +implements MergeOperator
    +
    This MergeOperator applies the join operator to its arguments.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      MergeJoinOperator​(AbstractDomain abstractDomain) +
      Create a merge operator from an abstract domain defining the join operator.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      AbstractStatemerge​(AbstractState abstractState1, + AbstractState abstractState2, + Precision precision) +
      The operator uses the abstractState1 to weaken abstractState2 depending on + precision.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MergeJoinOperator

        +
        public MergeJoinOperator​(AbstractDomain abstractDomain)
        +
        Create a merge operator from an abstract domain defining the join operator.
        +
        +
        Parameters:
        +
        abstractDomain - abstract domain
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        merge

        +
        public AbstractState merge​(AbstractState abstractState1,
        +                           AbstractState abstractState2,
        +                           Precision precision)
        +
        Description copied from interface: MergeOperator
        +
        The operator uses the abstractState1 to weaken abstractState2 depending on + precision. Thus, it is asymmetric regarding its first two parameters. E.g., return + abstractState2 for no merging. To guarantee the correct behavior of the algorithm + implementations must have no side effects.
        +
        +
        Specified by:
        +
        merge in interface MergeOperator
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/MergeSepOperator.html b/api/proguard/analysis/cpa/defaults/MergeSepOperator.html new file mode 100644 index 000000000..8e0825c2f --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/MergeSepOperator.html @@ -0,0 +1,326 @@ + + + + + +MergeSepOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MergeSepOperator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.MergeSepOperator
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      MergeSepOperator() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      AbstractStatemerge​(AbstractState abstractState1, + AbstractState abstractState2, + Precision precision) +
      The operator uses the abstractState1 to weaken abstractState2 depending on + precision.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MergeSepOperator

        +
        public MergeSepOperator()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        merge

        +
        public AbstractState merge​(AbstractState abstractState1,
        +                           AbstractState abstractState2,
        +                           Precision precision)
        +
        Description copied from interface: MergeOperator
        +
        The operator uses the abstractState1 to weaken abstractState2 depending on + precision. Thus, it is asymmetric regarding its first two parameters. E.g., return + abstractState2 for no merging. To guarantee the correct behavior of the algorithm + implementations must have no side effects.
        +
        +
        Specified by:
        +
        merge in interface MergeOperator
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/NeverAbortOperator.html b/api/proguard/analysis/cpa/defaults/NeverAbortOperator.html new file mode 100644 index 000000000..3dd852fad --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/NeverAbortOperator.html @@ -0,0 +1,322 @@ + + + + + +NeverAbortOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NeverAbortOperator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.NeverAbortOperator
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AbortOperator
    +
    +
    +
    public final class NeverAbortOperator
    +extends java.lang.Object
    +implements AbortOperator
    +
    This AbortOperator never terminates the analysis prematurely.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanabort​(AbstractState abstractState) +
      The operator receives a newly discovered abstract state and returns whether the analysis should + terminate.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        abort

        +
        public boolean abort​(AbstractState abstractState)
        +
        Description copied from interface: AbortOperator
        +
        The operator receives a newly discovered abstract state and returns whether the analysis should + terminate.
        +
        +
        Specified by:
        +
        abort in interface AbortOperator
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/PrecisionAdjustmentResult.html b/api/proguard/analysis/cpa/defaults/PrecisionAdjustmentResult.html new file mode 100644 index 000000000..402827b05 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/PrecisionAdjustmentResult.html @@ -0,0 +1,335 @@ + + + + + +PrecisionAdjustmentResult (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PrecisionAdjustmentResult

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.PrecisionAdjustmentResult
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PrecisionAdjustmentResult

        +
        public PrecisionAdjustmentResult​(AbstractState abstractState,
        +                                 Precision precision)
        +
        Create a precision adjustment result tuple.
        +
        +
        Parameters:
        +
        abstractState - abstract state
        +
        precision - precision
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAbstractState

        +
        public AbstractState getAbstractState()
        +
        Returns the abstract state.
        +
      • +
      + + + +
        +
      • +

        getPrecision

        +
        public Precision getPrecision()
        +
        Returns the precision.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/ProgramLocationDependentReachedSet.html b/api/proguard/analysis/cpa/defaults/ProgramLocationDependentReachedSet.html new file mode 100644 index 000000000..58f009e8a --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/ProgramLocationDependentReachedSet.html @@ -0,0 +1,448 @@ + + + + + +ProgramLocationDependentReachedSet (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProgramLocationDependentReachedSet<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​AbstractStateT extends AbstractState & ProgramLocationDependent<CfaNodeT,​CfaEdgeT,​SignatureT>,​SignatureT extends Signature>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet<CfaNodeT,​CfaEdgeT,​AbstractStateT,​SignatureT>
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanadd​(AbstractState abstractState) +
      Adds an abstract state.
      +
      booleanaddAll​(java.util.Collection<? extends AbstractState> abstractStates) +
      Adds multiple abstract states.
      +
      java.util.Collection<AbstractStateT>asCollection() +
      Returns a collection representation of itself.
      +
      java.util.Collection<? extends AbstractState>getReached​(CfaNodeT location) +
      Returns a collection of abstract states belonging to the given location.
      +
      java.util.Collection<? extends AbstractState>getReached​(AbstractState abstractState) +
      Returns a collection of abstract states mergeable with the abstractState.
      +
      booleanremove​(AbstractState abstractState) +
      Removes an abstract state.
      +
      booleanremoveAll​(java.util.Collection<?> abstractStates) +
      Removes multiple abstract states.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ProgramLocationDependentReachedSet

        +
        public ProgramLocationDependentReachedSet()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        add

        +
        public boolean add​(AbstractState abstractState)
        +
        Description copied from interface: ReachedSet
        +
        Adds an abstract state.
        +
        +
        Specified by:
        +
        add in interface ReachedSet
        +
        +
      • +
      + + + +
        +
      • +

        addAll

        +
        public boolean addAll​(java.util.Collection<? extends AbstractState> abstractStates)
        +
        Description copied from interface: ReachedSet
        +
        Adds multiple abstract states.
        +
        +
        Specified by:
        +
        addAll in interface ReachedSet
        +
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public boolean remove​(AbstractState abstractState)
        +
        Description copied from interface: ReachedSet
        +
        Removes an abstract state.
        +
        +
        Specified by:
        +
        remove in interface ReachedSet
        +
        +
      • +
      + + + +
        +
      • +

        removeAll

        +
        public boolean removeAll​(java.util.Collection<?> abstractStates)
        +
        Description copied from interface: ReachedSet
        +
        Removes multiple abstract states.
        +
        +
        Specified by:
        +
        removeAll in interface ReachedSet
        +
        +
      • +
      + + + +
        +
      • +

        asCollection

        +
        public java.util.Collection<AbstractStateT> asCollection()
        +
        Description copied from interface: ReachedSet
        +
        Returns a collection representation of itself.
        +
        +
        Specified by:
        +
        asCollection in interface ReachedSet
        +
        +
      • +
      + + + +
        +
      • +

        getReached

        +
        public java.util.Collection<? extends AbstractState> getReached​(AbstractState abstractState)
        +
        Description copied from interface: ReachedSet
        +
        Returns a collection of abstract states mergeable with the abstractState.
        +
        +
        Specified by:
        +
        getReached in interface ReachedSet
        +
        +
      • +
      + + + + + +
        +
      • +

        getReached

        +
        public java.util.Collection<? extends AbstractState> getReached​(CfaNodeT location)
        +
        Returns a collection of abstract states belonging to the given location.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/SequentialCpaRun.PreviousRunDurationReceiver.html b/api/proguard/analysis/cpa/defaults/SequentialCpaRun.PreviousRunDurationReceiver.html new file mode 100644 index 000000000..30a8cb738 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/SequentialCpaRun.PreviousRunDurationReceiver.html @@ -0,0 +1,259 @@ + + + + + +SequentialCpaRun.PreviousRunDurationReceiver (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface SequentialCpaRun.PreviousRunDurationReceiver

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setPreviousCpaRunDuration

        +
        void setPreviousCpaRunDuration​(java.time.Duration duration)
        +
        +
        Parameters:
        +
        duration - The duration of the first CPA run in the SequentialCpaRun
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/defaults/SequentialCpaRun.html b/api/proguard/analysis/cpa/defaults/SequentialCpaRun.html new file mode 100644 index 000000000..107707c94 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/SequentialCpaRun.html @@ -0,0 +1,471 @@ + + + + + +SequentialCpaRun (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SequentialCpaRun<CpaT extends ConfigurableProgramAnalysis,​AbstractStateT extends AbstractState,​InputCpaRunT extends CpaRun>

+
+
+
    +
  • java.lang.Object
  • +
  • + +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/SetAbstractState.html b/api/proguard/analysis/cpa/defaults/SetAbstractState.html new file mode 100644 index 000000000..eb48cd8b1 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/SetAbstractState.html @@ -0,0 +1,508 @@ + + + + + +SetAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SetAbstractState<T>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.util.AbstractCollection<E>
    • +
    • +
        +
      • java.util.AbstractSet<E>
      • +
      • +
          +
        • java.util.HashSet<T>
        • +
        • +
            +
          • proguard.analysis.cpa.defaults.SetAbstractState<T>
          • +
          +
        • +
        +
      • +
      +
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SetAbstractState​(java.util.Collection<? extends T> c) +
      Create a set abstract state from a collection.
      +
      SetAbstractState​(T... items) +
      Create a set abstract state from its elements.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      SetAbstractState<T>copy() +
      Creates a copy of itself.
      +
      booleanisLessOrEqual​(SetAbstractState<T> abstractState) +
      Compares itself to the abstractState.
      +
      SetAbstractState<T>join​(SetAbstractState<T> abstractState) +
      Computes a join over itself and the abstractState.
      +
      +
        +
      • + + +

        Methods inherited from class java.util.HashSet

        +add, clear, clone, contains, isEmpty, iterator, remove, size, spliterator
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.AbstractSet

        +equals, hashCode, removeAll
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.AbstractCollection

        +addAll, containsAll, retainAll, toArray, toArray, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      + +
        +
      • + + +

        Methods inherited from interface java.util.Collection

        +parallelStream, removeIf, stream, toArray
      • +
      +
        +
      • + + +

        Methods inherited from interface java.lang.Iterable

        +forEach
      • +
      + +
        +
      • + + +

        Methods inherited from interface java.util.Set

        +addAll, containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray
      • +
      +
    • +
    +
    +
  • +
+
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/SimpleCpa.html b/api/proguard/analysis/cpa/defaults/SimpleCpa.html new file mode 100644 index 000000000..10d36495e --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/SimpleCpa.html @@ -0,0 +1,463 @@ + + + + + +SimpleCpa (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SimpleCpa

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.SimpleCpa
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/SingleWrapperTransferRelation.html b/api/proguard/analysis/cpa/defaults/SingleWrapperTransferRelation.html new file mode 100644 index 000000000..1b4467e87 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/SingleWrapperTransferRelation.html @@ -0,0 +1,394 @@ + + + + + +SingleWrapperTransferRelation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SingleWrapperTransferRelation

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.SingleWrapperTransferRelation
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/StackAbstractState.html b/api/proguard/analysis/cpa/defaults/StackAbstractState.html new file mode 100644 index 000000000..72ca5c00e --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/StackAbstractState.html @@ -0,0 +1,506 @@ + + + + + +StackAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StackAbstractState<AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.util.AbstractCollection<E>
    • +
    • +
        +
      • java.util.AbstractList<E>
      • +
      • +
          +
        • java.util.Vector<E>
        • +
        • +
            +
          • java.util.Stack<AbstractSpaceT>
          • +
          • +
              +
            • proguard.analysis.cpa.defaults.StackAbstractState<AbstractSpaceT>
            • +
            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      +
        +
      • + + +

        Fields inherited from class java.util.Vector

        +capacityIncrement, elementCount, elementData
      • +
      +
        +
      • + + +

        Fields inherited from class java.util.AbstractList

        +modCount
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      StackAbstractState() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      StackAbstractState<AbstractSpaceT>copy() +
      Creates a copy of itself.
      +
      booleanisLessOrEqual​(StackAbstractState<AbstractSpaceT> abstractState) +
      Compares itself to the abstractState.
      +
      StackAbstractState<AbstractSpaceT>join​(StackAbstractState<AbstractSpaceT> abstractState) +
      Computes a join over itself and the abstractState.
      +
      AbstractSpaceTpeek​(int index) +
      Returns the indexth element from the top of the stack.
      +
      AbstractSpaceTpeekOrDefault​(int index, + AbstractSpaceT defaultState) +
      Returns the indexth element from the top of the stack.
      +
      AbstractSpaceTpopOrDefault​(AbstractSpaceT defaultState) +
      Removes the top of the stack and returns it.
      +
      +
        +
      • + + +

        Methods inherited from class java.util.Stack

        +empty, peek, pop, push, search
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.Vector

        +add, add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, forEach, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, iterator, lastElement, lastIndexOf, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeIf, removeRange, replaceAll, retainAll, set, setElementAt, setSize, size, sort, spliterator, subList, toArray, toArray, toString, trimToSize
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      + +
        +
      • + + +

        Methods inherited from interface java.util.Collection

        +parallelStream, stream, toArray
      • +
      + +
    • +
    +
    +
  • +
+
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/StaticPrecisionAdjustment.html b/api/proguard/analysis/cpa/defaults/StaticPrecisionAdjustment.html new file mode 100644 index 000000000..47f600586 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/StaticPrecisionAdjustment.html @@ -0,0 +1,324 @@ + + + + + +StaticPrecisionAdjustment (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StaticPrecisionAdjustment

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.StaticPrecisionAdjustment
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/StopAlwaysOperator.html b/api/proguard/analysis/cpa/defaults/StopAlwaysOperator.html new file mode 100644 index 000000000..64856fb5d --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/StopAlwaysOperator.html @@ -0,0 +1,327 @@ + + + + + +StopAlwaysOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StopAlwaysOperator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.StopAlwaysOperator
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StopOperator
    +
    +
    +
    public final class StopAlwaysOperator
    +extends java.lang.Object
    +implements StopOperator
    +
    This StopOperator always returns true, i.e., it can be used for a single pass of the + analysis.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      StopAlwaysOperator() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanstop​(AbstractState abstractState, + java.util.Collection<? extends AbstractState> reachedAbstractStates, + Precision precision) +
      The operator may decide based on the (generalized under the given precision) + convergence.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StopAlwaysOperator

        +
        public StopAlwaysOperator()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        stop

        +
        public boolean stop​(AbstractState abstractState,
        +                    java.util.Collection<? extends AbstractState> reachedAbstractStates,
        +                    Precision precision)
        +
        Description copied from interface: StopOperator
        +
        The operator may decide based on the (generalized under the given precision) + convergence. In this case it needs to look up the abstractState in the + reachedAbstractStates. Otherwise, it can return true if sufficient information is + collected, e.g., a safety property is violated.
        +
        +
        Specified by:
        +
        stop in interface StopOperator
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/StopContainedOperator.html b/api/proguard/analysis/cpa/defaults/StopContainedOperator.html new file mode 100644 index 000000000..8958dec72 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/StopContainedOperator.html @@ -0,0 +1,326 @@ + + + + + +StopContainedOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StopContainedOperator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.StopContainedOperator
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanstop​(AbstractState abstractState, + java.util.Collection<? extends AbstractState> reachedAbstractStates, + Precision precision) +
      The operator may decide based on the (generalized under the given precision) + convergence.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StopContainedOperator

        +
        public StopContainedOperator()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        stop

        +
        public boolean stop​(AbstractState abstractState,
        +                    java.util.Collection<? extends AbstractState> reachedAbstractStates,
        +                    Precision precision)
        +
        Description copied from interface: StopOperator
        +
        The operator may decide based on the (generalized under the given precision) + convergence. In this case it needs to look up the abstractState in the + reachedAbstractStates. Otherwise, it can return true if sufficient information is + collected, e.g., a safety property is violated.
        +
        +
        Specified by:
        +
        stop in interface StopOperator
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/StopJoinOperator.html b/api/proguard/analysis/cpa/defaults/StopJoinOperator.html new file mode 100644 index 000000000..be46b6212 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/StopJoinOperator.html @@ -0,0 +1,334 @@ + + + + + +StopJoinOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StopJoinOperator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.StopJoinOperator
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StopOperator
    +
    +
    +
    public final class StopJoinOperator
    +extends java.lang.Object
    +implements StopOperator
    +
    This StopOperator returns true if the input state is less or equal than join over the + reached set.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      StopJoinOperator​(AbstractDomain abstractDomain) +
      Create a join operator from the abstract domain defining the join operator.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanstop​(AbstractState abstractState, + java.util.Collection<? extends AbstractState> reachedAbstractStates, + Precision precision) +
      The operator may decide based on the (generalized under the given precision) + convergence.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StopJoinOperator

        +
        public StopJoinOperator​(AbstractDomain abstractDomain)
        +
        Create a join operator from the abstract domain defining the join operator.
        +
        +
        Parameters:
        +
        abstractDomain - abstract domain
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        stop

        +
        public boolean stop​(AbstractState abstractState,
        +                    java.util.Collection<? extends AbstractState> reachedAbstractStates,
        +                    Precision precision)
        +
        Description copied from interface: StopOperator
        +
        The operator may decide based on the (generalized under the given precision) + convergence. In this case it needs to look up the abstractState in the + reachedAbstractStates. Otherwise, it can return true if sufficient information is + collected, e.g., a safety property is violated.
        +
        +
        Specified by:
        +
        stop in interface StopOperator
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/StopNeverOperator.html b/api/proguard/analysis/cpa/defaults/StopNeverOperator.html new file mode 100644 index 000000000..078cf64f2 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/StopNeverOperator.html @@ -0,0 +1,327 @@ + + + + + +StopNeverOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StopNeverOperator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.StopNeverOperator
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StopOperator
    +
    +
    +
    public final class StopNeverOperator
    +extends java.lang.Object
    +implements StopOperator
    +
    This StopOperator always returns false, i.e., it can be used for analyses running until + the Waitlist becomes empty.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      StopNeverOperator() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanstop​(AbstractState abstractState, + java.util.Collection<? extends AbstractState> reachedAbstractStates, + Precision precision) +
      The operator may decide based on the (generalized under the given precision) + convergence.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StopNeverOperator

        +
        public StopNeverOperator()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        stop

        +
        public boolean stop​(AbstractState abstractState,
        +                    java.util.Collection<? extends AbstractState> reachedAbstractStates,
        +                    Precision precision)
        +
        Description copied from interface: StopOperator
        +
        The operator may decide based on the (generalized under the given precision) + convergence. In this case it needs to look up the abstractState in the + reachedAbstractStates. Otherwise, it can return true if sufficient information is + collected, e.g., a safety property is violated.
        +
        +
        Specified by:
        +
        stop in interface StopOperator
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/StopSepOperator.html b/api/proguard/analysis/cpa/defaults/StopSepOperator.html new file mode 100644 index 000000000..9034cf736 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/StopSepOperator.html @@ -0,0 +1,334 @@ + + + + + +StopSepOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StopSepOperator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.defaults.StopSepOperator
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StopOperator
    +
    +
    +
    public final class StopSepOperator
    +extends java.lang.Object
    +implements StopOperator
    +
    This StopOperator returns true if there is a state in the reached set covering the input + AbstractState.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      StopSepOperator​(AbstractDomain abstractDomain) +
      Create a join operator from the abstract domain defining the join operator.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanstop​(AbstractState abstractState, + java.util.Collection<? extends AbstractState> reachedAbstractStates, + Precision precision) +
      The operator may decide based on the (generalized under the given precision) + convergence.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StopSepOperator

        +
        public StopSepOperator​(AbstractDomain abstractDomain)
        +
        Create a join operator from the abstract domain defining the join operator.
        +
        +
        Parameters:
        +
        abstractDomain - abstract domain
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        stop

        +
        public boolean stop​(AbstractState abstractState,
        +                    java.util.Collection<? extends AbstractState> reachedAbstractStates,
        +                    Precision precision)
        +
        Description copied from interface: StopOperator
        +
        The operator may decide based on the (generalized under the given precision) + convergence. In this case it needs to look up the abstractState in the + reachedAbstractStates. Otherwise, it can return true if sufficient information is + collected, e.g., a safety property is violated.
        +
        +
        Specified by:
        +
        stop in interface StopOperator
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/defaults/package-summary.html b/api/proguard/analysis/cpa/defaults/package-summary.html new file mode 100644 index 000000000..d90cecd9c --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/package-summary.html @@ -0,0 +1,408 @@ + + + + + +proguard.analysis.cpa.defaults (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.defaults

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/defaults/package-tree.html b/api/proguard/analysis/cpa/defaults/package-tree.html new file mode 100644 index 000000000..759367b52 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/package-tree.html @@ -0,0 +1,269 @@ + + + + + +proguard.analysis.cpa.defaults Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.defaults

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/domain/taint/TaintSink.html b/api/proguard/analysis/cpa/domain/taint/TaintSink.html new file mode 100644 index 000000000..58b2a5ae1 --- /dev/null +++ b/api/proguard/analysis/cpa/domain/taint/TaintSink.html @@ -0,0 +1,451 @@ + + + + + +TaintSink (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TaintSink

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.domain.taint.TaintSink
    • +
    +
  • +
+
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    JvmTaintSink
    +
    +
    +
    public abstract class TaintSink
    +extends java.lang.Object
    +
    A TaintSink specifies a sink for the taint analysis. A sink can be sensitive to the + instance, the arguments, or the static fields. If a sink S is sensitive to X, then if X is + tainted, we conclude that the taint has reached S.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        IS_VALID_FOR_SOURCE_DEFAULT

        +
        protected static final java.util.function.Predicate<TaintSource> IS_VALID_FOR_SOURCE_DEFAULT
        +
      • +
      + + + +
        +
      • +

        signature

        +
        public final Signature signature
        +
      • +
      + + + +
        +
      • +

        isValidForSource

        +
        public final java.util.function.Predicate<TaintSource> isValidForSource
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TaintSink

        +
        public TaintSink​(Signature signature)
        +
        Create a taint sink.
        +
        +
        Parameters:
        +
        signature - the signature of a sink method
        +
        +
      • +
      + + + +
        +
      • +

        TaintSink

        +
        public TaintSink​(Signature signature,
        +                 java.util.function.Predicate<TaintSource> isValidForSource)
        +
        Create a taint sink.
        +
        +
        Parameters:
        +
        signature - the signature of a sink method
        +
        isValidForSource - predicate on whether the sink is valid for a given source
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object other)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public abstract java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/domain/taint/TaintSource.html b/api/proguard/analysis/cpa/domain/taint/TaintSource.html new file mode 100644 index 000000000..3ee3d635f --- /dev/null +++ b/api/proguard/analysis/cpa/domain/taint/TaintSource.html @@ -0,0 +1,467 @@ + + + + + +TaintSource (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TaintSource

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.domain.taint.TaintSource
    • +
    +
  • +
+
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    JvmTaintSource
    +
    +
    +
    public class TaintSource
    +extends java.lang.Object
    +
    A TaintSource specifies a method which can taint any (subset) of the following: the + instance, the return value, the argument objects, or static fields.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      TaintSource​(Signature signature, + boolean taintsThis, + boolean taintsReturn, + java.util.Set<java.lang.Integer> taintsArgs, + java.util.Set<java.lang.String> taintsGlobals) +
      Create a taint source.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanequals​(java.lang.Object obj) 
      inthashCode() 
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        signature

        +
        public final Signature signature
        +
      • +
      + + + +
        +
      • +

        taintsThis

        +
        public final boolean taintsThis
        +
      • +
      + + + +
        +
      • +

        taintsReturn

        +
        public final boolean taintsReturn
        +
      • +
      + + + +
        +
      • +

        taintsArgs

        +
        public final java.util.Set<java.lang.Integer> taintsArgs
        +
      • +
      + + + +
        +
      • +

        taintsGlobals

        +
        public final java.util.Set<java.lang.String> taintsGlobals
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TaintSource

        +
        public TaintSource​(Signature signature,
        +                   boolean taintsThis,
        +                   boolean taintsReturn,
        +                   java.util.Set<java.lang.Integer> taintsArgs,
        +                   java.util.Set<java.lang.String> taintsGlobals)
        +
        Create a taint source.
        +
        +
        Parameters:
        +
        signature - the signature a source method
        +
        taintsThis - whether the source taints the calling instance
        +
        taintsReturn - whether the source taints its return
        +
        taintsArgs - a set of tainted arguments
        +
        taintsGlobals - a set of tainted global variables
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object obj)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/domain/taint/package-summary.html b/api/proguard/analysis/cpa/domain/taint/package-summary.html new file mode 100644 index 000000000..777c686c9 --- /dev/null +++ b/api/proguard/analysis/cpa/domain/taint/package-summary.html @@ -0,0 +1,173 @@ + + + + + +proguard.analysis.cpa.domain.taint (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.domain.taint

+
+
+
    +
  • + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    TaintSink +
    A TaintSink specifies a sink for the taint analysis.
    +
    TaintSource +
    A TaintSource specifies a method which can taint any (subset) of the following: the + instance, the return value, the argument objects, or static fields.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/domain/taint/package-tree.html b/api/proguard/analysis/cpa/domain/taint/package-tree.html new file mode 100644 index 000000000..e79516815 --- /dev/null +++ b/api/proguard/analysis/cpa/domain/taint/package-tree.html @@ -0,0 +1,162 @@ + + + + + +proguard.analysis.cpa.domain.taint Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.domain.taint

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object + +
  • +
+
+
+
+ + + diff --git a/api/proguard/analysis/cpa/interfaces/AbortOperator.html b/api/proguard/analysis/cpa/interfaces/AbortOperator.html new file mode 100644 index 000000000..5c4e69201 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/AbortOperator.html @@ -0,0 +1,259 @@ + + + + + +AbortOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface AbortOperator

+
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      booleanabort​(AbstractState abstractState) +
      The operator receives a newly discovered abstract state and returns whether the analysis should + terminate.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        abort

        +
        boolean abort​(AbstractState abstractState)
        +
        The operator receives a newly discovered abstract state and returns whether the analysis should + terminate.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/AbstractDomain.html b/api/proguard/analysis/cpa/interfaces/AbstractDomain.html new file mode 100644 index 000000000..645184c19 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/AbstractDomain.html @@ -0,0 +1,278 @@ + + + + + +AbstractDomain (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface AbstractDomain

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        join

        +
        AbstractState join​(AbstractState abstractState1,
        +                   AbstractState abstractState2)
        +
        Computes the join over two abstract states. To guarantee the correct behavior of the algorithm + implementations must have no side effects.
        +
      • +
      + + + +
        +
      • +

        isLessOrEqual

        +
        boolean isLessOrEqual​(AbstractState abstractState1,
        +                      AbstractState abstractState2)
        +
        Compares two abstract states.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/AbstractState.html b/api/proguard/analysis/cpa/interfaces/AbstractState.html new file mode 100644 index 000000000..d2ff7bb2c --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/AbstractState.html @@ -0,0 +1,332 @@ + + + + + +AbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface AbstractState

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        getStateByName

        +
        default AbstractState getStateByName​(java.lang.String name)
        +
        Returns an abstract state for a given {@param name} if the state is composite, returns + self otherwise.
        +
      • +
      + + + +
        +
      • +

        equals

        +
        boolean equals​(java.lang.Object obj)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/Algorithm.html b/api/proguard/analysis/cpa/interfaces/Algorithm.html new file mode 100644 index 000000000..05fe2f7e9 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/Algorithm.html @@ -0,0 +1,282 @@ + + + + + +Algorithm (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Algorithm

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        run

        +
        void run​(ReachedSet reachedSet,
        +         Waitlist waitlist,
        +         AbortOperator abortOperator)
        +
        Launches the algorithm updating the reachedSet and the waitlist. A proper + selection of parameters allows resuming the algorithm from a saved state. The + abortOperator determines whether the analysis should end prematurely.
        +
      • +
      + + + +
        +
      • +

        run

        +
        default void run​(ReachedSet reachedSet,
        +                 Waitlist waitlist)
        +
        Launches the algorithm updating the reachedSet and the waitlist. A proper + selection of parameters allows resuming the algorithm from a saved state.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/CallEdge.html b/api/proguard/analysis/cpa/interfaces/CallEdge.html new file mode 100644 index 000000000..5a0137d6b --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/CallEdge.html @@ -0,0 +1,256 @@ + + + + + +CallEdge (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface CallEdge

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    JvmCallCfaEdge
    +
    +
    +
    public interface CallEdge
    +
    This interface must be implemented by edges representing a procedure call.
    +
  • +
+
+
+
    +
  • + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getCall

        +
        Call getCall()
        +
        Get the information about the procedure call represented by the edge.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/CfaEdge.html b/api/proguard/analysis/cpa/interfaces/CfaEdge.html new file mode 100644 index 000000000..99a05854a --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/CfaEdge.html @@ -0,0 +1,274 @@ + + + + + +CfaEdge (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface CfaEdge<CfaNodeT extends CfaNode>

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getSource

        +
        CfaNodeT getSource()
        +
        Returns its source node.
        +
      • +
      + + + +
        +
      • +

        getTarget

        +
        CfaNodeT getTarget()
        +
        Returns its target node.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/CfaNode.html b/api/proguard/analysis/cpa/interfaces/CfaNode.html new file mode 100644 index 000000000..d4cabe506 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/CfaNode.html @@ -0,0 +1,457 @@ + + + + + +CfaNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface CfaNode<CfaEdgeT extends CfaEdge,​SignatureT extends Signature>

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    JvmCatchCfaNode, JvmCfaNode, JvmUnknownCfaNode
    +
    +
    +
    public interface CfaNode<CfaEdgeT extends CfaEdge,​SignatureT extends Signature>
    +
    A node for Cfa parametrized by its edges CfaEdgeT. + A CFA node corresponds to a program point before the instruction at a specific offset.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        RETURN_EXIT_NODE_OFFSET

        +
        static final int RETURN_EXIT_NODE_OFFSET
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        EXCEPTION_EXIT_NODE_OFFSET

        +
        static final int EXCEPTION_EXIT_NODE_OFFSET
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getLeavingEdges

        +
        java.util.List<CfaEdgeT> getLeavingEdges()
        +
        Returns a list of leaving edges.
        +
      • +
      + + + +
        +
      • +

        getEnteringEdges

        +
        java.util.List<CfaEdgeT> getEnteringEdges()
        +
        Returns a list of entering edges.
        +
      • +
      + + + +
        +
      • +

        isEntryNode

        +
        boolean isEntryNode()
        +
        Checks whether the node is a function entry.
        +
      • +
      + + + +
        +
      • +

        isExitNode

        +
        boolean isExitNode()
        +
        Checks whether the node is a function exit.
        +
      • +
      + + + +
        +
      • +

        getSignature

        +
        SignatureT getSignature()
        +
        Returns the function signature it belongs to.
        +
      • +
      + + + +
        +
      • +

        getOffset

        +
        int getOffset()
        +
        Returns the instruction offset.
        +
      • +
      + + + +
        +
      • +

        isReturnExitNode

        +
        default boolean isReturnExitNode()
        +
        Returns true if the node is the return location of the function (offset == RETURN_EXIT_NODE_OFFSET).
        +
      • +
      + + + +
        +
      • +

        isExceptionExitNode

        +
        default boolean isExceptionExitNode()
        +
        Returns true if the node is the return location of the function (offset == EXCEPTION_EXIT_NODE_OFFSET).
        +
      • +
      + + + +
        +
      • +

        isUnknownNode

        +
        default boolean isUnknownNode()
        +
        Returns true if the location of the node is unknown.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/interfaces/ConfigurableProgramAnalysis.html b/api/proguard/analysis/cpa/interfaces/ConfigurableProgramAnalysis.html new file mode 100644 index 000000000..48d71c3d6 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/ConfigurableProgramAnalysis.html @@ -0,0 +1,340 @@ + + + + + +ConfigurableProgramAnalysis (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ConfigurableProgramAnalysis

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAbstractDomain

        +
        AbstractDomain getAbstractDomain()
        +
        Returns the abstract domain of this CPA.
        +
      • +
      + + + +
        +
      • +

        getTransferRelation

        +
        TransferRelation getTransferRelation()
        +
        Returns the transfer relation of this CPA.
        +
      • +
      + + + +
        +
      • +

        getMergeOperator

        +
        MergeOperator getMergeOperator()
        +
        Returns the merge operator of this CPA.
        +
      • +
      + + + +
        +
      • +

        getStopOperator

        +
        StopOperator getStopOperator()
        +
        Returns the stop operator of this CPA.
        +
      • +
      + + + +
        +
      • +

        getPrecisionAdjustment

        +
        PrecisionAdjustment getPrecisionAdjustment()
        +
        Returns the precision adjustment of this CPA.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/MergeOperator.html b/api/proguard/analysis/cpa/interfaces/MergeOperator.html new file mode 100644 index 000000000..cf2b9fbe5 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/MergeOperator.html @@ -0,0 +1,265 @@ + + + + + +MergeOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface MergeOperator

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        merge

        +
        AbstractState merge​(AbstractState abstractState1,
        +                    AbstractState abstractState2,
        +                    Precision precision)
        +
        The operator uses the abstractState1 to weaken abstractState2 depending on + precision. Thus, it is asymmetric regarding its first two parameters. E.g., return + abstractState2 for no merging. To guarantee the correct behavior of the algorithm + implementations must have no side effects.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/Precision.html b/api/proguard/analysis/cpa/interfaces/Precision.html new file mode 100644 index 000000000..46219f9fe --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/Precision.html @@ -0,0 +1,189 @@ + + + + + +Precision (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Precision

+
+
+
+
    +
  • +
    +
    public interface Precision
    +
    Precision parametrizes the analysis accuracy of the Algorithm.
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/PrecisionAdjustment.html b/api/proguard/analysis/cpa/interfaces/PrecisionAdjustment.html new file mode 100644 index 000000000..e92f7b83a --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/PrecisionAdjustment.html @@ -0,0 +1,263 @@ + + + + + +PrecisionAdjustment (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface PrecisionAdjustment

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/ProgramLocationDependent.html b/api/proguard/analysis/cpa/interfaces/ProgramLocationDependent.html new file mode 100644 index 000000000..0e78404f2 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/ProgramLocationDependent.html @@ -0,0 +1,275 @@ + + + + + +ProgramLocationDependent (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ProgramLocationDependent<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getProgramLocation

        +
        CfaNodeT getProgramLocation()
        +
        Returns the program location.
        +
      • +
      + + + + + +
        +
      • +

        setProgramLocation

        +
        void setProgramLocation​(CfaNodeT programLocation)
        +
        Sets the program location.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/ProgramLocationDependentBackwardTransferRelation.html b/api/proguard/analysis/cpa/interfaces/ProgramLocationDependentBackwardTransferRelation.html new file mode 100644 index 000000000..e0485797c --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/ProgramLocationDependentBackwardTransferRelation.html @@ -0,0 +1,266 @@ + + + + + +ProgramLocationDependentBackwardTransferRelation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ProgramLocationDependentBackwardTransferRelation<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/ProgramLocationDependentForwardTransferRelation.html b/api/proguard/analysis/cpa/interfaces/ProgramLocationDependentForwardTransferRelation.html new file mode 100644 index 000000000..1198657cc --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/ProgramLocationDependentForwardTransferRelation.html @@ -0,0 +1,270 @@ + + + + + +ProgramLocationDependentForwardTransferRelation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ProgramLocationDependentForwardTransferRelation<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/ProgramLocationDependentTransferRelation.html b/api/proguard/analysis/cpa/interfaces/ProgramLocationDependentTransferRelation.html new file mode 100644 index 000000000..7f85f177b --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/ProgramLocationDependentTransferRelation.html @@ -0,0 +1,326 @@ + + + + + +ProgramLocationDependentTransferRelation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ProgramLocationDependentTransferRelation<CfaNodeT extends CfaNode<CfaEdgeT,​SignatureT>,​CfaEdgeT extends CfaEdge<CfaNodeT>,​SignatureT extends Signature>

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/ReachedSet.html b/api/proguard/analysis/cpa/interfaces/ReachedSet.html new file mode 100644 index 000000000..a34aa1336 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/ReachedSet.html @@ -0,0 +1,341 @@ + + + + + +ReachedSet (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ReachedSet

+
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      booleanadd​(AbstractState abstractState) +
      Adds an abstract state.
      +
      booleanaddAll​(java.util.Collection<? extends AbstractState> abstractStates) +
      Adds multiple abstract states.
      +
      java.util.Collection<? extends AbstractState>asCollection() +
      Returns a collection representation of itself.
      +
      java.util.Collection<? extends AbstractState>getReached​(AbstractState abstractState) +
      Returns a collection of abstract states mergeable with the abstractState.
      +
      booleanremove​(AbstractState abstractState) +
      Removes an abstract state.
      +
      booleanremoveAll​(java.util.Collection<?> abstractStates) +
      Removes multiple abstract states.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        add

        +
        boolean add​(AbstractState abstractState)
        +
        Adds an abstract state.
        +
      • +
      + + + +
        +
      • +

        addAll

        +
        boolean addAll​(java.util.Collection<? extends AbstractState> abstractStates)
        +
        Adds multiple abstract states.
        +
      • +
      + + + +
        +
      • +

        remove

        +
        boolean remove​(AbstractState abstractState)
        +
        Removes an abstract state.
        +
      • +
      + + + +
        +
      • +

        removeAll

        +
        boolean removeAll​(java.util.Collection<?> abstractStates)
        +
        Removes multiple abstract states.
        +
      • +
      + + + +
        +
      • +

        asCollection

        +
        java.util.Collection<? extends AbstractState> asCollection()
        +
        Returns a collection representation of itself.
        +
      • +
      + + + +
        +
      • +

        getReached

        +
        java.util.Collection<? extends AbstractState> getReached​(AbstractState abstractState)
        +
        Returns a collection of abstract states mergeable with the abstractState.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/StopOperator.html b/api/proguard/analysis/cpa/interfaces/StopOperator.html new file mode 100644 index 000000000..700340fd0 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/StopOperator.html @@ -0,0 +1,264 @@ + + + + + +StopOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface StopOperator

+
+
+
+ +
+
+
    +
  • + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        stop

        +
        boolean stop​(AbstractState abstractState,
        +             java.util.Collection<? extends AbstractState> reachedAbstractStates,
        +             Precision precision)
        +
        The operator may decide based on the (generalized under the given precision) + convergence. In this case it needs to look up the abstractState in the + reachedAbstractStates. Otherwise, it can return true if sufficient information is + collected, e.g., a safety property is violated.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/TransferRelation.html b/api/proguard/analysis/cpa/interfaces/TransferRelation.html new file mode 100644 index 000000000..5934f8c97 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/TransferRelation.html @@ -0,0 +1,264 @@ + + + + + +TransferRelation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface TransferRelation

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        generateAbstractSuccessors

        +
        java.util.Collection<? extends AbstractState> generateAbstractSuccessors​(AbstractState abstractState,
        +                                                                         Precision precision)
        +
        Returns abstract successor states of the abstractState under the selected + precision.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/Waitlist.html b/api/proguard/analysis/cpa/interfaces/Waitlist.html new file mode 100644 index 000000000..b34d55cfa --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/Waitlist.html @@ -0,0 +1,404 @@ + + + + + +Waitlist (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Waitlist

+
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      voidadd​(AbstractState state) +
      Adds an abstract state.
      +
      voidaddAll​(java.util.Collection<? extends AbstractState> abstractStates) +
      Adds multiple abstract states.
      +
      voidclear() +
      Empties the waitlist.
      +
      booleancontains​(AbstractState abstractState) +
      Checks whether the abstract state is present.
      +
      booleanisEmpty() +
      Checks whether the waitlist is empty.
      +
      AbstractStatepop() +
      Remove the next abstract state and return it.
      +
      booleanremove​(AbstractState abstractState) +
      Removes an abstract state.
      +
      voidremoveAll​(java.util.Collection<?> abstractStates) +
      Removes multiple abstract states.
      +
      intsize() +
      Returns the size of the waitlist.
      +
      +
        +
      • + + +

        Methods inherited from interface java.lang.Iterable

        +forEach, iterator, spliterator
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        add

        +
        void add​(AbstractState state)
        +
        Adds an abstract state.
        +
      • +
      + + + +
        +
      • +

        addAll

        +
        void addAll​(java.util.Collection<? extends AbstractState> abstractStates)
        +
        Adds multiple abstract states.
        +
      • +
      + + + +
        +
      • +

        clear

        +
        void clear()
        +
        Empties the waitlist.
        +
      • +
      + + + +
        +
      • +

        contains

        +
        boolean contains​(AbstractState abstractState)
        +
        Checks whether the abstract state is present.
        +
      • +
      + + + +
        +
      • +

        isEmpty

        +
        boolean isEmpty()
        +
        Checks whether the waitlist is empty.
        +
      • +
      + + + +
        +
      • +

        pop

        +
        AbstractState pop()
        +
        Remove the next abstract state and return it.
        +
      • +
      + + + +
        +
      • +

        remove

        +
        boolean remove​(AbstractState abstractState)
        +
        Removes an abstract state.
        +
      • +
      + + + +
        +
      • +

        removeAll

        +
        void removeAll​(java.util.Collection<?> abstractStates)
        +
        Removes multiple abstract states.
        +
      • +
      + + + +
        +
      • +

        size

        +
        int size()
        +
        Returns the size of the waitlist.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/WrapperTransferRelation.html b/api/proguard/analysis/cpa/interfaces/WrapperTransferRelation.html new file mode 100644 index 000000000..d9b2f0246 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/WrapperTransferRelation.html @@ -0,0 +1,268 @@ + + + + + +WrapperTransferRelation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface WrapperTransferRelation

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getWrappedTransferRelations

        +
        java.lang.Iterable<? extends TransferRelation> getWrappedTransferRelations()
        +
        Returns wrapped transfer relations.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/package-summary.html b/api/proguard/analysis/cpa/interfaces/package-summary.html new file mode 100644 index 000000000..c436aa239 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/package-summary.html @@ -0,0 +1,288 @@ + + + + + +proguard.analysis.cpa.interfaces (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.interfaces

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/interfaces/package-tree.html b/api/proguard/analysis/cpa/interfaces/package-tree.html new file mode 100644 index 000000000..6fb388bd5 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/package-tree.html @@ -0,0 +1,186 @@ + + + + + +proguard.analysis.cpa.interfaces Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.interfaces

+Package Hierarchies: + +
+
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/JvmCfa.html b/api/proguard/analysis/cpa/jvm/cfa/JvmCfa.html new file mode 100644 index 000000000..e7c31cca8 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/JvmCfa.html @@ -0,0 +1,563 @@ + + + + + +JvmCfa (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmCfa

+
+
+ +
+
    +
  • +
    +
    public class JvmCfa
    +extends Cfa<JvmCfaNode,​JvmCfaEdge,​MethodSignature>
    +
    A JVM specific implementation of Cfa. + +

    The keys of the function maps are the MethodSignatures. + +

    The nodes of a function are identified by the offset of the code location. Besides the normal + exit node for return instructions, function can also have a special exit node for uncaught + exceptions. + +

    An additional JvmCatchCfaNode is added for each handler in the method exception table. + +

    A unique JvmUnknownCfaNode node is used for instructions the successor of which is + unknown.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmCfa

        +
        public JvmCfa()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAllNodes

        +
        public java.util.stream.Stream<JvmCfaNode> getAllNodes()
        +
        Description copied from class: Cfa
        +
        Returns a stream of all the nodes present in the graph. + +

        Note: a Stream is provided to avoid creating new collections unnecessarily.

        +
        +
        Overrides:
        +
        getAllNodes in class Cfa<JvmCfaNode,​JvmCfaEdge,​MethodSignature>
        +
        +
      • +
      + + + +
        +
      • +

        getFunctionCatchNodes

        +
        public java.util.Collection<JvmCatchCfaNode> getFunctionCatchNodes​(MethodSignature signature)
        +
        Returns all the catch nodes of a specific method, returns an empty collection if the function + is not in the graph or if it has no catch nodes.
        +
        +
        Parameters:
        +
        signature - The signature of the method.
        +
        +
      • +
      + + + +
        +
      • +

        getFunctionCatchNode

        +
        public JvmCatchCfaNode getFunctionCatchNode​(MethodSignature signature,
        +                                            int offset)
        +
        Returns the catch node of a method the handler of which begins at the specific code offset, + returns null if the method or the specific catch node are not in the graph.
        +
        +
        Parameters:
        +
        signature - The signature of the method, might be different for different domains.
        +
        offset - The offset of the catch handler represented by the node.
        +
        +
      • +
      + + + +
        +
      • +

        addFunctionCatchNode

        +
        public void addFunctionCatchNode​(MethodSignature signature,
        +                                 JvmCatchCfaNode node,
        +                                 int offset)
        +
        Adds a catch node to the CFA (i.e. a node indicating the beginning of an exception handler).
        +
      • +
      + + + +
        +
      • +

        containsFunctionCatchNode

        +
        public boolean containsFunctionCatchNode​(MethodSignature signature,
        +                                         int offset)
        +
        Returns true if the catch node of the specified method at the specified offset is present in + the graph.
        +
      • +
      + + + +
        +
      • +

        getFunctionReturnExitNode

        +
        public JvmCfaNode getFunctionReturnExitNode​(MethodSignature signature,
        +                                            Clazz clazz)
        +
        Returns the exit node of the specified method if present, otherwise creates the exit node for + the method and returns it.
        +
      • +
      + + + +
        +
      • +

        getFunctionExceptionExitNode

        +
        public JvmCfaNode getFunctionExceptionExitNode​(MethodSignature signature,
        +                                               Clazz clazz)
        +
        Returns the exception exit node (i.e. the exit node in case of not caught exception) of the + specified method if present, otherwise creates the exit node for the method and returns it.
        +
      • +
      + + + +
        +
      • +

        addNodeIfAbsent

        +
        public JvmCfaNode addNodeIfAbsent​(MethodSignature signature,
        +                                  int offset,
        +                                  Clazz clazz)
        +
        If the requested function node is present in the graph return it. If the node is not present + add it to the graph and return the new node.
        +
      • +
      + + + +
        +
      • +

        addInterproceduralEdge

        +
        public void addInterproceduralEdge​(Call call)
        +
        Adds a call node between two methods.
        +
      • +
      + + + +
        +
      • +

        addUnknownTargetInterproceduralEdge

        +
        public void addUnknownTargetInterproceduralEdge​(Call call)
        +
        Adds a call node between two methods. This is used when the target method has no CodeAttribute, which means the target method is not present in + the CFA. The unknown node is set as the call target.
        +
      • +
      + + + +
        +
      • +

        clear

        +
        public void clear()
        +
        Removes references to this CFA nodes from the singleton JvmUnknownCfaNode and clears + its node collections making it garbage collectable.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeCaseCfaEdge.html b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeCaseCfaEdge.html new file mode 100644 index 000000000..2e26e5fb6 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeCaseCfaEdge.html @@ -0,0 +1,382 @@ + + + + + +JvmAssumeCaseCfaEdge (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmAssumeCaseCfaEdge

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    CfaEdge<JvmCfaNode>
    +
    +
    +
    public class JvmAssumeCaseCfaEdge
    +extends JvmInstructionCfaEdge
    +
    An edge representing an assumption that a case of a switch statement is taken.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmAssumeCaseCfaEdge

        +
        public JvmAssumeCaseCfaEdge​(CodeAttribute methodCode,
        +                            int offset,
        +                            int assumedCase)
        +
        Create a disconnected JVM CFA assume case edge.
        +
        +
        Parameters:
        +
        methodCode - the code attribute of the method the edge belongs to
        +
        offset - the offset of the instruction represented by the edge
        +
        assumedCase - an assumed integer value of the switch variable
        +
        +
      • +
      + + + +
        +
      • +

        JvmAssumeCaseCfaEdge

        +
        public JvmAssumeCaseCfaEdge​(JvmCfaNode source,
        +                            JvmCfaNode target,
        +                            CodeAttribute methodCode,
        +                            int offset,
        +                            int assumedCase)
        +
        Create a JVM CFA assume case edge. Also sets it as the entering and leaving edge of the source + and target nodes.
        +
        +
        Parameters:
        +
        source - the source node of the edge
        +
        target - the target node of the edge
        +
        methodCode - the code attribute of the method the edge belongs to
        +
        offset - the offset of the instruction represented by the edge
        +
        assumedCase - an assumed integer value of the switch variable
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAssumedCase

        +
        public int getAssumedCase()
        +
        Returns the assumed integer value of the switch variable made on this edge.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeCfaEdge.html b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeCfaEdge.html new file mode 100644 index 000000000..07ca983e3 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeCfaEdge.html @@ -0,0 +1,383 @@ + + + + + +JvmAssumeCfaEdge (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmAssumeCfaEdge

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    CfaEdge<JvmCfaNode>
    +
    +
    +
    public class JvmAssumeCfaEdge
    +extends JvmInstructionCfaEdge
    +
    An edge representing an assumption on a JVM branch instruction that can be either taken or not + taken.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmAssumeCfaEdge

        +
        public JvmAssumeCfaEdge​(CodeAttribute methodCode,
        +                        int offset,
        +                        boolean isSatisfied)
        +
        Create a disconnected JVM CFA assume branch edge.
        +
        +
        Parameters:
        +
        methodCode - the code attribute of the method the edge belongs to
        +
        offset - the offset of the instruction represented by the edge
        +
        isSatisfied - an assumption on the branch result
        +
        +
      • +
      + + + +
        +
      • +

        JvmAssumeCfaEdge

        +
        public JvmAssumeCfaEdge​(JvmCfaNode source,
        +                        JvmCfaNode target,
        +                        CodeAttribute methodCode,
        +                        int offset,
        +                        boolean isSatisfied)
        +
        Create a JVM CFA assume branch edge. Also sets it as the entering and leaving edge of the + source and target nodes.
        +
        +
        Parameters:
        +
        source - the source node of the edge
        +
        target - the target node of the edge
        +
        methodCode - the code attribute of the method the edge belongs to
        +
        offset - the offset of the instruction represented by the edge
        +
        isSatisfied - an assumption on hte branch result
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isSatisfied

        +
        public boolean isSatisfied()
        +
        Returns the assumption on the branch statement result made on this edge.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeDefaultCfaEdge.html b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeDefaultCfaEdge.html new file mode 100644 index 000000000..726a418a3 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeDefaultCfaEdge.html @@ -0,0 +1,335 @@ + + + + + +JvmAssumeDefaultCfaEdge (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmAssumeDefaultCfaEdge

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    CfaEdge<JvmCfaNode>
    +
    +
    +
    public class JvmAssumeDefaultCfaEdge
    +extends JvmInstructionCfaEdge
    +
    An edge representing an assumption that the default case of a switch statement is taken.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmAssumeDefaultCfaEdge

        +
        public JvmAssumeDefaultCfaEdge​(CodeAttribute methodCode,
        +                               int offset)
        +
        Create a disconnected JVM CFA assume default edge.
        +
        +
        Parameters:
        +
        methodCode - the code attribute of the method the edge belongs to
        +
        offset - the offset of the instruction represented by the edge
        +
        +
      • +
      + + + +
        +
      • +

        JvmAssumeDefaultCfaEdge

        +
        public JvmAssumeDefaultCfaEdge​(JvmCfaNode source,
        +                               JvmCfaNode target,
        +                               CodeAttribute methodCode,
        +                               int offset)
        +
        Create a JVM CFA assume default edge. Also sets it as the entering and leaving edge of the + source and target nodes.
        +
        +
        Parameters:
        +
        source - the source node of the edge
        +
        target - the target node of the edge
        +
        methodCode - the code attribute of the method the edge belongs to
        +
        offset - the offset of the instruction represented by the edge
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeExceptionCfaEdge.html b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeExceptionCfaEdge.html new file mode 100644 index 000000000..965182ad0 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeExceptionCfaEdge.html @@ -0,0 +1,386 @@ + + + + + +JvmAssumeExceptionCfaEdge (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmAssumeExceptionCfaEdge

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    CfaEdge<JvmCfaNode>
    +
    +
    +
    public class JvmAssumeExceptionCfaEdge
    +extends JvmCfaEdge
    +
    An edge representing an assumption on a JVM exception of a specific type that can be either + caught or not caught.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      JvmAssumeExceptionCfaEdge​(boolean isCaught, + int catchType) +
      Create a disconnected JVM CFA exception assumption edge.
      +
      JvmAssumeExceptionCfaEdge​(JvmCfaNode source, + JvmCfaNode target, + boolean isCaught, + int catchType) +
      Create a JVM CFA exception assumption edge.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      intgetCatchType() +
      Returns the integer representing the exception type in the exception table of the method the + node belongs to.
      +
      booleanisCaught() +
      Returns the assumption on the exception being caught made for the edge.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmAssumeExceptionCfaEdge

        +
        public JvmAssumeExceptionCfaEdge​(boolean isCaught,
        +                                 int catchType)
        +
        Create a disconnected JVM CFA exception assumption edge.
        +
        +
        Parameters:
        +
        isCaught - an assumption on the exception being caught or not
        +
        catchType - an integer representing the exception type in the edge's method exception + table
        +
        +
      • +
      + + + +
        +
      • +

        JvmAssumeExceptionCfaEdge

        +
        public JvmAssumeExceptionCfaEdge​(JvmCfaNode source,
        +                                 JvmCfaNode target,
        +                                 boolean isCaught,
        +                                 int catchType)
        +
        Create a JVM CFA exception assumption edge. Also sets it as the entering and leaving edge of + the source and target nodes.
        +
        +
        Parameters:
        +
        source - the source node of the edge
        +
        target - the target node of the edge
        +
        isCaught - an assumption on the exception being caught or not
        +
        catchType - an integer representing the exception type in the edge's method exception + table
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getCatchType

        +
        public int getCatchType()
        +
        Returns the integer representing the exception type in the exception table of the method the + node belongs to.
        +
      • +
      + + + +
        +
      • +

        isCaught

        +
        public boolean isCaught()
        +
        Returns the assumption on the exception being caught made for the edge.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/edges/JvmCallCfaEdge.html b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmCallCfaEdge.html new file mode 100644 index 000000000..b56a10100 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmCallCfaEdge.html @@ -0,0 +1,388 @@ + + + + + +JvmCallCfaEdge (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmCallCfaEdge

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmCallCfaEdge

        +
        public JvmCallCfaEdge​(Call call)
        +
        Create a disconnected JVM CFA call edge.
        +
        +
        Parameters:
        +
        call - the call to a method
        +
        +
      • +
      + + + +
        +
      • +

        JvmCallCfaEdge

        +
        public JvmCallCfaEdge​(JvmCfaNode source,
        +                      JvmCfaNode target,
        +                      Call call)
        +
        Create a JVM CFA call edge. Also sets it as the entering and leaving edge of the source and + target nodes.
        +
        +
        Parameters:
        +
        source - the source node of the edge
        +
        target - the target node of the edge
        +
        call - the call to a method
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        targetSignature

        +
        public MethodSignature targetSignature()
        +
        Description copied from class: JvmCfaEdge
        +
        Returns the signature of the target method. This is the current method or, for call edges, the + target method of the call.
        +
        +
        Overrides:
        +
        targetSignature in class JvmCfaEdge
        +
        +
      • +
      + + + +
        +
      • +

        getCall

        +
        public Call getCall()
        +
        Description copied from interface: CallEdge
        +
        Get the information about the procedure call represented by the edge.
        +
        +
        Specified by:
        +
        getCall in interface CallEdge
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/edges/JvmCfaEdge.html b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmCfaEdge.html new file mode 100644 index 000000000..45b8741a6 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmCfaEdge.html @@ -0,0 +1,423 @@ + + + + + +JvmCfaEdge (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmCfaEdge

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.cfa.edges.JvmCfaEdge
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      JvmCfaEdge() +
      Create a disconnected JVM CFA edge.
      +
      JvmCfaEdge​(JvmCfaNode source, + JvmCfaNode target) +
      Create a JVM CFA edge.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      JvmCfaNodegetSource() +
      Returns its source node.
      +
      JvmCfaNodegetTarget() +
      Returns its target node.
      +
      voidsetSource​(JvmCfaNode source) +
      Sets a node as the predecessor of the edge and adds the edge as leaving edge of the node.
      +
      voidsetTarget​(JvmCfaNode target) +
      Sets a node as the successor of the edge and adds the edge as entering edge of the node.
      +
      MethodSignaturetargetSignature() +
      Returns the signature of the target method.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmCfaEdge

        +
        public JvmCfaEdge()
        +
        Create a disconnected JVM CFA edge.
        +
      • +
      + + + +
        +
      • +

        JvmCfaEdge

        +
        public JvmCfaEdge​(JvmCfaNode source,
        +                  JvmCfaNode target)
        +
        Create a JVM CFA edge. Also sets it as the entering and leaving edge of the source and target + nodes.
        +
        +
        Parameters:
        +
        source - the source node of the edge
        +
        target - the target node of the edge
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        setSource

        +
        public void setSource​(JvmCfaNode source)
        +
        Sets a node as the predecessor of the edge and adds the edge as leaving edge of the node.
        +
      • +
      + + + +
        +
      • +

        setTarget

        +
        public void setTarget​(JvmCfaNode target)
        +
        Sets a node as the successor of the edge and adds the edge as entering edge of the node.
        +
      • +
      + + + +
        +
      • +

        targetSignature

        +
        public MethodSignature targetSignature()
        +
        Returns the signature of the target method. This is the current method or, for call edges, the + target method of the call.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/edges/JvmInstructionCfaEdge.html b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmInstructionCfaEdge.html new file mode 100644 index 000000000..80f766ca9 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmInstructionCfaEdge.html @@ -0,0 +1,387 @@ + + + + + +JvmInstructionCfaEdge (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmInstructionCfaEdge

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmInstructionCfaEdge

        +
        public JvmInstructionCfaEdge​(CodeAttribute methodCode,
        +                             int offset)
        +
        Create a disconnected JVM CFA instruction edge.
        +
        +
        Parameters:
        +
        methodCode - the code attribute of the method the edge belongs to
        +
        offset - the offset of the instruction represented by the edge
        +
        +
      • +
      + + + +
        +
      • +

        JvmInstructionCfaEdge

        +
        public JvmInstructionCfaEdge​(JvmCfaNode source,
        +                             JvmCfaNode target,
        +                             CodeAttribute methodCode,
        +                             int offset)
        +
        Create a JVM CFA instruction edge. Also sets it as the entering and leaving edge of the source + and target nodes.
        +
        +
        Parameters:
        +
        source - the source node of the edge
        +
        target - the target node of the edge
        +
        methodCode - the code attribute of the method the edge belongs to
        +
        offset - the offset of the instruction represented by the edge
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getInstruction

        +
        public Instruction getInstruction()
        +
        Generates and returns the JVM instruction represented by the edge.
        +
      • +
      + + + +
        +
      • +

        getMethodCode

        +
        public CodeAttribute getMethodCode()
        +
        Returns the code attribute of the method the node belongs to.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/edges/package-summary.html b/api/proguard/analysis/cpa/jvm/cfa/edges/package-summary.html new file mode 100644 index 000000000..4bc82e8de --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/package-summary.html @@ -0,0 +1,205 @@ + + + + + +proguard.analysis.cpa.jvm.cfa.edges (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.cfa.edges

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    JvmAssumeCaseCfaEdge +
    An edge representing an assumption that a case of a switch statement is taken.
    +
    JvmAssumeCfaEdge +
    An edge representing an assumption on a JVM branch instruction that can be either taken or not + taken.
    +
    JvmAssumeDefaultCfaEdge +
    An edge representing an assumption that the default case of a switch statement is taken.
    +
    JvmAssumeExceptionCfaEdge +
    An edge representing an assumption on a JVM exception of a specific type that can be either + caught or not caught.
    +
    JvmCallCfaEdge +
    A JvmCfaEdge representing a call to another method, linking to the first node of the + called method.
    +
    JvmCfaEdge +
    Default implementation of CfaEdge for JVM instructions.
    +
    JvmInstructionCfaEdge +
    A JvmCfaEdge the operation of which is defined by an instruction.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/cfa/edges/package-tree.html b/api/proguard/analysis/cpa/jvm/cfa/edges/package-tree.html new file mode 100644 index 000000000..268b3c41a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/package-tree.html @@ -0,0 +1,173 @@ + + + + + +proguard.analysis.cpa.jvm.cfa.edges Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.cfa.edges

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/nodes/JvmCatchCfaNode.html b/api/proguard/analysis/cpa/jvm/cfa/nodes/JvmCatchCfaNode.html new file mode 100644 index 000000000..9a61519c4 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/nodes/JvmCatchCfaNode.html @@ -0,0 +1,423 @@ + + + + + +JvmCatchCfaNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmCatchCfaNode

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmCatchCfaNode

        +
        public JvmCatchCfaNode​(MethodSignature signature,
        +                       int offset,
        +                       int catchType,
        +                       Clazz clazz)
        +
        Create a JVM CFA catch node without edges. Since in most cases we expect to have just one + element in the lists of leaving and entering edges the lists are initialized with size 1.
        +
        +
        Parameters:
        +
        signature - the signature of the method the node belongs to
        +
        offset - a number indicating the program location offset of the node
        +
        catchType - an integer representing the exception type caught by the handler in the node's + method exception table
        +
        clazz - the class of the method the node belongs to
        +
        +
      • +
      + + + +
        +
      • +

        JvmCatchCfaNode

        +
        public JvmCatchCfaNode​(java.util.List<JvmCfaEdge> leavingEdges,
        +                       java.util.List<JvmCfaEdge> enteringEdges,
        +                       MethodSignature signature,
        +                       int offset,
        +                       int catchType,
        +                       Clazz clazz)
        +
        Create JVM CFA catch node with the specified entering and exiting edges.
        +
        +
        Parameters:
        +
        leavingEdges - a list of edges leaving the node
        +
        enteringEdges - a list of edges entering the node
        +
        signature - the signature of the method the node belongs to
        +
        offset - a number indicating the program location offset of the node
        +
        catchType - an integer representing the exception type caught by the handler in the node's + method exception table
        +
        clazz - the class of the method the node belongs to
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getCatchType

        +
        public int getCatchType()
        +
        Returns the integer representing the exception type in the exception table of the method the + node belongs to.
        +
      • +
      + + + +
        +
      • +

        isFinallyNode

        +
        public boolean isFinallyNode()
        +
        Returns true if the catch node represents the beginning of a finally block.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/nodes/JvmCfaNode.html b/api/proguard/analysis/cpa/jvm/cfa/nodes/JvmCfaNode.html new file mode 100644 index 000000000..0ece537cb --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/nodes/JvmCfaNode.html @@ -0,0 +1,694 @@ + + + + + +JvmCfaNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmCfaNode

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmCfaNode

        +
        public JvmCfaNode​(MethodSignature signature,
        +                  int offset,
        +                  Clazz clazz)
        +
        Create a JVM CFA node without edges. Since in most cases we expect to have just one element in + the lists of leaving and entering edges the lists are initialized with size 1.
        +
        +
        Parameters:
        +
        signature - the signature of the method the node belongs to
        +
        offset - a number indicating the program location offset of the node
        +
        clazz - the class of the method the node belongs to
        +
        +
      • +
      + + + +
        +
      • +

        JvmCfaNode

        +
        public JvmCfaNode​(java.util.List<JvmCfaEdge> leavingEdges,
        +                  java.util.List<JvmCfaEdge> enteringEdges,
        +                  MethodSignature signature,
        +                  int offset,
        +                  Clazz clazz)
        +
        Create JVM CFA node with the specified entering and exiting edges.
        +
        +
        Parameters:
        +
        leavingEdges - a list of edges leaving the node
        +
        enteringEdges - a list of edges entering the node
        +
        signature - the signature of the method the node belongs to
        +
        offset - a number indicating the program location offset of the node
        +
        clazz - the class of the method the node belongs to
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        getClazz

        +
        public Clazz getClazz()
        +
        Returns the class the node belongs to.
        +
      • +
      + + + +
        +
      • +

        addLeavingEdge

        +
        public void addLeavingEdge​(JvmCfaEdge edge)
        +
        Adds an edge leaving the node.
        +
      • +
      + + + +
        +
      • +

        addEnteringEdge

        +
        public void addEnteringEdge​(JvmCfaEdge edge)
        +
        Adds an edge entering the node.
        +
      • +
      + + + +
        +
      • +

        getEnteringInvokeEdge

        +
        public java.util.Optional<JvmCfaEdge> getEnteringInvokeEdge()
        +
        If the node is the location after a method invocation, returns the entering JvmInstructionCfaEdge for the method invocation, empty otherwise.
        +
      • +
      + + + +
        +
      • +

        getLeavingInvokeEdge

        +
        public java.util.Optional<JvmCfaEdge> getLeavingInvokeEdge()
        +
        If the node is the location before a method invocation, returns the leaving JvmInstructionCfaEdge for the method invocation, empty otherwise.
        +
      • +
      + + + +
        +
      • +

        getEnteringIntraproceduralEdges

        +
        public java.util.Collection<JvmCfaEdge> getEnteringIntraproceduralEdges()
        +
        Returns the edges entering the node that do not come from another method.
        +
      • +
      + + + +
        +
      • +

        getLeavingIntraproceduralEdges

        +
        public java.util.Collection<JvmCfaEdge> getLeavingIntraproceduralEdges()
        +
        Returns the edges leaving the node that do not come from another method.
        +
      • +
      + + + +
        +
      • +

        getLeavingInterproceduralEdges

        +
        public java.util.Collection<JvmCallCfaEdge> getLeavingInterproceduralEdges()
        +
        Returns the edges entering the node that come from another method.
        +
      • +
      + + + +
        +
      • +

        getKnownMethodCallEdges

        +
        public java.util.Collection<JvmCallCfaEdge> getKnownMethodCallEdges()
        +
        Returns all the interprocedural call edges leaving the node with target method the code of + which is known.
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/nodes/JvmUnknownCfaNode.html b/api/proguard/analysis/cpa/jvm/cfa/nodes/JvmUnknownCfaNode.html new file mode 100644 index 000000000..59cb4e867 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/nodes/JvmUnknownCfaNode.html @@ -0,0 +1,377 @@ + + + + + +JvmUnknownCfaNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmUnknownCfaNode

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isReturnExitNode

        +
        public boolean isReturnExitNode()
        +
        Description copied from interface: CfaNode
        +
        Returns true if the node is the return location of the function (offset == CfaNode.RETURN_EXIT_NODE_OFFSET).
        +
      • +
      + + + +
        +
      • +

        isUnknownNode

        +
        public boolean isUnknownNode()
        +
        Description copied from interface: CfaNode
        +
        Returns true if the location of the node is unknown.
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class JvmCfaNode
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/nodes/package-summary.html b/api/proguard/analysis/cpa/jvm/cfa/nodes/package-summary.html new file mode 100644 index 000000000..0c9111af2 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/nodes/package-summary.html @@ -0,0 +1,179 @@ + + + + + +proguard.analysis.cpa.jvm.cfa.nodes (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.cfa.nodes

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    JvmCatchCfaNode +
    A JvmCfaNode representing the beginning of a catch or finally block.
    +
    JvmCfaNode +
    A node representing a code location of a JVM method identified by a MethodSignature and + an offset.
    +
    JvmUnknownCfaNode +
    A unique node for an entire CFA representing an unknown code location.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/cfa/nodes/package-tree.html b/api/proguard/analysis/cpa/jvm/cfa/nodes/package-tree.html new file mode 100644 index 000000000..6ec8ae490 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/nodes/package-tree.html @@ -0,0 +1,166 @@ + + + + + +proguard.analysis.cpa.jvm.cfa.nodes Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.cfa.nodes

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object + +
  • +
+
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/package-summary.html b/api/proguard/analysis/cpa/jvm/cfa/package-summary.html new file mode 100644 index 000000000..f0011c9d1 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/package-summary.html @@ -0,0 +1,166 @@ + + + + + +proguard.analysis.cpa.jvm.cfa (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.cfa

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    JvmCfa +
    A JVM specific implementation of Cfa.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/cfa/package-tree.html b/api/proguard/analysis/cpa/jvm/cfa/package-tree.html new file mode 100644 index 000000000..d473e6431 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/package-tree.html @@ -0,0 +1,165 @@ + + + + + +proguard.analysis.cpa.jvm.cfa Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.cfa

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • proguard.analysis.cpa.defaults.Cfa<CfaNodeT,​CfaEdgeT,​SignatureT> +
        +
      • proguard.analysis.cpa.jvm.cfa.JvmCfa
      • +
      +
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/visitors/JvmIntraproceduralCfaFillerAllInstructionVisitor.html b/api/proguard/analysis/cpa/jvm/cfa/visitors/JvmIntraproceduralCfaFillerAllInstructionVisitor.html new file mode 100644 index 000000000..f385e5bea --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/visitors/JvmIntraproceduralCfaFillerAllInstructionVisitor.html @@ -0,0 +1,365 @@ + + + + + +JvmIntraproceduralCfaFillerAllInstructionVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmIntraproceduralCfaFillerAllInstructionVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.cfa.visitors.JvmIntraproceduralCfaFillerAllInstructionVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class JvmIntraproceduralCfaFillerAllInstructionVisitor
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor visits the CodeAttribute of a Method and performs + two different tasks: + +

    - for each exception handler (i.e. the beginning of a catch or finally block that can handle + several ExceptionInfo) in the attribute exception table creates a JvmCatchCfaNode. Consecutive nodes may be linked with a false JvmAssumeExceptionCfaEdge + (that indicates that the exception was not caught by a catch statement and is then passed to the + following one) if the following catch block covers at least all the instruction offsets of the + previous one (this includes also nested try/catch). If the exception is not caught by the last + block of a chain an additional a false JvmAssumeExceptionCfaEdge to the exception exit + block is added. This is not necessary for finally blocks (i.e. with exception type = 0) since + they always re-throw the original exception once they're done, which will then be added as an + edge to the first catch block that handles its offset by JvmIntraproceduralCfaFillerAllInstructionVisitor.JvmIntraproceduralCfaFillerVisitor. + +

    - sets the parameters for the current method for a JvmIntraproceduralCfaFillerAllInstructionVisitor.JvmIntraproceduralCfaFillerVisitor + and then acts similarly to an AllInstructionVisitor. The visitor visits all the + instructions of the CodeAttribute and creates the CFA for the current method.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmIntraproceduralCfaFillerAllInstructionVisitor

        +
        public JvmIntraproceduralCfaFillerAllInstructionVisitor​(JvmCfa cfa)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/cfa/visitors/package-summary.html b/api/proguard/analysis/cpa/jvm/cfa/visitors/package-summary.html new file mode 100644 index 000000000..a035bcbea --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/visitors/package-summary.html @@ -0,0 +1,167 @@ + + + + + +proguard.analysis.cpa.jvm.cfa.visitors (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.cfa.visitors

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/cfa/visitors/package-tree.html b/api/proguard/analysis/cpa/jvm/cfa/visitors/package-tree.html new file mode 100644 index 000000000..236672f6f --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/visitors/package-tree.html @@ -0,0 +1,161 @@ + + + + + +proguard.analysis.cpa.jvm.cfa.visitors Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.cfa.visitors

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/domain/memory/BamLocationDependentJvmMemoryLocation.html b/api/proguard/analysis/cpa/jvm/domain/memory/BamLocationDependentJvmMemoryLocation.html new file mode 100644 index 000000000..a539e990f --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/BamLocationDependentJvmMemoryLocation.html @@ -0,0 +1,488 @@ + + + + + +BamLocationDependentJvmMemoryLocation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BamLocationDependentJvmMemoryLocation<AbstractStateT extends AbstractState & ProgramLocationDependent<JvmCfaNode,​JvmCfaEdge,​MethodSignature>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.domain.memory.BamLocationDependentJvmMemoryLocation<AbstractStateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationAbstractState.StackEntry.html b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationAbstractState.StackEntry.html new file mode 100644 index 000000000..6645f27ae --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationAbstractState.StackEntry.html @@ -0,0 +1,405 @@ + + + + + +JvmMemoryLocationAbstractState.StackEntry (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmMemoryLocationAbstractState.StackEntry

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState.StackEntry
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationAbstractState.html b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationAbstractState.html new file mode 100644 index 000000000..9ca9d63d0 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationAbstractState.html @@ -0,0 +1,805 @@ + + + + + +JvmMemoryLocationAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmMemoryLocationAbstractState<AbstractStateT extends AbstractState & ProgramLocationDependent<JvmCfaNode,​JvmCfaEdge,​MethodSignature>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState<AbstractStateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationBamCpaRun.html b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationBamCpaRun.html new file mode 100644 index 000000000..fffe1b8f4 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationBamCpaRun.html @@ -0,0 +1,522 @@ + + + + + +JvmMemoryLocationBamCpaRun (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmMemoryLocationBamCpaRun<CpaT extends ConfigurableProgramAnalysis,​AbstractStateT extends LatticeAbstractState<AbstractStateT>>

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationCpa.html b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationCpa.html new file mode 100644 index 000000000..d04ba43ef --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationCpa.html @@ -0,0 +1,294 @@ + + + + + +JvmMemoryLocationCpa (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmMemoryLocationCpa<AbstractStateT extends LatticeAbstractState<AbstractStateT>>

+
+
+ +
+
    +
  • +
    +
    Type Parameters:
    +
    AbstractStateT - The type of the values of the traced analysis.
    +
    +
    +
    All Implemented Interfaces:
    +
    ConfigurableProgramAnalysis
    +
    +
    +
    public class JvmMemoryLocationCpa<AbstractStateT extends LatticeAbstractState<AbstractStateT>>
    +extends SimpleCpa
    +
    The JvmMemoryLocationCpa backtraces memory locations. See {@see + JvmMemoryLocationTransferRelation} for details.
    +
  • +
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationMergeJoinOperator.html b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationMergeJoinOperator.html new file mode 100644 index 000000000..be5784bf0 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationMergeJoinOperator.html @@ -0,0 +1,334 @@ + + + + + +JvmMemoryLocationMergeJoinOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmMemoryLocationMergeJoinOperator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationMergeJoinOperator
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MergeOperator
    +
    +
    +
    public final class JvmMemoryLocationMergeJoinOperator
    +extends java.lang.Object
    +implements MergeOperator
    +
    This MergeOperator applies the join operator to its arguments sharing the same memory + location.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      AbstractStatemerge​(AbstractState abstractState1, + AbstractState abstractState2, + Precision precision) +
      The operator uses the abstractState1 to weaken abstractState2 depending on + precision.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmMemoryLocationMergeJoinOperator

        +
        public JvmMemoryLocationMergeJoinOperator​(AbstractDomain abstractDomain)
        +
        Create a merge operator from an abstract domain defining the join operator.
        +
        +
        Parameters:
        +
        abstractDomain - abstract domain
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        merge

        +
        public AbstractState merge​(AbstractState abstractState1,
        +                           AbstractState abstractState2,
        +                           Precision precision)
        +
        Description copied from interface: MergeOperator
        +
        The operator uses the abstractState1 to weaken abstractState2 depending on + precision. Thus, it is asymmetric regarding its first two parameters. E.g., return + abstractState2 for no merging. To guarantee the correct behavior of the algorithm + implementations must have no side effects.
        +
        +
        Specified by:
        +
        merge in interface MergeOperator
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationTransferRelation.html b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationTransferRelation.html new file mode 100644 index 000000000..d6c05c12c --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationTransferRelation.html @@ -0,0 +1,395 @@ + + + + + +JvmMemoryLocationTransferRelation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmMemoryLocationTransferRelation<AbstractStateT extends LatticeAbstractState<AbstractStateT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationTransferRelation<AbstractStateT>
    • +
    +
  • +
+
+
    +
  • +
    +
    Type Parameters:
    +
    AbstractStateT - The type of the values of the traced analysis.
    +
    +
    +
    All Implemented Interfaces:
    +
    TransferRelation
    +
    +
    +
    public class JvmMemoryLocationTransferRelation<AbstractStateT extends LatticeAbstractState<AbstractStateT>>
    +extends java.lang.Object
    +implements TransferRelation
    +
    The JvmMemoryLocationTransferRelation computes the backward successors of an JvmMemoryLocationAbstractState for a given instruction. A backward successor is a memory + location which may have contributed to the value of the current JvmMemoryLocation. + +

    The transfer relation uses a BamCache containing the results of an analysis in order + to calculate the successors JvmMemoryLocationAbstractState: + +

    + +

      +
    • If a successor is in the currently analyzed method just use the current ProgramLocationDependentReachedSet (representing the results of the back-traced analysis + for the current method call with a specific entry state). +
    • If the current state can be the result of a method call, search for entry in the cache that + can result in the current state (i.e. from the cache entries of the called methods get the + ones that have as initial state the result of the ReduceOperator of the back-traced analysis for the caller + abstract state and that have an exit state that results in the current state after applying + the ExpandOperator of the back-traced analysis). +
    • If the current state is located in the entry node of a method: +
        +
      • If the call site was analyzed during the backward analysis the successor location + will be the known caller. +
      • Otherwise look for all potential callers in the cache (i.e. states that call the + method and result in the current method after applying the ReduceOperator). +
      +
    + +

    The value of the successor memory location is guaranteed to be greater than the threshold + (e.g. if JvmMemoryLocationTransferRelation is a SetAbstractState we + can set the threshold to SetAbstractState.bottom to + guarantee we don't calculate a successor if the taint is not propagated anymore). Thus, the + threshold defines the cut-off of the traces generated with JvmMemoryLocationTransferRelation.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + + + +
        +
      • +

        JvmMemoryLocationTransferRelation

        +
        public JvmMemoryLocationTransferRelation​(AbstractStateT threshold,
        +                                         BamCpa<JvmCfaNode,​JvmCfaEdge,​MethodSignature> bamCpa,
        +                                         java.util.Map<Call,​java.util.Set<JvmMemoryLocation>> extraTaintPropagationLocations)
        +
        Create a memory location transfer relation.
        +
        +
        Parameters:
        +
        threshold - a cut-off threshold
        +
        bamCpa - the BAM cpa that was used to calculate the results in the cache
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/memory/TraceExtractor.html b/api/proguard/analysis/cpa/jvm/domain/memory/TraceExtractor.html new file mode 100644 index 000000000..4ef80f986 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/TraceExtractor.html @@ -0,0 +1,321 @@ + + + + + +TraceExtractor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface TraceExtractor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/domain/memory/package-summary.html b/api/proguard/analysis/cpa/jvm/domain/memory/package-summary.html new file mode 100644 index 000000000..9ca8ca3cf --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/package-summary.html @@ -0,0 +1,222 @@ + + + + + +proguard.analysis.cpa.jvm.domain.memory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.domain.memory

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/domain/memory/package-tree.html b/api/proguard/analysis/cpa/jvm/domain/memory/package-tree.html new file mode 100644 index 000000000..bcfc8bf66 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/package-tree.html @@ -0,0 +1,185 @@ + + + + + +proguard.analysis.cpa.jvm.domain.memory Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.domain.memory

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceAbstractState.html b/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceAbstractState.html new file mode 100644 index 000000000..b0f1633f1 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceAbstractState.html @@ -0,0 +1,488 @@ + + + + + +JvmReferenceAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmReferenceAbstractState

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceExpandOperator.html b/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceExpandOperator.html new file mode 100644 index 000000000..b7be25cd3 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceExpandOperator.html @@ -0,0 +1,362 @@ + + + + + +JvmReferenceExpandOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmReferenceExpandOperator

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceReduceOperator.html b/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceReduceOperator.html new file mode 100644 index 000000000..0722b8bf7 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceReduceOperator.html @@ -0,0 +1,362 @@ + + + + + +JvmReferenceReduceOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmReferenceReduceOperator

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceTransferRelation.html b/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceTransferRelation.html new file mode 100644 index 000000000..4260cab81 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceTransferRelation.html @@ -0,0 +1,482 @@ + + + + + +JvmReferenceTransferRelation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmReferenceTransferRelation

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/reference/Reference.html b/api/proguard/analysis/cpa/jvm/domain/reference/Reference.html new file mode 100644 index 000000000..bd36142e2 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/Reference.html @@ -0,0 +1,418 @@ + + + + + +Reference (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Reference

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.domain.reference.Reference
    • +
    +
  • +
+
+
    +
  • +
    +
    public class Reference
    +extends java.lang.Object
    +
    A reference points at an object or an array at the heap. It is identified by the program point + when it was created and the memory location where it appears first.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      JvmMemoryLocationcreationSite +
      The memory location where the reference was encountered for the first time.
      +
      JvmCfaNodecreationTime +
      The program point at which the reference was created.
      +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanequals​(java.lang.Object obj) 
      inthashCode() 
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        creationTime

        +
        public final JvmCfaNode creationTime
        +
        The program point at which the reference was created.
        +
      • +
      + + + +
        +
      • +

        creationSite

        +
        public final JvmMemoryLocation creationSite
        +
        The memory location where the reference was encountered for the first time.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Reference

        +
        public Reference​(JvmCfaNode creationTime,
        +                 JvmMemoryLocation creationSite)
        +
        Create a reference.
        +
        +
        Parameters:
        +
        creationTime - the program point at which the reference was created
        +
        creationSite - the memory location where the reference was encountered for the first time
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object obj)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/reference/package-summary.html b/api/proguard/analysis/cpa/jvm/domain/reference/package-summary.html new file mode 100644 index 000000000..4e3270a2c --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/package-summary.html @@ -0,0 +1,193 @@ + + + + + +proguard.analysis.cpa.jvm.domain.reference (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.domain.reference

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/domain/reference/package-tree.html b/api/proguard/analysis/cpa/jvm/domain/reference/package-tree.html new file mode 100644 index 000000000..18f79fc5a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/package-tree.html @@ -0,0 +1,181 @@ + + + + + +proguard.analysis.cpa.jvm.domain.reference Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.domain.reference

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmInvokeTaintSink.Builder.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmInvokeTaintSink.Builder.html new file mode 100644 index 000000000..2b0371d53 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmInvokeTaintSink.Builder.html @@ -0,0 +1,522 @@ + + + + + +JvmInvokeTaintSink.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmInvokeTaintSink.Builder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        isValidForSource

        +
        protected java.util.function.Predicate<TaintSource> isValidForSource
        +
      • +
      + + + +
        +
      • +

        callMatcher

        +
        protected java.util.function.Predicate<Call> callMatcher
        +
      • +
      + + + +
        +
      • +

        takesInstance

        +
        protected boolean takesInstance
        +
      • +
      + + + +
        +
      • +

        takesArgs

        +
        protected java.util.Set<java.lang.Integer> takesArgs
        +
      • +
      + + + +
        +
      • +

        takesGlobals

        +
        protected java.util.Set<java.lang.String> takesGlobals
        +
      • +
      + + + +
        +
      • +

        signature

        +
        protected final Signature signature
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Builder

        +
        public Builder​(Signature signature)
        +
        Create a new builder for JvmInvokeTaintSink.
        +
        +
        Parameters:
        +
        signature -
        +
        signature - the signature of a sink method
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        setIsValidForSource

        +
        public JvmInvokeTaintSink.Builder setIsValidForSource​(java.util.function.Predicate<TaintSource> isValidForSource)
        +
        +
        Parameters:
        +
        isValidForSource - predicate on whether the sink is valid for a given source
        +
        +
      • +
      + + + +
        +
      • +

        setTakesInstance

        +
        public JvmInvokeTaintSink.Builder setTakesInstance​(boolean takesInstance)
        +
        +
        Parameters:
        +
        takesInstance - whether the sink is sensitive to the calling instance
        +
        +
      • +
      + + + +
        +
      • +

        setTakesArgs

        +
        public JvmInvokeTaintSink.Builder setTakesArgs​(java.util.Set<java.lang.Integer> takesArgs)
        +
        +
        Parameters:
        +
        takesArgs - a set of sensitive arguments
        +
        +
      • +
      + + + +
        +
      • +

        setTakesGlobals

        +
        public JvmInvokeTaintSink.Builder setTakesGlobals​(java.util.Set<java.lang.String> takesGlobals)
        +
        +
        Parameters:
        +
        takesGlobals - a set of sensitive global variables
        +
        +
      • +
      + + + +
        +
      • +

        setCallMatcher

        +
        public JvmInvokeTaintSink.Builder setCallMatcher​(java.util.function.Predicate<Call> callMatcher)
        +
        +
        Parameters:
        +
        callMatcher - predicate on whether a call matches this taint sink
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmInvokeTaintSink.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmInvokeTaintSink.html new file mode 100644 index 000000000..39230c25c --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmInvokeTaintSink.html @@ -0,0 +1,613 @@ + + + + + +JvmInvokeTaintSink (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmInvokeTaintSink

+
+
+ +
+
    +
  • +
    +
    public class JvmInvokeTaintSink
    +extends JvmTaintSink
    +
    A JvmTaintSink on a method invocation. This sinks can be sensitive to the instance, the + arguments, or the static fields. If a sink S is sensitive to X, then if X is tainted, we conclude + that the taint has reached S.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Constructors 
      ModifierConstructorDescription
       JvmInvokeTaintSink​(Signature signature, + boolean takesInstance, + java.util.Set<java.lang.Integer> takesArgs, + java.util.Set<java.lang.String> takesGlobals) +
      Deprecated.
      +
      protected JvmInvokeTaintSink​(Signature signature, + java.util.function.Predicate<TaintSource> isValidForSource, + boolean takesInstance, + java.util.Set<java.lang.Integer> takesArgs, + java.util.Set<java.lang.String> takesGlobals, + java.util.function.Predicate<Call> callMatcher) +
      Create a taint sink.
      +
       JvmInvokeTaintSink​(Signature signature, + java.util.function.Predicate<Call> callMatcher, + boolean takesInstance, + java.util.Set<java.lang.Integer> takesArgs, + java.util.Set<java.lang.String> takesGlobals) +
      Deprecated.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        takesInstance

        +
        public final boolean takesInstance
        +
      • +
      + + + +
        +
      • +

        takesArgs

        +
        public final java.util.Set<java.lang.Integer> takesArgs
        +
      • +
      + + + +
        +
      • +

        takesGlobals

        +
        public final java.util.Set<java.lang.String> takesGlobals
        +
      • +
      + + + +
        +
      • +

        callMatcher

        +
        public final java.util.function.Predicate<Call> callMatcher
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmInvokeTaintSink

        +
        @Deprecated
        +public JvmInvokeTaintSink​(Signature signature,
        +                          boolean takesInstance,
        +                          java.util.Set<java.lang.Integer> takesArgs,
        +                          java.util.Set<java.lang.String> takesGlobals)
        +
        Deprecated.
        +
        Create a taint sink.
        +
        +
        Parameters:
        +
        signature - the signature of a sink method
        +
        takesInstance - whether the sink is sensitive to the calling instance
        +
        takesArgs - a set of sensitive arguments
        +
        takesGlobals - a set of sensitive global variables
        +
        +
      • +
      + + + +
        +
      • +

        JvmInvokeTaintSink

        +
        @Deprecated
        +public JvmInvokeTaintSink​(Signature signature,
        +                          java.util.function.Predicate<Call> callMatcher,
        +                          boolean takesInstance,
        +                          java.util.Set<java.lang.Integer> takesArgs,
        +                          java.util.Set<java.lang.String> takesGlobals)
        +
        Deprecated.
        +
        Create a taint sink.
        +
        +
        Parameters:
        +
        signature - the signature of a sink method
        +
        callMatcher - whether the call matches this taint sink
        +
        takesInstance - whether the sink is sensitive to the calling instance
        +
        takesArgs - a set of sensitive arguments
        +
        takesGlobals - a set of sensitive global variables
        +
        +
      • +
      + + + +
        +
      • +

        JvmInvokeTaintSink

        +
        protected JvmInvokeTaintSink​(Signature signature,
        +                             java.util.function.Predicate<TaintSource> isValidForSource,
        +                             boolean takesInstance,
        +                             java.util.Set<java.lang.Integer> takesArgs,
        +                             java.util.Set<java.lang.String> takesGlobals,
        +                             java.util.function.Predicate<Call> callMatcher)
        +
        Create a taint sink.
        +
        +
        Parameters:
        +
        signature - the signature of a sink method
        +
        isValidForSource - predicate on whether the sink is valid for a given source
        +
        takesInstance - whether the sink is sensitive to the calling instance
        +
        takesArgs - a set of sensitive arguments
        +
        takesGlobals - a set of sensitive global variables
        +
        callMatcher - predicate on whether a call matches this taint sink
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmReturnTaintSink.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmReturnTaintSink.html new file mode 100644 index 000000000..9948fc0ab --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmReturnTaintSink.html @@ -0,0 +1,437 @@ + + + + + +JvmReturnTaintSink (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmReturnTaintSink

+
+
+ +
+
    +
  • +
    +
    public class JvmReturnTaintSink
    +extends JvmTaintSink
    +
    A JvmTaintSink triggered if the return value of the specified method is tainted.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmReturnTaintSink

        +
        public JvmReturnTaintSink​(Signature signature)
        +
      • +
      + + + +
        +
      • +

        JvmReturnTaintSink

        +
        public JvmReturnTaintSink​(Signature signature,
        +                          java.util.function.Predicate<TaintSource> isValidForSource)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getMemoryLocations

        +
        public java.util.Set<JvmMemoryLocation> getMemoryLocations()
        +
        The location of values returned by a method is the top of the stack. Since in our convention + just the top value is tainted for category 2 types just the top is enough.
        +
        +
        Specified by:
        +
        getMemoryLocations in class JvmTaintSink
        +
        +
      • +
      + + + +
        +
      • +

        matchCfaEdge

        +
        public boolean matchCfaEdge​(JvmCfaEdge edge)
        +
        Returns true on the return edge of the sink method.
        +
        +
        Specified by:
        +
        matchCfaEdge in class JvmTaintSink
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class JvmTaintSink
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Specified by:
        +
        toString in class TaintSink
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintAbstractState.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintAbstractState.html new file mode 100644 index 000000000..8ded695fa --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintAbstractState.html @@ -0,0 +1,403 @@ + + + + + +JvmTaintAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTaintAbstractState

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintBamCpaRun.Builder.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintBamCpaRun.Builder.html new file mode 100644 index 000000000..32a2fccd6 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintBamCpaRun.Builder.html @@ -0,0 +1,704 @@ + + + + + +JvmTaintBamCpaRun.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTaintBamCpaRun.Builder

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintBamCpaRun.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintBamCpaRun.html new file mode 100644 index 000000000..886463537 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintBamCpaRun.html @@ -0,0 +1,543 @@ + + + + + +JvmTaintBamCpaRun (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTaintBamCpaRun<OuterAbstractStateT extends AbstractState>

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintCpa.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintCpa.html new file mode 100644 index 000000000..938e78363 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintCpa.html @@ -0,0 +1,384 @@ + + + + + +JvmTaintCpa (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTaintCpa

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmTaintCpa

        +
        public JvmTaintCpa​(java.util.Set<? extends JvmTaintSource> sources)
        +
        Create a taint CPA.
        +
        +
        Parameters:
        +
        sources - a set of taint sources
        +
        +
      • +
      + + + +
        +
      • +

        JvmTaintCpa

        +
        public JvmTaintCpa​(java.util.Set<? extends JvmTaintSource> sources,
        +                   java.util.Map<MethodSignature,​JvmTaintTransformer> taintTransformers,
        +                   java.util.Map<Call,​java.util.Set<JvmMemoryLocation>> extraTaintPropagationLocations)
        +
        Create a taint CPA.
        +
        +
        Parameters:
        +
        sources - a set of taint sources
        +
        taintTransformers - a mapping from method signature to a transformer object applied to the + taint state when that method is invoked
        +
        +
      • +
      + + + +
        +
      • +

        JvmTaintCpa

        +
        public JvmTaintCpa​(java.util.Map<Signature,​java.util.Set<JvmTaintSource>> signaturesToSources,
        +                   java.util.Map<MethodSignature,​JvmTaintTransformer> taintTransformers)
        +
        Create a taint CPA.
        +
        +
        Parameters:
        +
        signaturesToSources - a mapping from method signature to taint sources
        +
        taintTransformers - a mapping from method signature to a transformer object applied to the + taint state when that method is invoked
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createSourcesMap

        +
        public static java.util.Map<Signature,​java.util.Set<JvmTaintSource>> createSourcesMap​(java.util.Set<? extends JvmTaintSource> sources)
        +
        Since the used data structure is a map that uses the fqn as key, which is a parameter of the + TaintSources, this method constructs the map correctly starting from a set of sources.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintExpandOperator.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintExpandOperator.html new file mode 100644 index 000000000..9b8e4bf5d --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintExpandOperator.html @@ -0,0 +1,455 @@ + + + + + +JvmTaintExpandOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTaintExpandOperator

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintMemoryLocationBamCpaRun.Builder.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintMemoryLocationBamCpaRun.Builder.html new file mode 100644 index 000000000..9974c7119 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintMemoryLocationBamCpaRun.Builder.html @@ -0,0 +1,576 @@ + + + + + +JvmTaintMemoryLocationBamCpaRun.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTaintMemoryLocationBamCpaRun.Builder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintMemoryLocationBamCpaRun.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintMemoryLocationBamCpaRun.html new file mode 100644 index 000000000..f91e706ce --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintMemoryLocationBamCpaRun.html @@ -0,0 +1,559 @@ + + + + + +JvmTaintMemoryLocationBamCpaRun (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTaintMemoryLocationBamCpaRun

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmTaintMemoryLocationBamCpaRun

        +
        protected JvmTaintMemoryLocationBamCpaRun​(JvmTaintBamCpaRun jvmTaintCpaRun,
        +                                          SetAbstractState<JvmTaintSource> threshold,
        +                                          java.util.Collection<? extends JvmTaintSink> taintSinks,
        +                                          AbortOperator memoryLocationAbortOperator,
        +                                          java.util.Map<Call,​java.util.Set<JvmMemoryLocation>> extraTaintPropagationLocations)
        +
        Create a traced taint CPA run.
        +
        +
        Parameters:
        +
        jvmTaintCpaRun - an intraprocedural taint CPA run
        +
        threshold - a cut-off threshold
        +
        taintSinks - a collection of taint sinks
        +
        memoryLocationAbortOperator - an abort operator for trace reconstruction
        +
        +
      • +
      + + + +
        +
      • +

        JvmTaintMemoryLocationBamCpaRun

        +
        protected JvmTaintMemoryLocationBamCpaRun​(JvmCfa cfa,
        +                                          java.util.Set<? extends JvmTaintSource> taintSources,
        +                                          MethodSignature mainSignature,
        +                                          int maxCallStackDepth,
        +                                          HeapModel heapModel,
        +                                          SetAbstractState<JvmTaintSource> threshold,
        +                                          java.util.Collection<? extends JvmTaintSink> taintSinks,
        +                                          AbortOperator abortOperator,
        +                                          AbortOperator memoryLocationAbortOperator,
        +                                          boolean reduceHeap,
        +                                          MapAbstractStateFactory<java.lang.String,​SetAbstractState<JvmTaintSource>> staticFieldMapAbstractStateFactory,
        +                                          MapAbstractStateFactory<java.lang.String,​SetAbstractState<Reference>> principalHeapNodeMapAbstractStateFactory,
        +                                          MapAbstractStateFactory<java.lang.String,​SetAbstractState<JvmTaintSource>> followerHeapNodeMapAbstractStateFactory,
        +                                          java.util.Map<MethodSignature,​JvmTaintTransformer> taintTransformers,
        +                                          java.util.Map<Call,​java.util.Set<JvmMemoryLocation>> extraTaintPropagationLocations)
        +
        Create a traced taint CPA run.
        +
        +
        Parameters:
        +
        cfa - a CFA
        +
        taintSources - a set of taint sources
        +
        mainSignature - the main signature of the main method
        +
        maxCallStackDepth - the maximum depth of the call stack analyzed interprocedurally. 0 + means intraprocedural analysis. < 0 means no maximum depth.
        +
        threshold - a cut-off threshold
        +
        taintSinks - a collection of taint sinks
        +
        abortOperator - an abort operator
        +
        memoryLocationAbortOperator - an abort operator for trace reconstruction
        +
        reduceHeap - whether reduction/expansion of the heap state is performed at call/return + sites
        +
        principalHeapMapAbstractStateFactory - a map abstract state factory used for constructing + the mapping from references to objects in the principal heap model
        +
        principalHeapNodeMapAbstractStateFactory - a map abstract state factory used for + constructing the mapping from fields to values in the principal heap model
        +
        followerHeapMapAbstractStateFactory - a map abstract state factory used for constructing + the mapping from references to objects in the follower heap model
        +
        followerHeapNodeMapAbstractStateFactory - a map abstract state factory used for + constructing the mapping from fields to values in the follower heap model
        +
        extraTaintPropagationLocations - maps calls to jvm memory locations which needs to get + tainted after the call
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintReduceOperator.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintReduceOperator.html new file mode 100644 index 000000000..10b3d8343 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintReduceOperator.html @@ -0,0 +1,398 @@ + + + + + +JvmTaintReduceOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTaintReduceOperator

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmTaintReduceOperator

        +
        public JvmTaintReduceOperator​(boolean reduceHeap)
        +
        Create the taint reduce operator for the JVM.
        +
        +
        Parameters:
        +
        reduceHeap - whether reduction of the heap is performed
        +
        +
      • +
      + + + +
        +
      • +

        JvmTaintReduceOperator

        +
        public JvmTaintReduceOperator​(boolean reduceHeap,
        +                              java.util.Map<Signature,​java.util.Set<JvmTaintSource>> taintSources)
        +
        Create the taint reduce operator for the JVM.
        +
        +
        Parameters:
        +
        reduceHeap - whether reduction of the heap is performed
        +
        taintSources - collection of taint sources
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintSink.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintSink.html new file mode 100644 index 000000000..4441e3075 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintSink.html @@ -0,0 +1,430 @@ + + + + + +JvmTaintSink (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTaintSink

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmTaintSink

        +
        public JvmTaintSink​(Signature signature)
        +
      • +
      + + + +
        +
      • +

        JvmTaintSink

        +
        public JvmTaintSink​(Signature signature,
        +                    java.util.function.Predicate<TaintSource> isValidForSource)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getMemoryLocations

        +
        public abstract java.util.Set<JvmMemoryLocation> getMemoryLocations()
        +
        Returns memory locations which trigger this taint sink.
        +
      • +
      + + + +
        +
      • +

        matchCfaEdge

        +
        public abstract boolean matchCfaEdge​(JvmCfaEdge edge)
        +
        Returns whether the sink matches a given CFA edge.
        +
      • +
      + + + +
        +
      • +

        convertSinksToMemoryLocations

        +
        public static java.util.Map<Signature,​java.util.Map<JvmTaintSink,​java.util.Set<JvmMemoryLocation>>> convertSinksToMemoryLocations​(java.util.Collection<? extends JvmTaintSink> taintSinks)
        +
        Helper method taking a collection of sinks and converting it to a mapping that associates each + sink with the memory locations which triggers it. For convenience the sinks are further grouped + by their method signature.
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object other)
        +
        +
        Overrides:
        +
        equals in class TaintSink
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class TaintSink
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintSource.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintSource.html new file mode 100644 index 000000000..4d023f56d --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintSource.html @@ -0,0 +1,490 @@ + + + + + +JvmTaintSource (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTaintSource

+
+
+ +
+
    +
  • +
    +
    public class JvmTaintSource
    +extends TaintSource
    +
    A JvmTaintSource specifies a method which can taint any (subset) of the following: the + instance, the return value, the argument objects, or static fields. The callMatcher + decides whether the call (already filtered by its Signature) should trigger this source.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      JvmTaintSource​(Signature signature, + boolean taintsThis, + boolean taintsReturn, + java.util.Set<java.lang.Integer> taintsArgs, + java.util.Set<java.lang.String> taintsGlobals) +
      Create a taint source.
      +
      JvmTaintSource​(Signature signature, + java.util.function.Predicate<Call> callMatcher, + boolean taintsThis, + boolean taintsReturn, + java.util.Set<java.lang.Integer> taintsArgs, + java.util.Set<java.lang.String> taintsGlobals) +
      Create a taint source.
      +
      JvmTaintSource​(Signature signature, + java.util.Optional<java.util.function.Predicate<Call>> callMatcher, + boolean taintsThis, + boolean taintsReturn, + java.util.Set<java.lang.Integer> taintsArgs, + java.util.Set<java.lang.String> taintsGlobals) +
      Create a taint source.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanequals​(java.lang.Object obj) 
      inthashCode() 
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        callMatcher

        +
        public final java.util.Optional<java.util.function.Predicate<Call>> callMatcher
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmTaintSource

        +
        public JvmTaintSource​(Signature signature,
        +                      java.util.function.Predicate<Call> callMatcher,
        +                      boolean taintsThis,
        +                      boolean taintsReturn,
        +                      java.util.Set<java.lang.Integer> taintsArgs,
        +                      java.util.Set<java.lang.String> taintsGlobals)
        +
        Create a taint source.
        +
        +
        Parameters:
        +
        signature - the signature a source method
        +
        callMatcher - whether the call matches this taint source
        +
        taintsThis - whether the source taints the calling instance
        +
        taintsReturn - whether the source taints its return
        +
        taintsArgs - a set of tainted arguments
        +
        taintsGlobals - a set of tainted global variables
        +
        +
      • +
      + + + +
        +
      • +

        JvmTaintSource

        +
        public JvmTaintSource​(Signature signature,
        +                      boolean taintsThis,
        +                      boolean taintsReturn,
        +                      java.util.Set<java.lang.Integer> taintsArgs,
        +                      java.util.Set<java.lang.String> taintsGlobals)
        +
        Create a taint source.
        +
        +
        Parameters:
        +
        signature - the signature a source method
        +
        taintsThis - whether the source taints the calling instance
        +
        taintsReturn - whether the source taints its return
        +
        taintsArgs - a set of tainted arguments
        +
        taintsGlobals - a set of tainted global variables
        +
        +
      • +
      + + + +
        +
      • +

        JvmTaintSource

        +
        public JvmTaintSource​(Signature signature,
        +                      java.util.Optional<java.util.function.Predicate<Call>> callMatcher,
        +                      boolean taintsThis,
        +                      boolean taintsReturn,
        +                      java.util.Set<java.lang.Integer> taintsArgs,
        +                      java.util.Set<java.lang.String> taintsGlobals)
        +
        Create a taint source.
        +
        +
        Parameters:
        +
        signature - the signature a source method
        +
        callMatcher - an optional predicate on whether the call matches this taint source
        +
        taintsThis - whether the source taints the calling instance
        +
        taintsReturn - whether the source taints its return
        +
        taintsArgs - a set of tainted arguments
        +
        taintsGlobals - a set of tainted global variables
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransferRelation.InstructionAbstractInterpreter.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransferRelation.InstructionAbstractInterpreter.html new file mode 100644 index 000000000..2678071ee --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransferRelation.InstructionAbstractInterpreter.html @@ -0,0 +1,390 @@ + + + + + +JvmTaintTransferRelation.InstructionAbstractInterpreter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTaintTransferRelation.InstructionAbstractInterpreter

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransferRelation.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransferRelation.html new file mode 100644 index 000000000..eba3ccb35 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransferRelation.html @@ -0,0 +1,482 @@ + + + + + +JvmTaintTransferRelation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTaintTransferRelation

+
+
+ + +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransformer.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransformer.html new file mode 100644 index 000000000..c67af1955 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransformer.html @@ -0,0 +1,263 @@ + + + + + +JvmTaintTransformer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface JvmTaintTransformer

+
+
+
+
    +
  • +
    +
    public interface JvmTaintTransformer
    +
    Class that can be passed to JvmTaintTransferRelation to specify how a specific method + call should be treated. + +

    For example this can be overridden to specify that a specific taint should not be propagated.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transformReturn

        +
        default SetAbstractState<JvmTaintSource> transformReturn​(SetAbstractState<JvmTaintSource> returnValue)
        +
        The transformer implementation can override this method to specify how to modify the return + value of a method call. The default implementation returns the original value.
        +
        +
        Parameters:
        +
        returnValue - the original return state
        +
        Returns:
        +
        the modified return state
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/package-summary.html b/api/proguard/analysis/cpa/jvm/domain/taint/package-summary.html new file mode 100644 index 000000000..9285e1e47 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/package-summary.html @@ -0,0 +1,269 @@ + + + + + +proguard.analysis.cpa.jvm.domain.taint (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.domain.taint

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/package-tree.html b/api/proguard/analysis/cpa/jvm/domain/taint/package-tree.html new file mode 100644 index 000000000..d55e4f786 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/package-tree.html @@ -0,0 +1,244 @@ + + + + + +proguard.analysis.cpa.jvm.domain.taint Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.domain.taint

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/domain/value/JvmCfaReferenceValueFactory.html b/api/proguard/analysis/cpa/jvm/domain/value/JvmCfaReferenceValueFactory.html new file mode 100644 index 000000000..e72a1b1be --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmCfaReferenceValueFactory.html @@ -0,0 +1,435 @@ + + + + + +JvmCfaReferenceValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmCfaReferenceValueFactory

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmCfaReferenceValueFactory

        +
        public JvmCfaReferenceValueFactory​(JvmCfa cfa)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/value/JvmValueAbstractState.html b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueAbstractState.html new file mode 100644 index 000000000..f4a53cd7f --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueAbstractState.html @@ -0,0 +1,588 @@ + + + + + +JvmValueAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmValueAbstractState

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.Builder.html b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.Builder.html new file mode 100644 index 000000000..74972362b --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.Builder.html @@ -0,0 +1,505 @@ + + + + + +JvmValueBamCpaRun.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmValueBamCpaRun.Builder

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.TransferRelationFactory.html b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.TransferRelationFactory.html new file mode 100644 index 000000000..c5d102d3d --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.TransferRelationFactory.html @@ -0,0 +1,254 @@ + + + + + +JvmValueBamCpaRun.TransferRelationFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface JvmValueBamCpaRun.TransferRelationFactory

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    JvmValueBamCpaRun
    +
    +
    +
    public static interface JvmValueBamCpaRun.TransferRelationFactory
    +
  • +
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.html b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.html new file mode 100644 index 000000000..e016337ae --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.html @@ -0,0 +1,500 @@ + + + + + +JvmValueBamCpaRun (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmValueBamCpaRun

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/value/JvmValueExpandOperator.html b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueExpandOperator.html new file mode 100644 index 000000000..8e4c31d7a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueExpandOperator.html @@ -0,0 +1,354 @@ + + + + + +JvmValueExpandOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmValueExpandOperator

+
+
+ + +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/value/JvmValueReduceOperator.html b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueReduceOperator.html new file mode 100644 index 000000000..9913f70ef --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueReduceOperator.html @@ -0,0 +1,387 @@ + + + + + +JvmValueReduceOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmValueReduceOperator

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/value/JvmValueTransferRelation.html b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueTransferRelation.html new file mode 100644 index 000000000..60400749c --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueTransferRelation.html @@ -0,0 +1,755 @@ + + + + + +JvmValueTransferRelation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmValueTransferRelation

+
+
+ + +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/value/ValueAbstractState.html b/api/proguard/analysis/cpa/jvm/domain/value/ValueAbstractState.html new file mode 100644 index 000000000..2638cc3bf --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/ValueAbstractState.html @@ -0,0 +1,510 @@ + + + + + +ValueAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ValueAbstractState

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.domain.value.ValueAbstractState
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/value/package-summary.html b/api/proguard/analysis/cpa/jvm/domain/value/package-summary.html new file mode 100644 index 000000000..623dd7091 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/package-summary.html @@ -0,0 +1,219 @@ + + + + + +proguard.analysis.cpa.jvm.domain.value (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.domain.value

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/domain/value/package-tree.html b/api/proguard/analysis/cpa/jvm/domain/value/package-tree.html new file mode 100644 index 000000000..fc3e50b12 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/package-tree.html @@ -0,0 +1,222 @@ + + + + + +proguard.analysis.cpa.jvm.domain.value Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.domain.value

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/operators/JvmDefaultExpandOperator.html b/api/proguard/analysis/cpa/jvm/operators/JvmDefaultExpandOperator.html new file mode 100644 index 000000000..0f9a05d97 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/operators/JvmDefaultExpandOperator.html @@ -0,0 +1,424 @@ + + + + + +JvmDefaultExpandOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmDefaultExpandOperator<StateT extends LatticeAbstractState<StateT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.operators.JvmDefaultExpandOperator<StateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmDefaultExpandOperator

        +
        public JvmDefaultExpandOperator​(JvmCfa cfa)
        +
        Create the default expand operator for the JVM.
        +
        +
        Parameters:
        +
        cfa - the control flow automaton of the analyzed program
        +
        +
      • +
      + + + +
        +
      • +

        JvmDefaultExpandOperator

        +
        public JvmDefaultExpandOperator​(JvmCfa cfa,
        +                                boolean expandHeap)
        +
        Create the default expand operator for the JVM.
        +
        +
        Parameters:
        +
        cfa - the control flow automaton of the analyzed program
        +
        expandHeap - whether expansion of the heap is performed
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        expand

        +
        public JvmAbstractState<StateT> expand​(AbstractState expandedInitialState,
        +                                       AbstractState reducedExitState,
        +                                       JvmCfaNode blockEntryNode,
        +                                       Call call)
        +
        Description copied from interface: ExpandOperator
        +
        Reconstructs the state of the caller of a procedure using the information of the expanded + initial state, the reduced exit state, the block entry node (that can be used to retrieve the + CFA subgraph of the function), and the call to the procedure.
        +
        +
        Specified by:
        +
        expand in interface ExpandOperator<JvmCfaNode,​JvmCfaEdge,​MethodSignature>
        +
        Parameters:
        +
        expandedInitialState - the entry state of the called procedure before any reduction
        +
        reducedExitState - the state of the called procedure in its exit node
        +
        blockEntryNode - the entry node of the called procedure
        +
        call - the information of the call to the procedure
        +
        Returns:
        +
        The state of the caller after the procedure call, eventually with some collisions of + identifiers that need the RebuildOperator to be solved
        +
        +
      • +
      + + + +
        +
      • +

        calculateReturnValues

        +
        protected java.util.List<StateT> calculateReturnValues​(AbstractState reducedExitState,
        +                                                       Instruction returnInstruction,
        +                                                       Call call)
        +
        Calculates the returned state. Can be overridden to handle special behavior.
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/operators/JvmDefaultReduceOperator.html b/api/proguard/analysis/cpa/jvm/operators/JvmDefaultReduceOperator.html new file mode 100644 index 000000000..bc50cad59 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/operators/JvmDefaultReduceOperator.html @@ -0,0 +1,422 @@ + + + + + +JvmDefaultReduceOperator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmDefaultReduceOperator<StateT extends LatticeAbstractState<StateT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.operators.JvmDefaultReduceOperator<StateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmDefaultReduceOperator

        +
        public JvmDefaultReduceOperator()
        +
        Create the default reduce operator for the JVM.
        +
      • +
      + + + +
        +
      • +

        JvmDefaultReduceOperator

        +
        public JvmDefaultReduceOperator​(boolean reduceHeap)
        +
        Create the default reduce operator for the JVM.
        +
        +
        Parameters:
        +
        reduceHeap - whether reduction of the heap is performed
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        reduceImpl

        +
        public JvmAbstractState<StateT> reduceImpl​(AbstractState expandedInitialState,
        +                                           JvmCfaNode blockEntryNode,
        +                                           Call call)
        +
        Description copied from interface: ReduceOperator
        +
        Creates the initial state of the called procedure discarding the useless information from the + state of the caller.
        +
        +
        Specified by:
        +
        reduceImpl in interface ReduceOperator<JvmCfaNode,​JvmCfaEdge,​MethodSignature>
        +
        Parameters:
        +
        expandedInitialState - the entry state of the called procedure before any reduction
        +
        blockEntryNode - the entry node of the called procedure
        +
        call - the information of the call to the procedure
        +
        Returns:
        +
        The entry state of the called procedure
        +
        +
      • +
      + + + +
        +
      • +

        reduceStaticFields

        +
        protected void reduceStaticFields​(MapAbstractState<java.lang.String,​StateT> staticFields)
        +
        Reduces the static fields. The default implementation doesn't perform any reduction.
        +
        +
        Parameters:
        +
        staticFields - the static fields map that is modified by this method by performing + reduction
        +
        +
      • +
      + + + +
        +
      • +

        reduceHeap

        +
        protected void reduceHeap​(JvmHeapAbstractState<StateT> heap,
        +                          JvmFrameAbstractState<StateT> reducedFrame,
        +                          MapAbstractState<java.lang.String,​StateT> reducedStaticFields)
        +
        Reduces the heap state. The default implementation doesn't perform any reduction.
        +
        +
        Parameters:
        +
        heap - the heap that is modified by this method by performing reduction
        +
        reducedFrame - the frame after reduction has been performed on it
        +
        reducedStaticFields - the static fields after reduction has been performed on them
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/operators/package-summary.html b/api/proguard/analysis/cpa/jvm/operators/package-summary.html new file mode 100644 index 000000000..775cd85f7 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/operators/package-summary.html @@ -0,0 +1,172 @@ + + + + + +proguard.analysis.cpa.jvm.operators (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.operators

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/operators/package-tree.html b/api/proguard/analysis/cpa/jvm/operators/package-tree.html new file mode 100644 index 000000000..1d65faf78 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/operators/package-tree.html @@ -0,0 +1,162 @@ + + + + + +proguard.analysis.cpa.jvm.operators Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.operators

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/state/JvmAbstractState.html b/api/proguard/analysis/cpa/jvm/state/JvmAbstractState.html new file mode 100644 index 000000000..295c65d04 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/JvmAbstractState.html @@ -0,0 +1,1111 @@ + + + + + +JvmAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmAbstractState<StateT extends LatticeAbstractState<StateT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.state.JvmAbstractState<StateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object obj)
        +
        +
        Specified by:
        +
        equals in interface AbstractState
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Specified by:
        +
        hashCode in interface AbstractState
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        peek

        +
        public StateT peek()
        +
        Returns the top element of the operand stack.
        +
      • +
      + + + +
        +
      • +

        peek

        +
        public StateT peek​(int index)
        +
        Returns the indexth element from the top of the operand stack.
        +
      • +
      + + + + + +
        +
      • +

        peekOrDefault

        +
        public StateT peekOrDefault​(StateT defaultState)
        +
        Returns the top element of the operand stack or returns defaultState if the stack is + empty.
        +
      • +
      + + + + + +
        +
      • +

        peekOrDefault

        +
        public StateT peekOrDefault​(int index,
        +                            StateT defaultState)
        +
        Returns the indexth element from the top of the operand stack or returns + defaultState if the stack does not have enough elements.
        +
      • +
      + + + +
        +
      • +

        pop

        +
        public StateT pop()
        +
        Removes the top element of the operand stack end returns it.
        +
      • +
      + + + + + +
        +
      • +

        popOrDefault

        +
        public StateT popOrDefault​(StateT defaultState)
        +
        Removes the top element of the operand stack end returns it. Returns defaultState if + the stack is empty.
        +
      • +
      + + + + + +
        +
      • +

        push

        +
        public StateT push​(StateT state)
        +
        Inserts state to the top of the operand stack and returns it.
        +
      • +
      + + + +
        +
      • +

        pushAll

        +
        public java.util.List<StateT> pushAll​(java.util.List<StateT> states)
        +
        Consequentially inserts elements of states to the top of the operand stack and returns + states.
        +
      • +
      + + + +
        +
      • +

        clearOperandStack

        +
        public void clearOperandStack()
        +
        Empties the operand stack.
        +
      • +
      + + + + + +
        +
      • +

        getVariableOrDefault

        +
        public StateT getVariableOrDefault​(int index,
        +                                   StateT defaultState)
        +
        Returns an abstract state at the indexth position of the variable array or + defaultState if there is no entry.
        +
      • +
      + + + + + +
        +
      • +

        setVariable

        +
        public StateT setVariable​(int index,
        +                          StateT state,
        +                          StateT defaultState)
        +
        Sets the indexth position of the variable array to state and returns + state. If the array has to be extended, the added cells are padded with defaultState.
        +
      • +
      + + + + + +
        +
      • +

        getStaticOrDefault

        +
        public StateT getStaticOrDefault​(java.lang.String fqn,
        +                                 StateT defaultState)
        +
        Returns an abstract state representing the static field fqn or defaultState if + there is no entry.
        +
      • +
      + + + + + +
        +
      • +

        setStatic

        +
        public void setStatic​(java.lang.String fqn,
        +                      StateT value,
        +                      StateT defaultState)
        +
        Sets the static field fqn to value, unless the value is defaultState.
        +
      • +
      + + + + + +
        +
      • +

        getFieldOrDefault

        +
        public <T> StateT getFieldOrDefault​(T object,
        +                                    java.lang.String descriptor,
        +                                    StateT defaultValue)
        +
        Returns an abstract state representing the field descriptor of the object or + defaultState if there is no entry.
        +
      • +
      + + + + + +
        +
      • +

        getFieldOrDefault

        +
        public <T> StateT getFieldOrDefault​(T object,
        +                                    StateT defaultValue)
        +
        Returns an abstract state representing the default field of the object or + defaultState if there is no entry.
        +
      • +
      + + + + + +
        +
      • +

        setField

        +
        public <T> void setField​(T object,
        +                         java.lang.String descriptor,
        +                         StateT value)
        +
        Sets the field descriptor of the object to value.
        +
      • +
      + + + + + +
        +
      • +

        setField

        +
        public <T> void setField​(T object,
        +                         StateT value)
        +
        Sets the default field of the object to value.
        +
      • +
      + + + + + + + +
        +
      • +

        getStaticFields

        +
        public MapAbstractState<java.lang.String,​StateT> getStaticFields()
        +
        Returns the static field table abstract state.
        +
      • +
      + + + + + + + +
        +
      • +

        newArray

        +
        public StateT newArray​(java.lang.String type,
        +                       java.util.List<StateT> dimensions)
        +
        Returns an abstract state for a new array for the given type and dimentions.
        +
      • +
      + + + +
        +
      • +

        newObject

        +
        public StateT newObject​(java.lang.String className)
        +
        Returns an abstract state for a new object of the given className.
        +
      • +
      + + + +
        +
      • +

        newObject

        +
        public StateT newObject​(Clazz clazz)
        +
        Returns an abstract state for a new object of the given Clazz.
        +
      • +
      + + + + + +
        +
      • +

        getArrayElementOrDefault

        +
        public <T> StateT getArrayElementOrDefault​(T array,
        +                                           StateT index,
        +                                           StateT abstractDefault)
        +
        Returns an abstract state for the array element at the given index or the + abstractDefault if there is no information available.
        +
      • +
      + + + + + +
        +
      • +

        setArrayElement

        +
        public <T> void setArrayElement​(T array,
        +                                StateT index,
        +                                StateT value)
        +
        Sets the array element at the given index to the value.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/state/JvmAbstractStateFactory.html b/api/proguard/analysis/cpa/jvm/state/JvmAbstractStateFactory.html new file mode 100644 index 000000000..f61a986d6 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/JvmAbstractStateFactory.html @@ -0,0 +1,262 @@ + + + + + +JvmAbstractStateFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface JvmAbstractStateFactory<StateT extends LatticeAbstractState<StateT>>

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/state/JvmFrameAbstractState.html b/api/proguard/analysis/cpa/jvm/state/JvmFrameAbstractState.html new file mode 100644 index 000000000..4ef67187b --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/JvmFrameAbstractState.html @@ -0,0 +1,698 @@ + + + + + +JvmFrameAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmFrameAbstractState<StateT extends LatticeAbstractState<StateT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.state.JvmFrameAbstractState<StateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmFrameAbstractState

        +
        public JvmFrameAbstractState()
        +
        Create an empty frame.
        +
      • +
      + + + +
        +
      • +

        JvmFrameAbstractState

        +
        public JvmFrameAbstractState​(ListAbstractState<StateT> localVariables,
        +                             StackAbstractState<StateT> operandStack)
        +
        Create a frame from a local variable array and an operand stack.
        +
        +
        Parameters:
        +
        localVariables - a local variable array
        +
        operandStack - an operand stack
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object obj)
        +
        +
        Specified by:
        +
        equals in interface AbstractState
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Specified by:
        +
        hashCode in interface AbstractState
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + + + +
        +
      • +

        peekOrDefault

        +
        public StateT peekOrDefault​(int index,
        +                            StateT defaultState)
        +
        Returns the indexth element from the top of the operand stack or returns + defaultState if the stack does not have enough elements.
        +
      • +
      + + + +
        +
      • +

        peek

        +
        public StateT peek​(int index)
        +
        Returns the indexth element from the top of the operand stack.
        +
      • +
      + + + +
        +
      • +

        pop

        +
        public StateT pop()
        +
        Removes the top element of the operand stack end returns it.
        +
      • +
      + + + + + +
        +
      • +

        popOrDefault

        +
        public StateT popOrDefault​(StateT defaultState)
        +
        Removes the top element of the operand stack end returns it. Returns defaultState if + the stack is empty.
        +
      • +
      + + + + + +
        +
      • +

        push

        +
        public StateT push​(StateT state)
        +
        Inserts state to the top of the operand stack and returns it.
        +
      • +
      + + + +
        +
      • +

        pushAll

        +
        public java.util.List<StateT> pushAll​(java.util.List<StateT> states)
        +
        Sequentially inserts elements of states to the top of the operand stack and returns + states.
        +
      • +
      + + + + + +
        +
      • +

        getVariableOrDefault

        +
        public StateT getVariableOrDefault​(int index,
        +                                   StateT defaultState)
        +
        Returns an abstract state at the indexth position of the variable array or + defaultState if there is no entry.
        +
      • +
      + + + + + +
        +
      • +

        setVariable

        +
        public StateT setVariable​(int index,
        +                          StateT state,
        +                          StateT defaultState)
        +
        Sets the indexth position of the variable array to state and returns + state. If the array has to be extended, the added cells are padded with defaultState.
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/state/heap/HeapModel.html b/api/proguard/analysis/cpa/jvm/state/heap/HeapModel.html new file mode 100644 index 000000000..32d651247 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/HeapModel.html @@ -0,0 +1,383 @@ + + + + + +HeapModel (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum HeapModel

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Enum<HeapModel>
    • +
    • +
        +
      • proguard.analysis.cpa.jvm.state.heap.HeapModel
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<HeapModel>
    +
    +
    +
    public enum HeapModel
    +extends java.lang.Enum<HeapModel>
    +
    An enumeration of supported heap models.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Summary

      + + + + + + + + + + + + + + +
      Enum Constants 
      Enum ConstantDescription
      FORGETFUL +
      a singleton heap model
      +
      SHALLOW +
      A shallow heap models objects as atomic abstract states.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static HeapModelvalueOf​(java.lang.String name) +
      Returns the enum constant of this type with the specified name.
      +
      static HeapModel[]values() +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Enum

        +clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Detail

      + + + +
        +
      • +

        FORGETFUL

        +
        public static final HeapModel FORGETFUL
        +
        a singleton heap model
        +
      • +
      + + + +
        +
      • +

        SHALLOW

        +
        public static final HeapModel SHALLOW
        +
        A shallow heap models objects as atomic abstract states.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static HeapModel[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (HeapModel c : HeapModel.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static HeapModel valueOf​(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/state/heap/JvmForgetfulHeapAbstractState.html b/api/proguard/analysis/cpa/jvm/state/heap/JvmForgetfulHeapAbstractState.html new file mode 100644 index 000000000..a8d3ba5a2 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/JvmForgetfulHeapAbstractState.html @@ -0,0 +1,604 @@ + + + + + +JvmForgetfulHeapAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmForgetfulHeapAbstractState<StateT extends LatticeAbstractState<StateT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.state.heap.JvmForgetfulHeapAbstractState<StateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/state/heap/JvmHeapAbstractState.html b/api/proguard/analysis/cpa/jvm/state/heap/JvmHeapAbstractState.html new file mode 100644 index 000000000..f75150a7f --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/JvmHeapAbstractState.html @@ -0,0 +1,491 @@ + + + + + +JvmHeapAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface JvmHeapAbstractState<StateT extends LatticeAbstractState<StateT>>

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        newArray

        +
        StateT newArray​(java.lang.String type,
        +                java.util.List<StateT> dimensions,
        +                JvmCfaNode creationCite)
        +
        Creates a new array of a given class with the given dimension sizes at a specific program point + and returns a reference to it.
        +
      • +
      + + + +
        +
      • +

        newObject

        +
        StateT newObject​(java.lang.String className,
        +                 JvmCfaNode creationCite)
        +
        Creates a new object of a given class at a specific program point and returns a reference to + it.
        +
      • +
      + + + +
        +
      • +

        newObject

        +
        default StateT newObject​(Clazz clazz,
        +                         JvmCfaNode creationCite)
        +
        Creates a new object of a given Clazz at a specific program point and returns a + reference to it.
        +
      • +
      + + + + + +
        +
      • +

        getFieldOrDefault

        +
        <T> StateT getFieldOrDefault​(T object,
        +                             java.lang.String fqn,
        +                             StateT defaultValue)
        +
        Returns a field fqn from a reference object. If there is no abstract state + representing the field, returns the defaultValue
        +
      • +
      + + + + + +
        +
      • +

        setField

        +
        <T> void setField​(T object,
        +                  java.lang.String fqn,
        +                  StateT value)
        +
        Sets a value to a field fqn of a referenced object.
        +
      • +
      + + + + + +
        +
      • +

        getArrayElementOrDefault

        +
        <T> StateT getArrayElementOrDefault​(T array,
        +                                    StateT index,
        +                                    StateT defaultValue)
        +
        Returns an array element at the specified index or the defaultValue, if + the element is unset.
        +
      • +
      + + + + + +
        +
      • +

        setArrayElement

        +
        <T> void setArrayElement​(T array,
        +                         StateT index,
        +                         StateT value)
        +
        Sets the array element value at the specified index.
        +
      • +
      + + + +
        +
      • +

        reduce

        +
        default void reduce​(java.util.Set<java.lang.Object> references)
        +
        Discards unused parts of the heap. Does nothing in the default implementation. + +

        This can be overridden to model discarding heap portions at call sites.

        +
        +
        Parameters:
        +
        references - information on the references to keep or discard, based on the + implementation. Unused in the default implementation
        +
        +
      • +
      + + + +
        +
      • +

        expand

        +
        default void expand​(JvmHeapAbstractState<StateT> otherState)
        +
        Expands the heap with references present in another state. Does nothing in the default + implementation. + +

        This can be overridden to model recovering information discarded at call sites when + analyzing a return site.

        +
        +
        Parameters:
        +
        otherState - a heap state from which expanding the heap (e.g. the state calling a method + to recover information discarded from it)
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/state/heap/package-summary.html b/api/proguard/analysis/cpa/jvm/state/heap/package-summary.html new file mode 100644 index 000000000..2e4e5f88d --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/package-summary.html @@ -0,0 +1,201 @@ + + + + + +proguard.analysis.cpa.jvm.state.heap (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.state.heap

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/state/heap/package-tree.html b/api/proguard/analysis/cpa/jvm/state/heap/package-tree.html new file mode 100644 index 000000000..024104a4f --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/package-tree.html @@ -0,0 +1,189 @@ + + + + + +proguard.analysis.cpa.jvm.state.heap Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.state.heap

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) +
        +
      • proguard.analysis.cpa.jvm.state.heap.HeapModel
      • +
      +
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/state/heap/tree/JvmShallowHeapAbstractState.html b/api/proguard/analysis/cpa/jvm/state/heap/tree/JvmShallowHeapAbstractState.html new file mode 100644 index 000000000..2b5a7d530 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/tree/JvmShallowHeapAbstractState.html @@ -0,0 +1,732 @@ + + + + + +JvmShallowHeapAbstractState (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmShallowHeapAbstractState<ReferenceT,​StateT extends LatticeAbstractState<StateT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState<ReferenceT,​StateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/state/heap/tree/package-summary.html b/api/proguard/analysis/cpa/jvm/state/heap/tree/package-summary.html new file mode 100644 index 000000000..3756720ea --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/tree/package-summary.html @@ -0,0 +1,166 @@ + + + + + +proguard.analysis.cpa.jvm.state.heap.tree (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.state.heap.tree

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    JvmShallowHeapAbstractState<ReferenceT,​StateT extends LatticeAbstractState<StateT>> +
    A shallow heap models objects as atomic abstract states thus having only one level of depth.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/state/heap/tree/package-tree.html b/api/proguard/analysis/cpa/jvm/state/heap/tree/package-tree.html new file mode 100644 index 000000000..cf960631f --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/tree/package-tree.html @@ -0,0 +1,161 @@ + + + + + +proguard.analysis.cpa.jvm.state.heap.tree Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.state.heap.tree

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/state/package-summary.html b/api/proguard/analysis/cpa/jvm/state/package-summary.html new file mode 100644 index 000000000..719e829b5 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/package-summary.html @@ -0,0 +1,191 @@ + + + + + +proguard.analysis.cpa.jvm.state (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.state

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/state/package-tree.html b/api/proguard/analysis/cpa/jvm/state/package-tree.html new file mode 100644 index 000000000..a7fc5aefb --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/package-tree.html @@ -0,0 +1,168 @@ + + + + + +proguard.analysis.cpa.jvm.state Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.state

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/transfer/JvmTransferRelation.InstructionAbstractInterpreter.html b/api/proguard/analysis/cpa/jvm/transfer/JvmTransferRelation.InstructionAbstractInterpreter.html new file mode 100644 index 000000000..38cd5e63b --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/transfer/JvmTransferRelation.InstructionAbstractInterpreter.html @@ -0,0 +1,504 @@ + + + + + +JvmTransferRelation.InstructionAbstractInterpreter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTransferRelation.InstructionAbstractInterpreter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.transfer.JvmTransferRelation.InstructionAbstractInterpreter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/transfer/JvmTransferRelation.html b/api/proguard/analysis/cpa/jvm/transfer/JvmTransferRelation.html new file mode 100644 index 000000000..d26e13fda --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/transfer/JvmTransferRelation.html @@ -0,0 +1,717 @@ + + + + + +JvmTransferRelation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmTransferRelation<StateT extends LatticeAbstractState<StateT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.transfer.JvmTransferRelation<StateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmTransferRelation

        +
        public JvmTransferRelation()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        calculateArithmeticInstruction

        +
        protected StateT calculateArithmeticInstruction​(Instruction instruction,
        +                                                java.util.List<StateT> operands)
        +
        Calculates the result of the instruction application. The default implementation computes join + over its arguments.
        +
      • +
      + + + + + +
        +
      • +

        computeIncrement

        +
        protected StateT computeIncrement​(StateT state,
        +                                  int value)
        +
        Returns the abstract state of the incremented input state by value. The default + implementation computes the join.
        +
      • +
      + + + +
        +
      • +

        getAbstractByteConstant

        +
        public StateT getAbstractByteConstant​(byte b)
        +
        Returns an abstract representation of a byte constant b.
        +
      • +
      + + + +
        +
      • +

        getAbstractDefault

        +
        public abstract StateT getAbstractDefault()
        +
        Returns a default abstract state. In case of lattice abstract domains, it should be the bottom + element.
        +
      • +
      + + + +
        +
      • +

        getAbstractDoubleConstant

        +
        public java.util.List<StateT> getAbstractDoubleConstant​(double d)
        +
        Returns an abstract representation of a double constant d.
        +
      • +
      + + + +
        +
      • +

        getAbstractFloatConstant

        +
        public StateT getAbstractFloatConstant​(float f)
        +
        Returns an abstract representation of a float constant f.
        +
      • +
      + + + +
        +
      • +

        getAbstractIntegerConstant

        +
        public StateT getAbstractIntegerConstant​(int i)
        +
        Returns an abstract representation of an integer constant i.
        +
      • +
      + + + +
        +
      • +

        getAbstractLongConstant

        +
        public java.util.List<StateT> getAbstractLongConstant​(long l)
        +
        Returns an abstract representation of a long constant l.
        +
      • +
      + + + +
        +
      • +

        getAbstractNull

        +
        public StateT getAbstractNull()
        +
        Returns an abstract representation of a null reference.
        +
      • +
      + + + +
        +
      • +

        getAbstractShortConstant

        +
        public StateT getAbstractShortConstant​(short s)
        +
        Returns an abstract representation of a short constant s.
        +
      • +
      + + + +
        +
      • +

        getAbstractReferenceValue

        +
        public StateT getAbstractReferenceValue​(java.lang.String className)
        +
        Returns an abstract representation of a reference value object.
        +
      • +
      + + + +
        +
      • +

        getAbstractReferenceValue

        +
        public StateT getAbstractReferenceValue​(java.lang.String className,
        +                                        Clazz referencedClazz,
        +                                        boolean mayBeExtension,
        +                                        boolean mayBeNull)
        +
        Returns an abstract representation of a reference value object.
        +
      • +
      + + + +
        +
      • +

        getAbstractReferenceValue

        +
        public StateT getAbstractReferenceValue​(java.lang.String className,
        +                                        Clazz referencedClazz,
        +                                        boolean mayBeExtension,
        +                                        boolean mayBeNull,
        +                                        Clazz creationClass,
        +                                        Method creationMethod,
        +                                        int creationOffset,
        +                                        java.lang.Object value)
        +
        Returns an abstract representation of a reference value object.
        +
      • +
      + + + +
        +
      • +

        processCall

        +
        protected void processCall​(JvmAbstractState<StateT> state,
        +                           Call call)
        +
        Pops the arguments from the operand stack and passes them to invokeMethod.
        +
      • +
      + + + +
        +
      • +

        invokeMethod

        +
        public void invokeMethod​(JvmAbstractState<StateT> state,
        +                         Call call,
        +                         java.util.List<StateT> operands)
        +
        The default implementation computes join over its arguments.
        +
      • +
      + + + + + +
        +
      • +

        isInstanceOf

        +
        protected StateT isInstanceOf​(StateT state,
        +                              java.lang.String type)
        +
        Returns an abstract state representing the result of the instanceof operation.
        +
      • +
      + + + + + +
        +
      • +

        handleCheckCast

        +
        protected StateT handleCheckCast​(StateT state,
        +                                 java.lang.String typeName)
        +
        Returns an abstract state representing the result of the checkcast operation.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/transfer/package-summary.html b/api/proguard/analysis/cpa/jvm/transfer/package-summary.html new file mode 100644 index 000000000..597985b24 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/transfer/package-summary.html @@ -0,0 +1,167 @@ + + + + + +proguard.analysis.cpa.jvm.transfer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.transfer

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/transfer/package-tree.html b/api/proguard/analysis/cpa/jvm/transfer/package-tree.html new file mode 100644 index 000000000..97e878d82 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/transfer/package-tree.html @@ -0,0 +1,162 @@ + + + + + +proguard.analysis.cpa.jvm.transfer Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.transfer

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/util/CfaUtil.html b/api/proguard/analysis/cpa/jvm/util/CfaUtil.html new file mode 100644 index 000000000..43fda6387 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/CfaUtil.html @@ -0,0 +1,568 @@ + + + + + +CfaUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CfaUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.util.CfaUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class CfaUtil
    +extends java.lang.Object
    +
    This is a util class for creating Cfas.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CfaUtil

        +
        public CfaUtil()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createIntraproceduralCfaFromClassPool

        +
        @Deprecated
        +public static JvmCfa createIntraproceduralCfaFromClassPool​(ClassPool programClassPool)
        +
        Deprecated.
        +
        Returns a CFA for the given program class pool.
        +
        +
        Parameters:
        +
        programClassPool - a program class pool
        +
        +
      • +
      + + + +
        +
      • +

        createIntraproceduralCfa

        +
        public static JvmCfa createIntraproceduralCfa​(ClassPool programClassPool)
        +
        Returns a CFA for the given program class pool.
        +
        +
        Parameters:
        +
        programClassPool - a program class pool
        +
        +
      • +
      + + + +
        +
      • +

        createIntraproceduralCfaFromClassPool

        +
        @Deprecated
        +public static JvmCfa createIntraproceduralCfaFromClassPool​(ClassPool programClassPool,
        +                                                           java.util.function.Supplier<java.lang.Boolean> shouldAnalyzeNextCodeAttribute)
        +
        Deprecated.
        +
        Returns a CFA for the given program class pool. Allows to limit the number of processed code + attributes with shouldAnalyzeNextCodeAttribute.
        +
        +
        Parameters:
        +
        programClassPool - a program class pool
        +
        +
      • +
      + + + +
        +
      • +

        createIntraproceduralCfa

        +
        public static JvmCfa createIntraproceduralCfa​(ClassPool programClassPool,
        +                                              java.util.function.Supplier<java.lang.Boolean> shouldAnalyzeNextCodeAttribute)
        +
        Returns a CFA for the given program class pool. Allows to limit the number of processed code + attributes with shouldAnalyzeNextCodeAttribute.
        +
        +
        Parameters:
        +
        programClassPool - a program class pool
        +
        +
      • +
      + + + +
        +
      • +

        addInterproceduralEdgesToCfa

        +
        public static void addInterproceduralEdgesToCfa​(JvmCfa cfa,
        +                                                CallGraph callGraph)
        +
        Adds interprocedural arcs to the given CFA from the call graph.
        +
        +
        Parameters:
        +
        cfa - a CFA
        +
        callGraph - a call graph
        +
        +
      • +
      + + + +
        +
      • +

        createInterproceduralCfaFromClassPoolAndCallGraph

        +
        @Deprecated
        +public static JvmCfa createInterproceduralCfaFromClassPoolAndCallGraph​(ClassPool programClassPool,
        +                                                                       CallGraph callGraph)
        +
        Deprecated.
        +
        Create an interprocedural CFA from the given program class pool and call graph.
        +
        +
        Parameters:
        +
        programClassPool - a program class pool
        +
        callGraph - a call graph
        +
        +
      • +
      + + + +
        +
      • +

        createInterproceduralCfa

        +
        public static JvmCfa createInterproceduralCfa​(ClassPool programClassPool,
        +                                              CallGraph callGraph)
        +
        Create an interprocedural CFA from the given program class pool and call graph.
        +
        +
        Parameters:
        +
        programClassPool - a program class pool
        +
        callGraph - a call graph
        +
        +
      • +
      + + + +
        +
      • +

        createInterproceduralCfaFromClassPool

        +
        @Deprecated
        +public static JvmCfa createInterproceduralCfaFromClassPool​(ClassPool programClassPool)
        +
        Deprecated.
        +
        Create an interprocedural CFA from the given program class pool.
        +
        +
        Parameters:
        +
        programClassPool - a program class pool
        +
        +
      • +
      + + + +
        +
      • +

        createInterproceduralCfa

        +
        public static JvmCfa createInterproceduralCfa​(ClassPool programClassPool)
        +
        Create an interprocedural CFA from the given program class pool.
        +
        +
        Parameters:
        +
        programClassPool - a program class pool
        +
        +
      • +
      + + + +
        +
      • +

        createInterproceduralCfaFromClassPool

        +
        @Deprecated
        +public static JvmCfa createInterproceduralCfaFromClassPool​(ClassPool programClassPool,
        +                                                           ClassPool libraryClassPool)
        +
        Deprecated.
        +
        Create an interprocedural CFA from the given program class pool.
        +
        +
        Parameters:
        +
        programClassPool - a program class pool
        +
        +
      • +
      + + + +
        +
      • +

        createInterproceduralCfa

        +
        public static JvmCfa createInterproceduralCfa​(ClassPool programClassPool,
        +                                              ClassPool libraryClassPool)
        +
        Create an interprocedural CFA from the given program class pool.
        +
        +
        Parameters:
        +
        programClassPool - a program class pool
        +
        +
      • +
      + + + +
        +
      • +

        toDot

        +
        public static java.lang.String toDot​(JvmCfa cfa)
        +
        Produces a DOT graph representation of the given JVM control flow automaton.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/util/ConstantLookupVisitor.html b/api/proguard/analysis/cpa/jvm/util/ConstantLookupVisitor.html new file mode 100644 index 000000000..13df1c8e9 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/ConstantLookupVisitor.html @@ -0,0 +1,442 @@ + + + + + +ConstantLookupVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantLookupVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.util.ConstantLookupVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor
    +
    +
    +
    public class ConstantLookupVisitor
    +extends java.lang.Object
    +implements ConstantVisitor
    +
    This ConstantVisitor is used for field operations and the instanceOf predicate. + The result stores the fully qualified name for either a class or a field. The resultSize is the size of the referenced type in bytes.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        result

        +
        public java.lang.String result
        +
      • +
      + + + +
        +
      • +

        resultClazz

        +
        public Clazz resultClazz
        +
      • +
      + + + +
        +
      • +

        resultSize

        +
        public int resultSize
        +
      • +
      + + + +
        +
      • +

        isStatic

        +
        public boolean isStatic
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConstantLookupVisitor

        +
        public ConstantLookupVisitor()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/util/InstructionClassifier.html b/api/proguard/analysis/cpa/jvm/util/InstructionClassifier.html new file mode 100644 index 000000000..b6a959117 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/InstructionClassifier.html @@ -0,0 +1,350 @@ + + + + + +InstructionClassifier (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionClassifier

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.util.InstructionClassifier
    • +
    +
  • +
+
+
    +
  • +
    +
    public class InstructionClassifier
    +extends java.lang.Object
    +
    Util for operations involving Instruction.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static booleanisInvoke​(byte opcode) 
      static booleanisLongShift​(byte opcode) 
      static booleanisReturn​(byte opcode) 
      static booleanisTypedReturn​(byte opcode) +
      Checks if the opcode is nonvoid return.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InstructionClassifier

        +
        public InstructionClassifier()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isReturn

        +
        public static boolean isReturn​(byte opcode)
        +
      • +
      + + + +
        +
      • +

        isTypedReturn

        +
        public static boolean isTypedReturn​(byte opcode)
        +
        Checks if the opcode is nonvoid return.
        +
      • +
      + + + +
        +
      • +

        isInvoke

        +
        public static boolean isInvoke​(byte opcode)
        +
      • +
      + + + +
        +
      • +

        isLongShift

        +
        public static boolean isLongShift​(byte opcode)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/util/JvmBamCpaRun.Builder.html b/api/proguard/analysis/cpa/jvm/util/JvmBamCpaRun.Builder.html new file mode 100644 index 000000000..42b033e2a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/JvmBamCpaRun.Builder.html @@ -0,0 +1,489 @@ + + + + + +JvmBamCpaRun.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmBamCpaRun.Builder

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/util/JvmBamCpaRun.html b/api/proguard/analysis/cpa/jvm/util/JvmBamCpaRun.html new file mode 100644 index 000000000..861d8d559 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/JvmBamCpaRun.html @@ -0,0 +1,528 @@ + + + + + +JvmBamCpaRun (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmBamCpaRun<CpaT extends ConfigurableProgramAnalysis,​AbstractStateT extends LatticeAbstractState<AbstractStateT>,​OuterAbstractStateT extends AbstractState>

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/util/package-summary.html b/api/proguard/analysis/cpa/jvm/util/package-summary.html new file mode 100644 index 000000000..e6651918a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/package-summary.html @@ -0,0 +1,191 @@ + + + + + +proguard.analysis.cpa.jvm.util (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.util

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/util/package-tree.html b/api/proguard/analysis/cpa/jvm/util/package-tree.html new file mode 100644 index 000000000..fd3bc0f08 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/package-tree.html @@ -0,0 +1,177 @@ + + + + + +proguard.analysis.cpa.jvm.util Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.util

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/jvm/witness/JvmHeapLocation.html b/api/proguard/analysis/cpa/jvm/witness/JvmHeapLocation.html new file mode 100644 index 000000000..5cac36f01 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/JvmHeapLocation.html @@ -0,0 +1,451 @@ + + + + + +JvmHeapLocation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmHeapLocation

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmHeapLocation

        +
        public JvmHeapLocation​(SetAbstractState<Reference> reference,
        +                       java.lang.String field)
        +
        Create a heap location.
        +
        +
        Parameters:
        +
        reference - a reference to dynamic memory
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        extractValueOrDefault

        +
        public <T extends LatticeAbstractState<T>> T extractValueOrDefault​(JvmAbstractState<T> jvmState,
        +                                                                   T defaultValue)
        +
        Description copied from class: JvmMemoryLocation
        +
        Given a JVM state, extract its content in the position represented by this JvmMemoryLocation.
        +
        +
        Specified by:
        +
        extractValueOrDefault in class JvmMemoryLocation
        +
        Type Parameters:
        +
        T - The type of the states contained in the JVM state. e.g., for taint analysis this + would be a SetAbstractState containing the taints + and for value analysis a ValueAbstractState.
        +
        Parameters:
        +
        jvmState - The state from which the value is extracted.
        +
        defaultValue - The value returned if it's not possible to extract the value.
        +
        Returns:
        +
        The value from the JVM abstract state for the memory location represented by this + object. Or default value if not possible.
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object obj)
        +
        +
        Specified by:
        +
        equals in class JvmMemoryLocation
        +
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/witness/JvmLocalVariableLocation.html b/api/proguard/analysis/cpa/jvm/witness/JvmLocalVariableLocation.html new file mode 100644 index 000000000..8ba5ef0f4 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/JvmLocalVariableLocation.html @@ -0,0 +1,435 @@ + + + + + +JvmLocalVariableLocation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmLocalVariableLocation

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      intindex 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      JvmLocalVariableLocation​(int index) +
      Create a local variable location.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        index

        +
        public final int index
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmLocalVariableLocation

        +
        public JvmLocalVariableLocation​(int index)
        +
        Create a local variable location.
        +
        +
        Parameters:
        +
        index - a position at the local variable array
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        extractValueOrDefault

        +
        public <T extends LatticeAbstractState<T>> T extractValueOrDefault​(JvmAbstractState<T> jvmState,
        +                                                                   T defaultValue)
        +
        Description copied from class: JvmMemoryLocation
        +
        Given a JVM state, extract its content in the position represented by this JvmMemoryLocation.
        +
        +
        Specified by:
        +
        extractValueOrDefault in class JvmMemoryLocation
        +
        Type Parameters:
        +
        T - The type of the states contained in the JVM state. e.g., for taint analysis this + would be a SetAbstractState containing the taints + and for value analysis a ValueAbstractState.
        +
        Parameters:
        +
        jvmState - The state from which the value is extracted.
        +
        defaultValue - The value returned if it's not possible to extract the value.
        +
        Returns:
        +
        The value from the JVM abstract state for the memory location represented by this + object. Or default value if not possible.
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object obj)
        +
        +
        Specified by:
        +
        equals in class JvmMemoryLocation
        +
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/witness/JvmMemoryLocation.html b/api/proguard/analysis/cpa/jvm/witness/JvmMemoryLocation.html new file mode 100644 index 000000000..45e84ea7a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/JvmMemoryLocation.html @@ -0,0 +1,383 @@ + + + + + +JvmMemoryLocation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmMemoryLocation

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.witness.JvmMemoryLocation
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmMemoryLocation

        +
        public JvmMemoryLocation()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        extractValueOrDefault

        +
        public abstract <T extends LatticeAbstractState<T>> T extractValueOrDefault​(JvmAbstractState<T> jvmState,
        +                                                                            T defaultValue)
        +
        Given a JVM state, extract its content in the position represented by this JvmMemoryLocation.
        +
        +
        Type Parameters:
        +
        T - The type of the states contained in the JVM state. e.g., for taint analysis this + would be a SetAbstractState containing the taints + and for value analysis a ValueAbstractState.
        +
        Parameters:
        +
        jvmState - The state from which the value is extracted.
        +
        defaultValue - The value returned if it's not possible to extract the value.
        +
        Returns:
        +
        The value from the JVM abstract state for the memory location represented by this + object. Or default value if not possible.
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public abstract boolean equals​(java.lang.Object obj)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public abstract int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public abstract java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/witness/JvmStackLocation.html b/api/proguard/analysis/cpa/jvm/witness/JvmStackLocation.html new file mode 100644 index 000000000..d02aeb0b8 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/JvmStackLocation.html @@ -0,0 +1,453 @@ + + + + + +JvmStackLocation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmStackLocation

+
+
+ +
+
    +
  • +
    +
    public class JvmStackLocation
    +extends JvmMemoryLocation
    +
    The JvmStackLocation is a memory location at the operand stack. Indexing starts from the + top of the stack.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      intindex 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      JvmStackLocation​(int index) +
      Create a stack location.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        index

        +
        public final int index
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmStackLocation

        +
        public JvmStackLocation​(int index)
        +
        Create a stack location.
        +
        +
        Parameters:
        +
        index - a stack element index from the top
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        extractValueOrDefault

        +
        public <T extends LatticeAbstractState<T>> T extractValueOrDefault​(JvmAbstractState<T> jvmState,
        +                                                                   T defaultValue)
        +
        Description copied from class: JvmMemoryLocation
        +
        Given a JVM state, extract its content in the position represented by this JvmMemoryLocation.
        +
        +
        Specified by:
        +
        extractValueOrDefault in class JvmMemoryLocation
        +
        Type Parameters:
        +
        T - The type of the states contained in the JVM state. e.g., for taint analysis this + would be a SetAbstractState containing the taints + and for value analysis a ValueAbstractState.
        +
        Parameters:
        +
        jvmState - The state from which the value is extracted.
        +
        defaultValue - The value returned if it's not possible to extract the value.
        +
        Returns:
        +
        The value from the JVM abstract state for the memory location represented by this + object. Or default value if not possible.
        +
        +
      • +
      + + + +
        +
      • +

        getIndex

        +
        public int getIndex()
        +
        Returns the stack index from the top.
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object obj)
        +
        +
        Specified by:
        +
        equals in class JvmMemoryLocation
        +
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/witness/JvmStaticFieldLocation.html b/api/proguard/analysis/cpa/jvm/witness/JvmStaticFieldLocation.html new file mode 100644 index 000000000..84a8bd3f4 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/JvmStaticFieldLocation.html @@ -0,0 +1,435 @@ + + + + + +JvmStaticFieldLocation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JvmStaticFieldLocation

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      java.lang.Stringfqn 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      JvmStaticFieldLocation​(java.lang.String fqn) +
      Create a static field location.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        fqn

        +
        public final java.lang.String fqn
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmStaticFieldLocation

        +
        public JvmStaticFieldLocation​(java.lang.String fqn)
        +
        Create a static field location.
        +
        +
        Parameters:
        +
        fqn - a fully qualified name
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        extractValueOrDefault

        +
        public <T extends LatticeAbstractState<T>> T extractValueOrDefault​(JvmAbstractState<T> jvmState,
        +                                                                   T defaultValue)
        +
        Description copied from class: JvmMemoryLocation
        +
        Given a JVM state, extract its content in the position represented by this JvmMemoryLocation.
        +
        +
        Specified by:
        +
        extractValueOrDefault in class JvmMemoryLocation
        +
        Type Parameters:
        +
        T - The type of the states contained in the JVM state. e.g., for taint analysis this + would be a SetAbstractState containing the taints + and for value analysis a ValueAbstractState.
        +
        Parameters:
        +
        jvmState - The state from which the value is extracted.
        +
        defaultValue - The value returned if it's not possible to extract the value.
        +
        Returns:
        +
        The value from the JVM abstract state for the memory location represented by this + object. Or default value if not possible.
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object obj)
        +
        +
        Specified by:
        +
        equals in class JvmMemoryLocation
        +
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/jvm/witness/package-summary.html b/api/proguard/analysis/cpa/jvm/witness/package-summary.html new file mode 100644 index 000000000..eaf97c4c5 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/package-summary.html @@ -0,0 +1,190 @@ + + + + + +proguard.analysis.cpa.jvm.witness (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.jvm.witness

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/jvm/witness/package-tree.html b/api/proguard/analysis/cpa/jvm/witness/package-tree.html new file mode 100644 index 000000000..f5cc2d910 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/package-tree.html @@ -0,0 +1,168 @@ + + + + + +proguard.analysis.cpa.jvm.witness Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.jvm.witness

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/state/DifferentialMapAbstractStateFactory.html b/api/proguard/analysis/cpa/state/DifferentialMapAbstractStateFactory.html new file mode 100644 index 000000000..37f7bab3e --- /dev/null +++ b/api/proguard/analysis/cpa/state/DifferentialMapAbstractStateFactory.html @@ -0,0 +1,325 @@ + + + + + +DifferentialMapAbstractStateFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DifferentialMapAbstractStateFactory<KeyT,​StateT extends LatticeAbstractState<StateT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.state.DifferentialMapAbstractStateFactory<KeyT,​StateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/state/HashMapAbstractStateFactory.html b/api/proguard/analysis/cpa/state/HashMapAbstractStateFactory.html new file mode 100644 index 000000000..033ac3755 --- /dev/null +++ b/api/proguard/analysis/cpa/state/HashMapAbstractStateFactory.html @@ -0,0 +1,292 @@ + + + + + +HashMapAbstractStateFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class HashMapAbstractStateFactory<KeyT,​StateT extends LatticeAbstractState<StateT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.state.HashMapAbstractStateFactory<KeyT,​StateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/state/LimitedHashMapAbstractStateFactory.html b/api/proguard/analysis/cpa/state/LimitedHashMapAbstractStateFactory.html new file mode 100644 index 000000000..9bdda6523 --- /dev/null +++ b/api/proguard/analysis/cpa/state/LimitedHashMapAbstractStateFactory.html @@ -0,0 +1,318 @@ + + + + + +LimitedHashMapAbstractStateFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LimitedHashMapAbstractStateFactory<KeyT,​AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.state.LimitedHashMapAbstractStateFactory<KeyT,​AbstractSpaceT>
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/analysis/cpa/state/MapAbstractStateFactory.html b/api/proguard/analysis/cpa/state/MapAbstractStateFactory.html new file mode 100644 index 000000000..959591f0a --- /dev/null +++ b/api/proguard/analysis/cpa/state/MapAbstractStateFactory.html @@ -0,0 +1,256 @@ + + + + + +MapAbstractStateFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface MapAbstractStateFactory<KeyT,​StateT extends LatticeAbstractState<StateT>>

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/state/package-summary.html b/api/proguard/analysis/cpa/state/package-summary.html new file mode 100644 index 000000000..1df1bba44 --- /dev/null +++ b/api/proguard/analysis/cpa/state/package-summary.html @@ -0,0 +1,195 @@ + + + + + +proguard.analysis.cpa.state (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.state

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/state/package-tree.html b/api/proguard/analysis/cpa/state/package-tree.html new file mode 100644 index 000000000..2f7204130 --- /dev/null +++ b/api/proguard/analysis/cpa/state/package-tree.html @@ -0,0 +1,169 @@ + + + + + +proguard.analysis.cpa.state Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.state

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/cpa/util/StateNames.html b/api/proguard/analysis/cpa/util/StateNames.html new file mode 100644 index 000000000..68a015974 --- /dev/null +++ b/api/proguard/analysis/cpa/util/StateNames.html @@ -0,0 +1,265 @@ + + + + + +StateNames (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface StateNames

+
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      static java.lang.StringJvm 
      static java.lang.StringReference 
      +
    • +
    +
    +
  • +
+
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/util/TriFunction.html b/api/proguard/analysis/cpa/util/TriFunction.html new file mode 100644 index 000000000..2cab286b0 --- /dev/null +++ b/api/proguard/analysis/cpa/util/TriFunction.html @@ -0,0 +1,263 @@ + + + + + +TriFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface TriFunction<T,​U,​V,​R>

+
+
+
+
    +
  • +
    +
    Functional Interface:
    +
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
    +
    +
    +
    @FunctionalInterface
    +public interface TriFunction<T,​U,​V,​R>
    +
    A function taking three parameters.
    +
  • +
+
+
+
    +
  • + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        apply

        +
        R apply​(T t,
        +        U u,
        +        V v)
        +
        Returns the result of the function on given arguments
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/util/TriPredicate.html b/api/proguard/analysis/cpa/util/TriPredicate.html new file mode 100644 index 000000000..d7e73779e --- /dev/null +++ b/api/proguard/analysis/cpa/util/TriPredicate.html @@ -0,0 +1,314 @@ + + + + + +TriPredicate (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface TriPredicate<T,​U,​V>

+
+
+
+
    +
  • +
    +
    Functional Interface:
    +
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
    +
    +
    +
    @FunctionalInterface
    +public interface TriPredicate<T,​U,​V>
    +
    A predicate taking three parameters.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        test

        +
        boolean test​(T t,
        +             U u,
        +             V v)
        +
        Returns the result of the predicate on given arguments.
        +
      • +
      + + + +
        +
      • +

        and

        +
        default TriPredicate<T,​U,​V> and​(TriPredicate<? super T,​? super U,​? super V> other)
        +
        Returns a conjunction of this and other.
        +
      • +
      + + + +
        +
      • +

        negate

        +
        default TriPredicate<T,​U,​V> negate()
        +
        Returns a negation of this
        +
      • +
      + + + +
        +
      • +

        or

        +
        default TriPredicate<T,​U,​V> or​(TriPredicate<? super T,​? super U,​? super V> other)
        +
        Returns a disjunction of this and other.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/analysis/cpa/util/package-summary.html b/api/proguard/analysis/cpa/util/package-summary.html new file mode 100644 index 000000000..27d8099aa --- /dev/null +++ b/api/proguard/analysis/cpa/util/package-summary.html @@ -0,0 +1,178 @@ + + + + + +proguard.analysis.cpa.util (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.cpa.util

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/analysis/cpa/util/package-tree.html b/api/proguard/analysis/cpa/util/package-tree.html new file mode 100644 index 000000000..9fbca3a08 --- /dev/null +++ b/api/proguard/analysis/cpa/util/package-tree.html @@ -0,0 +1,159 @@ + + + + + +proguard.analysis.cpa.util Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.cpa.util

+Package Hierarchies: + +
+
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/analysis/datastructure/CodeLocation.html b/api/proguard/analysis/datastructure/CodeLocation.html new file mode 100644 index 000000000..8121536ba --- /dev/null +++ b/api/proguard/analysis/datastructure/CodeLocation.html @@ -0,0 +1,568 @@ + + + + + +CodeLocation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CodeLocation

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Comparable<Location>
    +
    +
    +
    public class CodeLocation
    +extends Location
    +
    Represents a unique location in the bytecode. It comprises the Clazz and Member + where it is contained, the offset therein and the corresponding line number in the source file + (Location.UNKNOWN_LINE if it is unknown). Consider the following pseudo-bytecode example + which contains code location comments: + +
    
    + public class Test
    + {
    +     // class "Test", member "field", line 3, offset 0
    +     public String field;
    +
    +     public String toString()
    +     {
    +         // class "Test", member "toString", line 6, offset 0
    +         aload_0
    +         // class "Test", member "toString", line 6, offset 1
    +         getfield #1 &lt;Test.field : Ljava/lang/String;&gt;
    +         // class "Test", member "toString", line 6, offset 4
    +         areturn
    +     }
    + }
    +
    + 
    + +
      +
    • Inside methods: Like each location, instructions inside methods have a line number. + But as there may be several expressions on the same line, to correctly identify each + instruction we also need their bytecode offset. E.g. the getfield instruction + inside toString() has the offset 1. +
    • Fields: In this case Test#field. A field location has a line number (3 in + this example) but no offset, as this concept is only applicable to methods. +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        clazz

        +
        public final Clazz clazz
        +
      • +
      + + + +
        +
      • +

        member

        +
        public final Member member
        +
      • +
      + + + +
        +
      • +

        offset

        +
        public final int offset
        +
      • +
      + + + +
        +
      • +

        signature

        +
        public final Signature signature
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CodeLocation

        +
        public CodeLocation​(Clazz clazz,
        +                    Member member,
        +                    int offset)
        +
        Create a code location with an unknown (Location.UNKNOWN_LINE) line number.
        +
      • +
      + + + +
        +
      • +

        CodeLocation

        +
        public CodeLocation​(Clazz clazz,
        +                    Member member,
        +                    int offset,
        +                    int line)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getExternalClassName

        +
        public java.lang.String getExternalClassName()
        +
      • +
      + + + +
        +
      • +

        getMemberName

        +
        public java.lang.String getMemberName()
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Description copied from class: Location
        +
        Returns the name of the location, e.g., the signature of a CodeLocation, or the filename of a + FileLocation
        +
        +
        Specified by:
        +
        getName in class Location
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        compareTo

        +
        public int compareTo​(Location o)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/datastructure/FileLocation.html b/api/proguard/analysis/datastructure/FileLocation.html new file mode 100644 index 000000000..f765fc134 --- /dev/null +++ b/api/proguard/analysis/datastructure/FileLocation.html @@ -0,0 +1,489 @@ + + + + + +FileLocation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FileLocation

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Comparable<Location>
    +
    +
    +
    public class FileLocation
    +extends Location
    +
    Represents a unique location in a file, e.g. JAR/APK resources. They comprise the name of the + containing file and the line therein.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      FileLocation​(java.lang.String filename, + int line) 
      FileLocation​(java.lang.String filename, + int line, + java.lang.String obfuscatedFilename) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      intcompareTo​(Location o) 
      booleanequals​(java.lang.Object o) 
      java.lang.StringgetName() +
      Returns the name of the location, e.g., the signature of a CodeLocation, or the filename of a + FileLocation
      +
      java.lang.StringgetOriginalFilename() 
      inthashCode() 
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        filename

        +
        public final java.lang.String filename
        +
      • +
      + + + +
        +
      • +

        obfuscatedFilename

        +
        public java.lang.String obfuscatedFilename
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FileLocation

        +
        public FileLocation​(java.lang.String filename,
        +                    int line)
        +
      • +
      + + + +
        +
      • +

        FileLocation

        +
        public FileLocation​(java.lang.String filename,
        +                    int line,
        +                    java.lang.String obfuscatedFilename)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Description copied from class: Location
        +
        Returns the name of the location, e.g., the signature of a CodeLocation, or the filename of a + FileLocation
        +
        +
        Specified by:
        +
        getName in class Location
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        compareTo

        +
        public int compareTo​(Location o)
        +
      • +
      + + + +
        +
      • +

        getOriginalFilename

        +
        public java.lang.String getOriginalFilename()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/datastructure/Location.html b/api/proguard/analysis/datastructure/Location.html new file mode 100644 index 000000000..e309e6c46 --- /dev/null +++ b/api/proguard/analysis/datastructure/Location.html @@ -0,0 +1,389 @@ + + + + + +Location (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Location

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.datastructure.Location
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Comparable<Location>
    +
    +
    +
    Direct Known Subclasses:
    +
    CodeLocation, FileLocation
    +
    +
    +
    public abstract class Location
    +extends java.lang.Object
    +implements java.lang.Comparable<Location>
    +
    Helper data structure that makes it possible to identify specific places inside a program, either + inside the bytecode (CodeLocation) or some other file, e.g. JAR/APK resources (FileLocation).
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      intline 
      static intUNKNOWN_LINE 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + +
      Constructors 
      ModifierConstructorDescription
      protected Location​(int line) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      abstract java.lang.StringgetName() +
      Returns the name of the location, e.g., the signature of a CodeLocation, or the filename of a + FileLocation
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
        +
      • + + +

        Methods inherited from interface java.lang.Comparable

        +compareTo
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + +
        +
      • +

        line

        +
        public final int line
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Location

        +
        protected Location​(int line)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public abstract java.lang.String getName()
        +
        Returns the name of the location, e.g., the signature of a CodeLocation, or the filename of a + FileLocation
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/datastructure/callgraph/Call.html b/api/proguard/analysis/datastructure/callgraph/Call.html new file mode 100644 index 000000000..0f84ec111 --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/Call.html @@ -0,0 +1,754 @@ + + + + + +Call (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.datastructure.callgraph.Call
    • +
    +
  • +
+
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    ConcreteCall, SymbolicCall
    +
    +
    +
    public abstract class Call
    +extends java.lang.Object
    +
    Represents a method call. If the call target is a Method that is present in the class + pool, a ConcreteCall is instantiated. If the call target is not a known method, a SymbolicCall is the appropriate subclass.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      CodeLocationcaller +
      The location where the call was invoked.
      +
      booleancontrolFlowDependent +
      If false, control flow in the calling method will always reach this call.
      +
      Instructioninstruction +
      The instruction performing this call.
      +
      booleanruntimeTypeDependent +
      If true, this call might only be one of several alternative targets, depending on the actual + type of the called object during runtime.
      +
      intthrowsNullptr +
      Describes whether this call will throw a NullPointerException at runtime.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + +
      Constructors 
      ModifierConstructorDescription
      protected Call​(CodeLocation caller, + Value instance, + java.util.List<Value> arguments, + Value returnValue, + int throwsNullptr, + Instruction instruction, + boolean controlFlowDependent, + boolean runtimeTypeDependent) 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        caller

        +
        public final CodeLocation caller
        +
        The location where the call was invoked.
        +
      • +
      + + + +
        +
      • +

        throwsNullptr

        +
        public final int throwsNullptr
        +
        Describes whether this call will throw a NullPointerException at runtime. Either Value.NEVER, Value.MAYBE or Value.ALWAYS.
        +
      • +
      + + + + + + + +
        +
      • +

        controlFlowDependent

        +
        public final boolean controlFlowDependent
        +
        If false, control flow in the calling method will always reach this call. Otherwise, whether + the call will be invoked at runtime might depend on e.g. specific branches being taken.
        +
      • +
      + + + +
        +
      • +

        runtimeTypeDependent

        +
        public final boolean runtimeTypeDependent
        +
        If true, this call might only be one of several alternative targets, depending on the actual + type of the called object during runtime. Otherwise, this call is the only possible target.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Call

        +
        protected Call​(CodeLocation caller,
        +               Value instance,
        +               java.util.List<Value> arguments,
        +               Value returnValue,
        +               int throwsNullptr,
        +               Instruction instruction,
        +               boolean controlFlowDependent,
        +               boolean runtimeTypeDependent)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isStatic

        +
        public boolean isStatic()
        +
        Check if this call is static (no implicit instance set) or not.
        +
      • +
      + + + + + + + +
        +
      • +

        hasIncompleteTarget

        +
        public abstract boolean hasIncompleteTarget()
        +
        Check if this call's target is fully known or only parts of it (e.g. only the descriptor).
        +
      • +
      + + + +
        +
      • +

        getArgumentCount

        +
        public int getArgumentCount()
        +
        Returns the number of arguments.
        +
      • +
      + + + +
        +
      • +

        getJvmArgumentSize

        +
        public int getJvmArgumentSize()
        +
        Returns the number of elements that need to be popped from the JVM stack for this call.
        +
      • +
      + + + +
        +
      • +

        getArgument

        +
        public Value getArgument​(int index)
        +
        Get the value for a specific argument index. + +

        Note: This is only to be used in implementations of CallHandler.handleCall(Call, TracedStack, TracedVariables). Afterwards, the values will have + been cleared to reduce unnecessary memory usage, as argument values are not needed for the full + call graph reconstruction.

        +
      • +
      + + + +
        +
      • +

        setArguments

        +
        public void setArguments​(java.util.List<Value> arguments)
        +
      • +
      + + + +
        +
      • +

        getInstance

        +
        public Value getInstance()
        +
        If this is a virtual call, this describes the this pointer of the object whose + method is called, usually an IdentifiedReferenceValue. For static calls this is null. + +

        Note: This is only to be used in implementations of CallHandler.handleCall(Call, TracedStack, TracedVariables). Afterwards, the value will have + been cleared to reduce unnecessary memory usage, as the instance value is not needed for the + full call graph reconstruction.

        +
      • +
      + + + +
        +
      • +

        setInstance

        +
        public void setInstance​(Value instance)
        +
      • +
      + + + +
        +
      • +

        getReturnValue

        +
        public Value getReturnValue()
        +
        Get the return value of this call. + +

        Note: This is only to be used in implementations of CallHandler.handleCall(Call, TracedStack, TracedVariables). Afterwards, the value will have + been cleared to reduce unnecessary memory usage, as the return value is not needed for the full + call graph reconstruction.

        +
      • +
      + + + +
        +
      • +

        setReturnValue

        +
        public void setReturnValue​(Value returnValue)
        +
      • +
      + + + +
        +
      • +

        clearValues

        +
        public void clearValues()
        +
        Clear all Value object references from this call.
        +
      • +
      + + + +
        +
      • +

        isCertainlyCalled

        +
        public boolean isCertainlyCalled()
        +
        Returns true if this call is always executed, no matter which branch in the methods are taken + and which type the called object has during runtime.
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toSimpleString

        +
        public java.lang.String toSimpleString()
        +
        Prints a shorter version of the regular `toString()` without the caller or null pointer + information.
        +
      • +
      + + + +
        +
      • +

        targetMethodAccept

        +
        public void targetMethodAccept​(MemberVisitor memberVisitor)
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/datastructure/callgraph/CallGraph.html b/api/proguard/analysis/datastructure/callgraph/CallGraph.html new file mode 100644 index 000000000..a54344a0c --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/CallGraph.html @@ -0,0 +1,549 @@ + + + + + +CallGraph (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CallGraph

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.datastructure.callgraph.CallGraph
    • +
    +
  • +
+
+
    +
  • +
    +
    public class CallGraph
    +extends java.lang.Object
    +
    Collection of all Calls in a program, optimized for retrieval of incoming and outgoing + edges for any method in constant time.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CallGraph

        +
        public CallGraph()
        +
        Create an empty call graph.
        +
      • +
      + + + +
        +
      • +

        CallGraph

        +
        protected CallGraph​(java.util.Map<MethodSignature,​java.util.Set<Call>> incoming,
        +                    java.util.Map<MethodSignature,​java.util.Set<Call>> outgoing,
        +                    boolean concurrent)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        concurrentCallGraph

        +
        public static CallGraph concurrentCallGraph()
        +
        Provides concurrency ready CallGraph, backed by ConcurrentHashMaps and by + synchronizedSets. Not needed without multithreading.
        +
      • +
      + + + +
        +
      • +

        addCall

        +
        public void addCall​(Call call)
        +
        Add a Call to this call graph.
        +
        +
        Parameters:
        +
        call - The call to be added.
        +
        +
      • +
      + + + +
        +
      • +

        clear

        +
        public void clear()
        +
        Clear the call graph references.
        +
      • +
      + + + + + + + +
        +
      • +

        reconstructCallGraph

        +
        public Node reconstructCallGraph​(ClassPool programClassPool,
        +                                 MethodSignature start,
        +                                 int maxDepth,
        +                                 int maxWidth,
        +                                 java.util.Set<MethodSignature> stopMethods)
        +
        Calculate the incoming call graph for a method of interest, showing how it can be reached from + a given Set of stop methods, which typically are Android lifecycle methods such as an + Activity's onCreate() method: + +

        We have an inverted tree structure like the following example: + +

        
        + onCreate() <-- predecessor -- proxy() <-- predecessor -- root()
        +                            onResume() <-- predecessor ----|  |
        +                        unusedMethod() <-- predecessor -------|
        +
        + 
        + + Here, root() is the method whose call graph is to be calculated, and the graph now + shows that it can be reached from onCreate() via proxy(), and also directly + from onResume() or unusedMethod().
        +
        +
        Parameters:
        +
        programClassPool - The current ClassPool of the program that can be used for + mapping. class names to the actual Clazz.
        +
        start - The MethodSignature of the method whose incoming call graph should be + calculated.
        +
        maxDepth - maximal depth of reconstructed CallGraph similar to CallGraphWalker.MAX_DEPTH_DEFAULT.
        +
        maxWidth - maximal width of reconstructed CallGraph similar to CallGraphWalker.MAX_WIDTH_DEFAULT.
        +
        stopMethods - Set of method signatures to stop exploration, for example for entry points
        +
        Returns:
        +
        A Node that represents the single call graph root, i.e. the start method.
        +
        +
      • +
      + + + +
        +
      • +

        reconstructCallGraph

        +
        public Node reconstructCallGraph​(ClassPool programClassPool,
        +                                 MethodSignature start,
        +                                 java.util.Set<MethodSignature> stopMethods,
        +                                 java.util.Set<MethodSignature> reachedMethods)
        +
        Extension of reconstructCallGraph(ClassPool, MethodSignature, Set) that also collects + all reached stop methods.
        +
        +
        Parameters:
        +
        programClassPool - The current ClassPool of the program that can be used for + mapping.
        +
        start - The MethodSignature of the method whose incoming call graph should be + calculated.
        +
        stopMethods - A set of MethodSignature to stop exploration, e.g. app entry points
        +
        reachedMethods - A set that will be filled with all reached stop methods
        +
        Returns:
        +
        A Node that represents the single call graph root, i.e. the start method.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/datastructure/callgraph/ConcreteCall.html b/api/proguard/analysis/datastructure/callgraph/ConcreteCall.html new file mode 100644 index 000000000..32d4351d4 --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/ConcreteCall.html @@ -0,0 +1,489 @@ + + + + + +ConcreteCall (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConcreteCall

+
+
+ +
+
    +
  • +
    +
    public class ConcreteCall
    +extends Call
    +
    A method call whose target Method is contained in our ClassPool.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConcreteCall

        +
        public ConcreteCall​(CodeLocation caller,
        +                    Clazz targetClass,
        +                    Method target,
        +                    Value instance,
        +                    java.util.List<Value> arguments,
        +                    Value returnValue,
        +                    int throwsNullptr,
        +                    Instruction instruction,
        +                    boolean controlFlowDependent,
        +                    boolean runtimeTypeDependent)
        +
      • +
      + + + +
        +
      • +

        ConcreteCall

        +
        public ConcreteCall​(CodeLocation caller,
        +                    Clazz targetClass,
        +                    Method target,
        +                    int throwsNullptr,
        +                    Instruction instruction,
        +                    boolean controlFlowDependent,
        +                    boolean runtimeTypeDependent)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        hasIncompleteTarget

        +
        public boolean hasIncompleteTarget()
        +
        Description copied from class: Call
        +
        Check if this call's target is fully known or only parts of it (e.g. only the descriptor).
        +
        +
        Specified by:
        +
        hasIncompleteTarget in class Call
        +
        +
      • +
      + + + +
        +
      • +

        getTargetClass

        +
        public Clazz getTargetClass()
        +
      • +
      + + + +
        +
      • +

        getTargetMethod

        +
        public Method getTargetMethod()
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class Call
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class Call
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/datastructure/callgraph/Node.html b/api/proguard/analysis/datastructure/callgraph/Node.html new file mode 100644 index 000000000..49a0fbce5 --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/Node.html @@ -0,0 +1,590 @@ + + + + + +Node (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.datastructure.callgraph.Node
    • +
    +
  • +
+
+
    +
  • +
    +
    public class Node
    +extends java.lang.Object
    +
    Represents a node in a sub-callgraph, e.g. only the incoming or the outgoing callgraph for a + specific method. See CallGraph#reconstructCallGraph(ClassPool, MethodSignature) for more + details. The reconstruction process makes sure that there are no loops in the graph.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + +
        +
      • +

        predecessors

        +
        public final java.util.Set<Node> predecessors
        +
      • +
      + + + +
        +
      • +

        incomingCallLocations

        +
        public final java.util.Set<CodeLocation> incomingCallLocations
        +
        The CodeLocations containing the calls in this node's predecessors that lead here. If + the call graph is traversed strictly in successor direction, there is exactly one incoming call + per node, except for the root, which has none.
        +
      • +
      + + + +
        +
      • +

        outgoingCallLocations

        +
        public final java.util.Set<CodeLocation> outgoingCallLocations
        +
        The CodeLocations containing the calls in this node that lead to its successors. If the + call graph is traversed strictly in predecessor direction, there is exactly one outgoing call + per node, except for the root, which has none.
        +
      • +
      + + + +
        +
      • +

        successors

        +
        public final java.util.Set<Node> successors
        +
      • +
      + + + +
        +
      • +

        isTruncated

        +
        public boolean isTruncated
        +
      • +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        successorsContain

        +
        public boolean successorsContain​(MethodSignature signature)
        +
        Checks if this node or any successors corresponds to a specific MethodSignature.
        +
        +
        Parameters:
        +
        signature - The MethodSignature to look for
        +
        Returns:
        +
        true if this node or any of its transitive successors represents the target location
        +
        +
      • +
      + + + +
        +
      • +

        predecessorsContain

        +
        public boolean predecessorsContain​(MethodSignature signature)
        +
        Checks if this node or any predecessors corresponds to a specific MethodSignature.
        +
        +
        Parameters:
        +
        signature - The MethodSignature to look for
        +
        Returns:
        +
        true if this node or any of its transitive predecessors represents the target location
        +
        +
      • +
      + + + +
        +
      • +

        getSuccessorDepth

        +
        public int getSuccessorDepth()
        +
        Calculate the distance between this node and its furthest successor.
        +
        +
        Returns:
        +
        The distance (number of hops in the graph)
        +
        +
      • +
      + + + +
        +
      • +

        getPredecessorDepth

        +
        public int getPredecessorDepth()
        +
        Calculate the distance between this node and its furthest predecessor.
        +
        +
        Returns:
        +
        The distance (number of hops in the graph)
        +
        +
      • +
      + + + +
        +
      • +

        getAllPredecessors

        +
        public java.util.Set<Node> getAllPredecessors()
        +
        Get all predecessors of this node.
        +
      • +
      + + + +
        +
      • +

        getFurthestPredecessors

        +
        public java.util.Set<Node> getFurthestPredecessors()
        +
        Get the predecessor leaf nodes in the call sub-graph represented by this node.
        +
      • +
      + + + +
        +
      • +

        getFurthestSuccessors

        +
        public java.util.Set<Node> getFurthestSuccessors()
        +
        Get the successor leaf nodes in the call sub-graph represented by this node.
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/datastructure/callgraph/SymbolicCall.html b/api/proguard/analysis/datastructure/callgraph/SymbolicCall.html new file mode 100644 index 000000000..57cafe777 --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/SymbolicCall.html @@ -0,0 +1,410 @@ + + + + + +SymbolicCall (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SymbolicCall

+
+
+ +
+
    +
  • +
    +
    public class SymbolicCall
    +extends Call
    +
    A call whose target Method is not available in our ClassPool.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SymbolicCall

        +
        public SymbolicCall​(CodeLocation caller,
        +                    MethodSignature target,
        +                    int throwsNullptr,
        +                    Instruction instruction,
        +                    boolean controlFlowDependent,
        +                    boolean runtimeTypeDependent)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        hasIncompleteTarget

        +
        public boolean hasIncompleteTarget()
        +
        Description copied from class: Call
        +
        Check if this call's target is fully known or only parts of it (e.g. only the descriptor).
        +
        +
        Specified by:
        +
        hasIncompleteTarget in class Call
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class Call
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class Call
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/analysis/datastructure/callgraph/package-summary.html b/api/proguard/analysis/datastructure/callgraph/package-summary.html new file mode 100644 index 000000000..7653ed278 --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/package-summary.html @@ -0,0 +1,191 @@ + + + + + +proguard.analysis.datastructure.callgraph (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.datastructure.callgraph

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    Call +
    Represents a method call.
    +
    CallGraph +
    Collection of all Calls in a program, optimized for retrieval of incoming and outgoing + edges for any method in constant time.
    +
    ConcreteCall +
    A method call whose target Method is contained in our ClassPool.
    +
    Node +
    Represents a node in a sub-callgraph, e.g.
    +
    SymbolicCall +
    A call whose target Method is not available in our ClassPool.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/analysis/datastructure/callgraph/package-tree.html b/api/proguard/analysis/datastructure/callgraph/package-tree.html new file mode 100644 index 000000000..43e07efa3 --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/package-tree.html @@ -0,0 +1,168 @@ + + + + + +proguard.analysis.datastructure.callgraph Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.datastructure.callgraph

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • proguard.analysis.datastructure.callgraph.Call + +
    • +
    • proguard.analysis.datastructure.callgraph.CallGraph
    • +
    • proguard.analysis.datastructure.callgraph.Node
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/analysis/datastructure/package-summary.html b/api/proguard/analysis/datastructure/package-summary.html new file mode 100644 index 000000000..40ec8766d --- /dev/null +++ b/api/proguard/analysis/datastructure/package-summary.html @@ -0,0 +1,179 @@ + + + + + +proguard.analysis.datastructure (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis.datastructure

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    CodeLocation +
    Represents a unique location in the bytecode.
    +
    FileLocation +
    Represents a unique location in a file, e.g.
    +
    Location +
    Helper data structure that makes it possible to identify specific places inside a program, either + inside the bytecode (CodeLocation) or some other file, e.g.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/analysis/datastructure/package-tree.html b/api/proguard/analysis/datastructure/package-tree.html new file mode 100644 index 000000000..91a30f2fa --- /dev/null +++ b/api/proguard/analysis/datastructure/package-tree.html @@ -0,0 +1,166 @@ + + + + + +proguard.analysis.datastructure Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis.datastructure

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • proguard.analysis.datastructure.Location (implements java.lang.Comparable<T>) + +
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/analysis/package-summary.html b/api/proguard/analysis/package-summary.html new file mode 100644 index 000000000..64c0e2746 --- /dev/null +++ b/api/proguard/analysis/package-summary.html @@ -0,0 +1,224 @@ + + + + + +proguard.analysis (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.analysis

+
+
+
    +
  • + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    CallHandler +
    This handler is invoked by the CallResolver whenever new method calls have been resolved + in the code.
    +
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    CallResolver +
    Collects all method invocations inside the analyzed methods.
    +
    CallResolver.Builder 
    CallUtil +
    Utility methods for call resolution.
    +
    DominatorCalculator +
    Calculate the dominator tree of any method, making it possible to determine which instructions + are guaranteed to be executed before others.
    +
    Metrics +
    Utility to collect statistical information.
    +
    +
  • +
  • + + + + + + + + + + + + +
    Enum Summary 
    EnumDescription
    Metrics.MetricType +
    Constants which are used as metric types.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/analysis/package-tree.html b/api/proguard/analysis/package-tree.html new file mode 100644 index 000000000..5b51060fe --- /dev/null +++ b/api/proguard/analysis/package-tree.html @@ -0,0 +1,185 @@ + + + + + +proguard.analysis Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.analysis

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/backport/LambdaExpression.html b/api/proguard/backport/LambdaExpression.html new file mode 100644 index 000000000..d63b5eaa4 --- /dev/null +++ b/api/proguard/backport/LambdaExpression.html @@ -0,0 +1,696 @@ + + + + + +LambdaExpression (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LambdaExpression

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.backport.LambdaExpression
    • +
    +
  • +
+
+
    +
  • +
    +
    public class LambdaExpression
    +extends java.lang.Object
    +
    A small helper class that captures useful information about a lambda expression as encountered in + a class file.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        referencedClass

        +
        public ProgramClass referencedClass
        +
      • +
      + + + +
        +
      • +

        bootstrapMethodIndex

        +
        public int bootstrapMethodIndex
        +
      • +
      + + + + + + + +
        +
      • +

        factoryMethodDescriptor

        +
        public java.lang.String factoryMethodDescriptor
        +
      • +
      + + + +
        +
      • +

        interfaces

        +
        public java.lang.String[] interfaces
        +
      • +
      + + + +
        +
      • +

        bridgeMethodDescriptors

        +
        public java.lang.String[] bridgeMethodDescriptors
        +
      • +
      + + + +
        +
      • +

        interfaceMethod

        +
        public java.lang.String interfaceMethod
        +
      • +
      + + + +
        +
      • +

        interfaceMethodDescriptor

        +
        public java.lang.String interfaceMethodDescriptor
        +
      • +
      + + + +
        +
      • +

        invokedReferenceKind

        +
        public int invokedReferenceKind
        +
      • +
      + + + +
        +
      • +

        invokedClassName

        +
        public java.lang.String invokedClassName
        +
      • +
      + + + +
        +
      • +

        invokedMethodName

        +
        public java.lang.String invokedMethodName
        +
      • +
      + + + +
        +
      • +

        invokedMethodDesc

        +
        public java.lang.String invokedMethodDesc
        +
      • +
      + + + +
        +
      • +

        referencedInvokedClass

        +
        public Clazz referencedInvokedClass
        +
      • +
      + + + +
        +
      • +

        referencedInvokedMethod

        +
        public Method referencedInvokedMethod
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LambdaExpression

        +
        public LambdaExpression​(ProgramClass referencedClass,
        +                        int bootstrapMethodIndex,
        +                        BootstrapMethodInfo bootstrapMethodInfo,
        +                        java.lang.String factoryMethodDescriptor,
        +                        java.lang.String[] interfaces,
        +                        java.lang.String[] bridgeMethodDescriptors,
        +                        java.lang.String interfaceMethod,
        +                        java.lang.String interfaceMethodDescriptor,
        +                        int invokedReferenceKind,
        +                        java.lang.String invokedClassName,
        +                        java.lang.String invokedMethodName,
        +                        java.lang.String invokedMethodDesc,
        +                        Clazz referencedInvokedClass,
        +                        Method referencedInvokedMethod,
        +                        int lambdaExpressionIndex)
        +
        Creates a new initialized LambdaExpression (except for the lambdaClass).
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getLambdaClassName

        +
        public java.lang.String getLambdaClassName()
        +
        Returns the class name of the converted anonymous class.
        +
      • +
      + + + +
        +
      • +

        getConstructorDescriptor

        +
        public java.lang.String getConstructorDescriptor()
        +
      • +
      + + + +
        +
      • +

        isSerializable

        +
        public boolean isSerializable()
        +
        Returns whether the lambda expression is serializable.
        +
      • +
      + + + +
        +
      • +

        isMethodReference

        +
        public boolean isMethodReference()
        +
        Returns whether the lambda expression is actually a method reference.
        +
      • +
      + + + +
        +
      • +

        isStateless

        +
        public boolean isStateless()
        +
        Returns whether the lambda expression is stateless.
        +
      • +
      + + + +
        +
      • +

        invokesStaticInterfaceMethod

        +
        public boolean invokesStaticInterfaceMethod()
        +
        Returns whether the invoked method is a static interface method.
        +
      • +
      + + + +
        +
      • +

        needsAccessorMethod

        +
        public boolean needsAccessorMethod()
        +
        Returns whether an accessor method is needed to access the invoked method from the lambda + class.
        +
      • +
      + + + +
        +
      • +

        referencesPrivateConstructor

        +
        public boolean referencesPrivateConstructor()
        +
        Returns whether the lambda expression is a method reference to a private constructor.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/backport/LambdaExpressionCollector.html b/api/proguard/backport/LambdaExpressionCollector.html new file mode 100644 index 000000000..100b1f135 --- /dev/null +++ b/api/proguard/backport/LambdaExpressionCollector.html @@ -0,0 +1,495 @@ + + + + + +LambdaExpressionCollector (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LambdaExpressionCollector

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.backport.LambdaExpressionCollector
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/backport/package-summary.html b/api/proguard/backport/package-summary.html new file mode 100644 index 000000000..a20b2b7fc --- /dev/null +++ b/api/proguard/backport/package-summary.html @@ -0,0 +1,173 @@ + + + + + +proguard.backport (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.backport

+
+
+
    +
  • + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    LambdaExpression +
    A small helper class that captures useful information about a lambda expression as encountered in + a class file.
    +
    LambdaExpressionCollector +
    This ClassVisitor collects all lambda expressions that are defined in a visited class.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/backport/package-tree.html b/api/proguard/backport/package-tree.html new file mode 100644 index 000000000..ae98ea9cf --- /dev/null +++ b/api/proguard/backport/package-tree.html @@ -0,0 +1,162 @@ + + + + + +proguard.backport Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.backport

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/AccessConstants.html b/api/proguard/classfile/AccessConstants.html new file mode 100644 index 000000000..08007e5c9 --- /dev/null +++ b/api/proguard/classfile/AccessConstants.html @@ -0,0 +1,907 @@ + + + + + +AccessConstants (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AccessConstants

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.AccessConstants
    • +
    +
  • +
+
+
    +
  • +
    +
    public class AccessConstants
    +extends java.lang.Object
    +
    Access flags for classes, fields, methods, parameters, and modules.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/BasicMethodInfo.html b/api/proguard/classfile/BasicMethodInfo.html new file mode 100644 index 000000000..f58237d6b --- /dev/null +++ b/api/proguard/classfile/BasicMethodInfo.html @@ -0,0 +1,428 @@ + + + + + +BasicMethodInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BasicMethodInfo

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.BasicMethodInfo
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MethodInfo
    +
    +
    +
    public class BasicMethodInfo
    +extends java.lang.Object
    +implements MethodInfo
    +
    A minimal implementation of MethodInfo.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BasicMethodInfo

        +
        public BasicMethodInfo​(@NotNull
        +                       @NotNull java.lang.String methodName,
        +                       @NotNull
        +                       @NotNull MethodDescriptor descriptor)
        +
        Creates a BasicMethodInfo given a method name and descriptor.
        +
        +
        Parameters:
        +
        descriptor - a method descriptor
        +
        methodName - a method name
        +
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getMethodName

        +
        @NotNull
        +public @NotNull java.lang.String getMethodName()
        +
        Description copied from interface: MethodInfo
        +
        Returns the method's name.
        +
        +
        Specified by:
        +
        getMethodName in interface MethodInfo
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/ClassConstants.html b/api/proguard/classfile/ClassConstants.html new file mode 100644 index 000000000..a7b068686 --- /dev/null +++ b/api/proguard/classfile/ClassConstants.html @@ -0,0 +1,6169 @@ + + + + + +ClassConstants (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassConstants

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.ClassConstants
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ClassConstants
    +extends java.lang.Object
    +
    Internal names and descriptors of common classes, fields, and methods from the Java runtime.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        CLASS_FILE_EXTENSION

        +
        public static final java.lang.String CLASS_FILE_EXTENSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        PACKAGE_JAVA_LANG

        +
        public static final java.lang.String PACKAGE_JAVA_LANG
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_OBJECT

        +
        public static final java.lang.String NAME_JAVA_LANG_OBJECT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_OBJECT

        +
        public static final java.lang.String TYPE_JAVA_LANG_OBJECT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_CLONEABLE

        +
        public static final java.lang.String NAME_JAVA_LANG_CLONEABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_THROWABLE

        +
        public static final java.lang.String NAME_JAVA_LANG_THROWABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_THROWABLE

        +
        public static final java.lang.String TYPE_JAVA_LANG_THROWABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_EXCEPTION

        +
        public static final java.lang.String NAME_JAVA_LANG_EXCEPTION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_UNSUPPORTED_OP_EXCEPTION

        +
        public static final java.lang.String NAME_JAVA_LANG_UNSUPPORTED_OP_EXCEPTION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_CLASS_NOT_FOUND_EXCEPTION

        +
        public static final java.lang.String NAME_JAVA_LANG_CLASS_NOT_FOUND_EXCEPTION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_NUMBER_FORMAT_EXCEPTION

        +
        public static final java.lang.String NAME_JAVA_LANG_NUMBER_FORMAT_EXCEPTION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_CLASS

        +
        public static final java.lang.String NAME_JAVA_LANG_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_CLASS

        +
        public static final java.lang.String TYPE_JAVA_LANG_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_CLASS_LOADER

        +
        public static final java.lang.String NAME_JAVA_LANG_CLASS_LOADER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_ENUM

        +
        public static final java.lang.String NAME_JAVA_LANG_ENUM
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_ANNOTATION_ANNOTATION

        +
        public static final java.lang.String NAME_JAVA_LANG_ANNOTATION_ANNOTATION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_STRING

        +
        public static final java.lang.String NAME_JAVA_LANG_STRING
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_STRING

        +
        public static final java.lang.String TYPE_JAVA_LANG_STRING
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_STRING_BUFFER

        +
        public static final java.lang.String NAME_JAVA_LANG_STRING_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_STRING_BUFFER

        +
        public static final java.lang.String TYPE_JAVA_LANG_STRING_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_STRING_BUILDER

        +
        public static final java.lang.String NAME_JAVA_LANG_STRING_BUILDER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_STRING_BUILDER

        +
        public static final java.lang.String TYPE_JAVA_LANG_STRING_BUILDER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_INVOKE_METHOD_HANDLE

        +
        public static final java.lang.String NAME_JAVA_LANG_INVOKE_METHOD_HANDLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_INVOKE_METHOD_HANDLE

        +
        public static final java.lang.String TYPE_JAVA_LANG_INVOKE_METHOD_HANDLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_INVOKE_METHOD_TYPE

        +
        public static final java.lang.String NAME_JAVA_LANG_INVOKE_METHOD_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_INVOKE_METHOD_TYPE

        +
        public static final java.lang.String TYPE_JAVA_LANG_INVOKE_METHOD_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_INVOKE_STRING_CONCAT_FACTORY

        +
        public static final java.lang.String NAME_JAVA_LANG_INVOKE_STRING_CONCAT_FACTORY
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_VOID

        +
        public static final java.lang.String NAME_JAVA_LANG_VOID
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_BOOLEAN

        +
        public static final java.lang.String NAME_JAVA_LANG_BOOLEAN
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_BOOLEAN

        +
        public static final java.lang.String TYPE_JAVA_LANG_BOOLEAN
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_BYTE

        +
        public static final java.lang.String NAME_JAVA_LANG_BYTE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_BYTE

        +
        public static final java.lang.String TYPE_JAVA_LANG_BYTE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_SHORT

        +
        public static final java.lang.String NAME_JAVA_LANG_SHORT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_SHORT

        +
        public static final java.lang.String TYPE_JAVA_LANG_SHORT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_CHARACTER

        +
        public static final java.lang.String NAME_JAVA_LANG_CHARACTER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_CHARACTER

        +
        public static final java.lang.String TYPE_JAVA_LANG_CHARACTER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_NUMBER

        +
        public static final java.lang.String NAME_JAVA_LANG_NUMBER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_INTEGER

        +
        public static final java.lang.String NAME_JAVA_LANG_INTEGER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_INTEGER

        +
        public static final java.lang.String TYPE_JAVA_LANG_INTEGER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_LONG

        +
        public static final java.lang.String NAME_JAVA_LANG_LONG
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_LONG

        +
        public static final java.lang.String TYPE_JAVA_LANG_LONG
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_FLOAT

        +
        public static final java.lang.String NAME_JAVA_LANG_FLOAT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_FLOAT

        +
        public static final java.lang.String TYPE_JAVA_LANG_FLOAT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_DOUBLE

        +
        public static final java.lang.String NAME_JAVA_LANG_DOUBLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_DOUBLE

        +
        public static final java.lang.String TYPE_JAVA_LANG_DOUBLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_MATH

        +
        public static final java.lang.String NAME_JAVA_LANG_MATH
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_SYSTEM

        +
        public static final java.lang.String NAME_JAVA_LANG_SYSTEM
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_RUNTIME

        +
        public static final java.lang.String NAME_JAVA_LANG_RUNTIME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_REFLECT_ARRAY

        +
        public static final java.lang.String NAME_JAVA_LANG_REFLECT_ARRAY
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_REFLECT_FIELD

        +
        public static final java.lang.String NAME_JAVA_LANG_REFLECT_FIELD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_REFLECT_METHOD

        +
        public static final java.lang.String NAME_JAVA_LANG_REFLECT_METHOD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_REFLECT_CONSTRUCTOR

        +
        public static final java.lang.String NAME_JAVA_LANG_REFLECT_CONSTRUCTOR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_LANG_REFLECT_ACCESSIBLE_OBJECT

        +
        public static final java.lang.String NAME_JAVA_LANG_REFLECT_ACCESSIBLE_OBJECT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_IO_SERIALIZABLE

        +
        public static final java.lang.String NAME_JAVA_IO_SERIALIZABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_IO_BYTE_ARRAY_INPUT_STREAM

        +
        public static final java.lang.String NAME_JAVA_IO_BYTE_ARRAY_INPUT_STREAM
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_IO_DATA_INPUT_STREAM

        +
        public static final java.lang.String NAME_JAVA_IO_DATA_INPUT_STREAM
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_IO_INPUT_STREAM

        +
        public static final java.lang.String NAME_JAVA_IO_INPUT_STREAM
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_NIO_BUFFER

        +
        public static final java.lang.String NAME_JAVA_NIO_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_NIO_BYTE_BUFFER

        +
        public static final java.lang.String NAME_JAVA_NIO_BYTE_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_NIO_CHAR_BUFFER

        +
        public static final java.lang.String NAME_JAVA_NIO_CHAR_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_NIO_SHORT_BUFFER

        +
        public static final java.lang.String NAME_JAVA_NIO_SHORT_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_NIO_INT_BUFFER

        +
        public static final java.lang.String NAME_JAVA_NIO_INT_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_NIO_LONG_BUFFER

        +
        public static final java.lang.String NAME_JAVA_NIO_LONG_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_NIO_FLOAT_BUFFER

        +
        public static final java.lang.String NAME_JAVA_NIO_FLOAT_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_NIO_DOUBLE_BUFFER

        +
        public static final java.lang.String NAME_JAVA_NIO_DOUBLE_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_NIO_CHANNELS_CHANNELS

        +
        public static final java.lang.String NAME_JAVA_NIO_CHANNELS_CHANNELS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_NIO_CHANNELS_READABLE_BYTE_CHANNEL

        +
        public static final java.lang.String NAME_JAVA_NIO_CHANNELS_READABLE_BYTE_CHANNEL
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_UTIL_COLLECTION

        +
        public static final java.lang.String NAME_JAVA_UTIL_COLLECTION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_UTIL_COLLECTION

        +
        public static final java.lang.String TYPE_JAVA_UTIL_COLLECTION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_UTIL_MAP

        +
        public static final java.lang.String NAME_JAVA_UTIL_MAP
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_UTIL_MAP

        +
        public static final java.lang.String TYPE_JAVA_UTIL_MAP
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_UTIL_HASH_MAP

        +
        public static final java.lang.String NAME_JAVA_UTIL_HASH_MAP
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_UTIL_LIST

        +
        public static final java.lang.String NAME_JAVA_UTIL_LIST
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_UTIL_LIST

        +
        public static final java.lang.String TYPE_JAVA_UTIL_LIST
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_UTIL_ARRAY_LIST

        +
        public static final java.lang.String NAME_JAVA_UTIL_ARRAY_LIST
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_APP_ACTIVITY

        +
        public static final java.lang.String NAME_ANDROID_APP_ACTIVITY
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_APP_APPLICATION

        +
        public static final java.lang.String NAME_ANDROID_APP_APPLICATION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_APP_FRAGMENT

        +
        public static final java.lang.String NAME_ANDROID_APP_FRAGMENT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_APP_INSTRUMENTATION

        +
        public static final java.lang.String NAME_ANDROID_APP_INSTRUMENTATION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_APP_SERVICE

        +
        public static final java.lang.String NAME_ANDROID_APP_SERVICE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_APP_BACKUP_BACKUP_AGENT

        +
        public static final java.lang.String NAME_ANDROID_APP_BACKUP_BACKUP_AGENT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_CONTENT_BROADCAST_RECEIVER

        +
        public static final java.lang.String NAME_ANDROID_CONTENT_BROADCAST_RECEIVER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_CONTENT_CONTENT_PROVIDER

        +
        public static final java.lang.String NAME_ANDROID_CONTENT_CONTENT_PROVIDER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_CONTENT_CONTEXT

        +
        public static final java.lang.String NAME_ANDROID_CONTENT_CONTEXT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_CONTENT_RES_RESOURCES

        +
        public static final java.lang.String NAME_ANDROID_CONTENT_RES_RESOURCES
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_PREFERENCE_PREFERENCE

        +
        public static final java.lang.String NAME_ANDROID_PREFERENCE_PREFERENCE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_PREFERENCE_PREFERENCE_FRAGMENT

        +
        public static final java.lang.String NAME_ANDROID_PREFERENCE_PREFERENCE_FRAGMENT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_VIEW_ACTION_PROVIDER

        +
        public static final java.lang.String NAME_ANDROID_VIEW_ACTION_PROVIDER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_VIEW_VIEW

        +
        public static final java.lang.String NAME_ANDROID_VIEW_VIEW
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_UTIL_FLOAT_MATH

        +
        public static final java.lang.String NAME_ANDROID_UTIL_FLOAT_MATH
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_WEBKIT_WEB_VIEW

        +
        public static final java.lang.String NAME_ANDROID_WEBKIT_WEB_VIEW
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_ANDROID_SUPPORT_V4_APP_FRAGMENT

        +
        public static final java.lang.String NAME_ANDROID_SUPPORT_V4_APP_FRAGMENT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_INTEGER_FIELD_UPDATER

        +
        public static final java.lang.String NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_INTEGER_FIELD_UPDATER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_LONG_FIELD_UPDATER

        +
        public static final java.lang.String NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_LONG_FIELD_UPDATER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_REFERENCE_FIELD_UPDATER

        +
        public static final java.lang.String NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_REFERENCE_FIELD_UPDATER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_INIT

        +
        public static final java.lang.String METHOD_NAME_INIT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_INIT

        +
        public static final java.lang.String METHOD_TYPE_INIT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLINIT

        +
        public static final java.lang.String METHOD_NAME_CLINIT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLINIT

        +
        public static final java.lang.String METHOD_TYPE_CLINIT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_OBJECT_GET_CLASS

        +
        public static final java.lang.String METHOD_NAME_OBJECT_GET_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_OBJECT_GET_CLASS

        +
        public static final java.lang.String METHOD_TYPE_OBJECT_GET_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_FOR_NAME

        +
        public static final java.lang.String METHOD_NAME_CLASS_FOR_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_FOR_NAME

        +
        public static final java.lang.String METHOD_TYPE_CLASS_FOR_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_FOR_NAME_SIGNATURE

        +
        public static final MethodSignature CLASS_FOR_NAME_SIGNATURE
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_FOR_NAME2

        +
        public static final java.lang.String METHOD_TYPE_CLASS_FOR_NAME2
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_FOR_NAME_SIGNATURE2

        +
        public static final MethodSignature CLASS_FOR_NAME_SIGNATURE2
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_NAME

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_NAME

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_GET_NAME_SIGNATURE

        +
        public static final MethodSignature CLASS_GET_NAME_SIGNATURE
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_SIMPLE_NAME

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_SIMPLE_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_SIMPLE_NAME

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_SIMPLE_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_GET_SIMPLE_NAME_SIGNATURE

        +
        public static final MethodSignature CLASS_GET_SIMPLE_NAME_SIGNATURE
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_CANONICAL_NAME

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_CANONICAL_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_CANONICAL_NAME

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_CANONICAL_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_GET_CANONICAL_NAME_SIGNATURE

        +
        public static final MethodSignature CLASS_GET_CANONICAL_NAME_SIGNATURE
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_TYPE_NAME

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_TYPE_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_TYPE_NAME

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_TYPE_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_GET_TYPE_NAME_SIGNATURE

        +
        public static final MethodSignature CLASS_GET_TYPE_NAME_SIGNATURE
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_PACKAGE_NAME

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_PACKAGE_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_PACKAGE_NAME

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_PACKAGE_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_GET_PACKAGE_NAME_SIGNATURE

        +
        public static final MethodSignature CLASS_GET_PACKAGE_NAME_SIGNATURE
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_SUPERCLASS

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_SUPERCLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_SUPERCLASS

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_SUPERCLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_GET_SUPERCLASS_SIGNATURE

        +
        public static final MethodSignature CLASS_GET_SUPERCLASS_SIGNATURE
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_FOR_NAME_CLASSLOADER

        +
        public static final java.lang.String METHOD_TYPE_CLASS_FOR_NAME_CLASSLOADER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_IS_INSTANCE

        +
        public static final java.lang.String METHOD_NAME_CLASS_IS_INSTANCE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_IS_INSTANCE

        +
        public static final java.lang.String METHOD_TYPE_CLASS_IS_INSTANCE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_IS_ASSIGNABLE_FROM

        +
        public static final java.lang.String METHOD_NAME_CLASS_IS_ASSIGNABLE_FROM
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_IS_ASSIGNABLE_FROM

        +
        public static final java.lang.String METHOD_TYPE_CLASS_IS_ASSIGNABLE_FROM
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_CLASS_LOADER

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_CLASS_LOADER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_CLASS_LOADER

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_CLASS_LOADER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_COMPONENT_TYPE

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_COMPONENT_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_COMPONENT_TYPE

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_COMPONENT_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_FIELD

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_FIELD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_FIELD

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_FIELD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_DECLARED_FIELD

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_DECLARED_FIELD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_DECLARED_FIELD

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_DECLARED_FIELD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_FIELDS

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_FIELDS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_FIELDS

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_FIELDS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_DECLARED_FIELDS

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_DECLARED_FIELDS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_DECLARED_FIELDS

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_DECLARED_FIELDS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_CONSTRUCTOR

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_CONSTRUCTOR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_CONSTRUCTOR

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_CONSTRUCTOR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_DECLARED_CONSTRUCTOR

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_DECLARED_CONSTRUCTOR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_DECLARED_CONSTRUCTOR

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_DECLARED_CONSTRUCTOR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_CONSTRUCTORS

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_CONSTRUCTORS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_CONSTRUCTORS

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_CONSTRUCTORS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_DECLARED_CONSTRUCTORS

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_DECLARED_CONSTRUCTORS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_DECLARED_CONSTRUCTORS

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_DECLARED_CONSTRUCTORS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_METHOD

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_METHOD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_METHOD

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_METHOD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_GET_METHOD_SIGNATURE

        +
        public static final MethodSignature CLASS_GET_METHOD_SIGNATURE
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_DECLARED_METHOD

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_DECLARED_METHOD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_DECLARED_METHOD

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_DECLARED_METHOD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_METHODS

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_METHODS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_METHODS

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_METHODS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_DECLARED_METHODS

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_DECLARED_METHODS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLASS_GET_DECLARED_METHODS

        +
        public static final java.lang.String METHOD_TYPE_CLASS_GET_DECLARED_METHODS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_FIND_CLASS

        +
        public static final java.lang.String METHOD_NAME_FIND_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_FIND_CLASS

        +
        public static final java.lang.String METHOD_TYPE_FIND_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_LOAD_CLASS

        +
        public static final java.lang.String METHOD_NAME_LOAD_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_LOAD_CLASS

        +
        public static final java.lang.String METHOD_TYPE_LOAD_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASSLOADER_LOAD_CLASS_SIGNATURE

        +
        public static final MethodSignature CLASSLOADER_LOAD_CLASS_SIGNATURE
        +
      • +
      + + + +
        +
      • +

        CLASSLOADER_LOAD_CLASS_SIGNATURE2

        +
        public static final MethodSignature CLASSLOADER_LOAD_CLASS_SIGNATURE2
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_FIND_LOADED_CLASS

        +
        public static final java.lang.String METHOD_NAME_FIND_LOADED_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_FIND_LOADED_CLASS

        +
        public static final java.lang.String METHOD_TYPE_FIND_LOADED_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASSLOADER_FIND_LOADED_CLASS_SIGNATURE

        +
        public static final MethodSignature CLASSLOADER_FIND_LOADED_CLASS_SIGNATURE
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_FIND_LIBRARY

        +
        public static final java.lang.String METHOD_NAME_FIND_LIBRARY
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_FIND_LIBRARY

        +
        public static final java.lang.String METHOD_TYPE_FIND_LIBRARY
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_LOAD_LIBRARY

        +
        public static final java.lang.String METHOD_NAME_LOAD_LIBRARY
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_LOAD_LIBRARY

        +
        public static final java.lang.String METHOD_TYPE_LOAD_LIBRARY
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_LOAD

        +
        public static final java.lang.String METHOD_NAME_LOAD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_DO_LOAD

        +
        public static final java.lang.String METHOD_NAME_DO_LOAD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_LOAD

        +
        public static final java.lang.String METHOD_TYPE_LOAD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_LOAD2

        +
        public static final java.lang.String METHOD_TYPE_LOAD2
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_NATIVE_LOAD

        +
        public static final java.lang.String METHOD_NAME_NATIVE_LOAD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_NATIVE_LOAD

        +
        public static final java.lang.String METHOD_TYPE_NATIVE_LOAD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_MAP_LIBRARY_NAME

        +
        public static final java.lang.String METHOD_NAME_MAP_LIBRARY_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_MAP_LIBRARY_NAME

        +
        public static final java.lang.String METHOD_TYPE_MAP_LIBRARY_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_GET_RUNTIME

        +
        public static final java.lang.String METHOD_NAME_GET_RUNTIME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_GET_RUNTIME

        +
        public static final java.lang.String METHOD_TYPE_GET_RUNTIME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_DECLARING_CLASS

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_DECLARING_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_ENCLOSING_CLASS

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_ENCLOSING_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_ENCLOSING_CONSTRUCTOR

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_ENCLOSING_CONSTRUCTOR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLASS_GET_ENCLOSING_METHOD

        +
        public static final java.lang.String METHOD_NAME_CLASS_GET_ENCLOSING_METHOD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_GET_ANNOTATION

        +
        public static final java.lang.String METHOD_NAME_GET_ANNOTATION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_GET_ANNOTATIONS

        +
        public static final java.lang.String METHOD_NAME_GET_ANNOTATIONS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_GET_DECLARED_ANNOTATIONS

        +
        public static final java.lang.String METHOD_NAME_GET_DECLARED_ANNOTATIONS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_GET_PARAMETER_ANNOTATIONS

        +
        public static final java.lang.String METHOD_NAME_GET_PARAMETER_ANNOTATIONS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_GET_TYPE_PREFIX

        +
        public static final java.lang.String METHOD_NAME_GET_TYPE_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_GET_GENERIC_PREFIX

        +
        public static final java.lang.String METHOD_NAME_GET_GENERIC_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_NEW_UPDATER

        +
        public static final java.lang.String METHOD_NAME_NEW_UPDATER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_NEW_INTEGER_UPDATER

        +
        public static final java.lang.String METHOD_TYPE_NEW_INTEGER_UPDATER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_NEW_LONG_UPDATER

        +
        public static final java.lang.String METHOD_TYPE_NEW_LONG_UPDATER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_NEW_REFERENCE_UPDATER

        +
        public static final java.lang.String METHOD_TYPE_NEW_REFERENCE_UPDATER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_FIELD_GET

        +
        public static final java.lang.String METHOD_NAME_FIELD_GET
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_FIELD_GET

        +
        public static final java.lang.String METHOD_TYPE_FIELD_GET
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_FIELD_GET_INT

        +
        public static final java.lang.String METHOD_NAME_FIELD_GET_INT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_FIELD_GET_INT

        +
        public static final java.lang.String METHOD_TYPE_FIELD_GET_INT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_FIELD_SET

        +
        public static final java.lang.String METHOD_NAME_FIELD_SET
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_FIELD_SET

        +
        public static final java.lang.String METHOD_TYPE_FIELD_SET
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_METHOD_INVOKE

        +
        public static final java.lang.String METHOD_NAME_METHOD_INVOKE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_METHOD_INVOKE

        +
        public static final java.lang.String METHOD_TYPE_METHOD_INVOKE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CONSTRUCTOR_NEW_INSTANCE

        +
        public static final java.lang.String METHOD_NAME_CONSTRUCTOR_NEW_INSTANCE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CONSTRUCTOR_NEW_INSTANCE

        +
        public static final java.lang.String METHOD_TYPE_CONSTRUCTOR_NEW_INSTANCE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_ARRAY_NEW_INSTANCE

        +
        public static final java.lang.String METHOD_NAME_ARRAY_NEW_INSTANCE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_ARRAY_NEW_INSTANCE

        +
        public static final java.lang.String METHOD_TYPE_ARRAY_NEW_INSTANCE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_ARRAY_NEW_INSTANCE2

        +
        public static final java.lang.String METHOD_TYPE_ARRAY_NEW_INSTANCE2
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_ACCESSIBLE_OBJECT_SET_ACCESSIBLE

        +
        public static final java.lang.String METHOD_NAME_ACCESSIBLE_OBJECT_SET_ACCESSIBLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_ACCESSIBLE_OBJECT_SET_ACCESSIBLE

        +
        public static final java.lang.String METHOD_TYPE_ACCESSIBLE_OBJECT_SET_ACCESSIBLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_GET_CAUSE

        +
        public static final java.lang.String METHOD_NAME_GET_CAUSE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_GET_CAUSE

        +
        public static final java.lang.String METHOD_TYPE_GET_CAUSE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_INIT_THROWABLE

        +
        public static final java.lang.String METHOD_TYPE_INIT_THROWABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_MAKE_CONCAT

        +
        public static final java.lang.String METHOD_NAME_MAKE_CONCAT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_MAKE_CONCAT_WITH_CONSTANTS

        +
        public static final java.lang.String METHOD_NAME_MAKE_CONCAT_WITH_CONSTANTS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_INIT_COLLECTION

        +
        public static final java.lang.String METHOD_TYPE_INIT_COLLECTION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_ADD

        +
        public static final java.lang.String METHOD_NAME_ADD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_ADD

        +
        public static final java.lang.String METHOD_TYPE_ADD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_ADD_ALL

        +
        public static final java.lang.String METHOD_NAME_ADD_ALL
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_ADD_ALL

        +
        public static final java.lang.String METHOD_TYPE_ADD_ALL
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_IS_EMPTY

        +
        public static final java.lang.String METHOD_NAME_IS_EMPTY
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_IS_EMPTY

        +
        public static final java.lang.String METHOD_TYPE_IS_EMPTY
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_MAP_PUT

        +
        public static final java.lang.String METHOD_NAME_MAP_PUT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_MAP_PUT

        +
        public static final java.lang.String METHOD_TYPE_MAP_PUT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_MAP_GET

        +
        public static final java.lang.String METHOD_NAME_MAP_GET
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_MAP_GET

        +
        public static final java.lang.String METHOD_TYPE_MAP_GET
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_BOOLEAN_VALUE

        +
        public static final java.lang.String METHOD_NAME_BOOLEAN_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_BOOLEAN_VALUE

        +
        public static final java.lang.String METHOD_TYPE_BOOLEAN_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CHAR_VALUE

        +
        public static final java.lang.String METHOD_NAME_CHAR_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CHAR_VALUE

        +
        public static final java.lang.String METHOD_TYPE_CHAR_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_SHORT_VALUE

        +
        public static final java.lang.String METHOD_NAME_SHORT_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_SHORT_VALUE

        +
        public static final java.lang.String METHOD_TYPE_SHORT_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_INT_VALUE

        +
        public static final java.lang.String METHOD_NAME_INT_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_INT_VALUE

        +
        public static final java.lang.String METHOD_TYPE_INT_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_BYTE_VALUE

        +
        public static final java.lang.String METHOD_NAME_BYTE_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_BYTE_VALUE

        +
        public static final java.lang.String METHOD_TYPE_BYTE_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_LONG_VALUE

        +
        public static final java.lang.String METHOD_NAME_LONG_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_LONG_VALUE

        +
        public static final java.lang.String METHOD_TYPE_LONG_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_FLOAT_VALUE

        +
        public static final java.lang.String METHOD_NAME_FLOAT_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_FLOAT_VALUE

        +
        public static final java.lang.String METHOD_TYPE_FLOAT_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_DOUBLE_VALUE

        +
        public static final java.lang.String METHOD_NAME_DOUBLE_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_DOUBLE_VALUE

        +
        public static final java.lang.String METHOD_TYPE_DOUBLE_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_READ_OBJECT

        +
        public static final java.lang.String METHOD_NAME_READ_OBJECT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_READ_OBJECT

        +
        public static final java.lang.String METHOD_TYPE_READ_OBJECT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_READ_RESOLVE

        +
        public static final java.lang.String METHOD_NAME_READ_RESOLVE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_READ_RESOLVE

        +
        public static final java.lang.String METHOD_TYPE_READ_RESOLVE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_WRITE_OBJECT

        +
        public static final java.lang.String METHOD_NAME_WRITE_OBJECT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_WRITE_OBJECT

        +
        public static final java.lang.String METHOD_TYPE_WRITE_OBJECT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_WRITE_REPLACE

        +
        public static final java.lang.String METHOD_NAME_WRITE_REPLACE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_WRITE_REPLACE

        +
        public static final java.lang.String METHOD_TYPE_WRITE_REPLACE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_DOT_CLASS_JAVAC

        +
        public static final java.lang.String METHOD_NAME_DOT_CLASS_JAVAC
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_DOT_CLASS_JAVAC

        +
        public static final java.lang.String METHOD_TYPE_DOT_CLASS_JAVAC
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_DOT_CLASS_JIKES

        +
        public static final java.lang.String METHOD_NAME_DOT_CLASS_JIKES
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_DOT_CLASS_JIKES

        +
        public static final java.lang.String METHOD_TYPE_DOT_CLASS_JIKES
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_INIT_ENUM

        +
        public static final java.lang.String METHOD_TYPE_INIT_ENUM
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_NEW_INSTANCE

        +
        public static final java.lang.String METHOD_NAME_NEW_INSTANCE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_NEW_INSTANCE

        +
        public static final java.lang.String METHOD_TYPE_NEW_INSTANCE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_VALUE_OF

        +
        public static final java.lang.String METHOD_NAME_VALUE_OF
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUE_OF_BOOLEAN

        +
        public static final java.lang.String METHOD_TYPE_VALUE_OF_BOOLEAN
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUE_OF_CHAR

        +
        public static final java.lang.String METHOD_TYPE_VALUE_OF_CHAR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUE_OF_BYTE

        +
        public static final java.lang.String METHOD_TYPE_VALUE_OF_BYTE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUE_OF_SHORT

        +
        public static final java.lang.String METHOD_TYPE_VALUE_OF_SHORT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUE_OF_INT

        +
        public static final java.lang.String METHOD_TYPE_VALUE_OF_INT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUE_OF_LONG

        +
        public static final java.lang.String METHOD_TYPE_VALUE_OF_LONG
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUE_OF_FLOAT

        +
        public static final java.lang.String METHOD_TYPE_VALUE_OF_FLOAT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUE_OF_DOUBLE

        +
        public static final java.lang.String METHOD_TYPE_VALUE_OF_DOUBLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        FIELD_NAME_TYPE

        +
        public static final java.lang.String FIELD_NAME_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        FIELD_TYPE_TYPE

        +
        public static final java.lang.String FIELD_TYPE_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_EQUALS

        +
        public static final java.lang.String METHOD_NAME_EQUALS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_EQUALS

        +
        public static final java.lang.String METHOD_TYPE_EQUALS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_LENGTH

        +
        public static final java.lang.String METHOD_NAME_LENGTH
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_LENGTH

        +
        public static final java.lang.String METHOD_TYPE_LENGTH
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_VALUEOF

        +
        public static final java.lang.String METHOD_NAME_VALUEOF
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUEOF_BOOLEAN

        +
        public static final java.lang.String METHOD_TYPE_VALUEOF_BOOLEAN
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_TOSTRING_BOOLEAN

        +
        public static final java.lang.String METHOD_TYPE_TOSTRING_BOOLEAN
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUEOF_CHAR

        +
        public static final java.lang.String METHOD_TYPE_VALUEOF_CHAR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUEOF_INT

        +
        public static final java.lang.String METHOD_TYPE_VALUEOF_INT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUEOF_LONG

        +
        public static final java.lang.String METHOD_TYPE_VALUEOF_LONG
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUEOF_FLOAT

        +
        public static final java.lang.String METHOD_TYPE_VALUEOF_FLOAT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUEOF_DOUBLE

        +
        public static final java.lang.String METHOD_TYPE_VALUEOF_DOUBLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_VALUEOF_OBJECT

        +
        public static final java.lang.String METHOD_TYPE_VALUEOF_OBJECT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_INTERN

        +
        public static final java.lang.String METHOD_NAME_INTERN
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_INTERN

        +
        public static final java.lang.String METHOD_TYPE_INTERN
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_APPEND

        +
        public static final java.lang.String METHOD_NAME_APPEND
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_INT_VOID

        +
        public static final java.lang.String METHOD_TYPE_INT_VOID
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_STRING_VOID

        +
        public static final java.lang.String METHOD_TYPE_STRING_VOID
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_BYTES_VOID

        +
        public static final java.lang.String METHOD_TYPE_BYTES_VOID
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_BYTES_INT_VOID

        +
        public static final java.lang.String METHOD_TYPE_BYTES_INT_VOID
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CHARS_VOID

        +
        public static final java.lang.String METHOD_TYPE_CHARS_VOID
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_BOOLEAN_STRING_BUFFER

        +
        public static final java.lang.String METHOD_TYPE_BOOLEAN_STRING_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CHAR_STRING_BUFFER

        +
        public static final java.lang.String METHOD_TYPE_CHAR_STRING_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_INT_STRING_BUFFER

        +
        public static final java.lang.String METHOD_TYPE_INT_STRING_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_LONG_STRING_BUFFER

        +
        public static final java.lang.String METHOD_TYPE_LONG_STRING_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_FLOAT_STRING_BUFFER

        +
        public static final java.lang.String METHOD_TYPE_FLOAT_STRING_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_DOUBLE_STRING_BUFFER

        +
        public static final java.lang.String METHOD_TYPE_DOUBLE_STRING_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_STRING_STRING_BUFFER

        +
        public static final java.lang.String METHOD_TYPE_STRING_STRING_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_OBJECT_STRING_BUFFER

        +
        public static final java.lang.String METHOD_TYPE_OBJECT_STRING_BUFFER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_BOOLEAN_STRING_BUILDER

        +
        public static final java.lang.String METHOD_TYPE_BOOLEAN_STRING_BUILDER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CHAR_STRING_BUILDER

        +
        public static final java.lang.String METHOD_TYPE_CHAR_STRING_BUILDER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_INT_STRING_BUILDER

        +
        public static final java.lang.String METHOD_TYPE_INT_STRING_BUILDER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_LONG_STRING_BUILDER

        +
        public static final java.lang.String METHOD_TYPE_LONG_STRING_BUILDER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_FLOAT_STRING_BUILDER

        +
        public static final java.lang.String METHOD_TYPE_FLOAT_STRING_BUILDER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_DOUBLE_STRING_BUILDER

        +
        public static final java.lang.String METHOD_TYPE_DOUBLE_STRING_BUILDER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_STRING_STRING_BUILDER

        +
        public static final java.lang.String METHOD_TYPE_STRING_STRING_BUILDER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_OBJECT_STRING_BUILDER

        +
        public static final java.lang.String METHOD_TYPE_OBJECT_STRING_BUILDER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_TOSTRING

        +
        public static final java.lang.String METHOD_NAME_TOSTRING
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_TOSTRING

        +
        public static final java.lang.String METHOD_TYPE_TOSTRING
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_TOSTRING_IMPL

        +
        public static final java.lang.String METHOD_NAME_TOSTRING_IMPL
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_TOSTRING_IMPL

        +
        public static final java.lang.String METHOD_TYPE_TOSTRING_IMPL
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CLONE

        +
        public static final java.lang.String METHOD_NAME_CLONE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_CLONE

        +
        public static final java.lang.String METHOD_TYPE_CLONE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_VALUES

        +
        public static final java.lang.String METHOD_NAME_VALUES
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_ORDINAL

        +
        public static final java.lang.String METHOD_NAME_ORDINAL
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_ORDINAL

        +
        public static final java.lang.String METHOD_TYPE_ORDINAL
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_ABS

        +
        public static final java.lang.String METHOD_NAME_ABS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_SQRT

        +
        public static final java.lang.String METHOD_NAME_SQRT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_COS

        +
        public static final java.lang.String METHOD_NAME_COS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_SIN

        +
        public static final java.lang.String METHOD_NAME_SIN
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_FLOOR

        +
        public static final java.lang.String METHOD_NAME_FLOOR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_CEIL

        +
        public static final java.lang.String METHOD_NAME_CEIL
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_FLOAT_FLOAT

        +
        public static final java.lang.String METHOD_TYPE_FLOAT_FLOAT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_DOUBLE_DOUBLE

        +
        public static final java.lang.String METHOD_TYPE_DOUBLE_DOUBLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_MIN

        +
        public static final java.lang.String METHOD_NAME_MIN
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_MAX

        +
        public static final java.lang.String METHOD_NAME_MAX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_FLOAT_FLOAT_FLOAT

        +
        public static final java.lang.String METHOD_TYPE_FLOAT_FLOAT_FLOAT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_DOUBLE_DOUBLE_DOUBLE

        +
        public static final java.lang.String METHOD_TYPE_DOUBLE_DOUBLE_DOUBLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_ADD_JAVASCRIPT_INTERFACE

        +
        public static final java.lang.String METHOD_NAME_ADD_JAVASCRIPT_INTERFACE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_ADD_JAVASCRIPT_INTERFACE

        +
        public static final java.lang.String METHOD_TYPE_ADD_JAVASCRIPT_INTERFACE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_ON_CLICK_HANDLER

        +
        public static final java.lang.String METHOD_TYPE_ON_CLICK_HANDLER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassConstants

        +
        public ClassConstants()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/ClassPool.html b/api/proguard/classfile/ClassPool.html new file mode 100644 index 000000000..24d770af1 --- /dev/null +++ b/api/proguard/classfile/ClassPool.html @@ -0,0 +1,742 @@ + + + + + +ClassPool (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassPool

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.ClassPool
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ClassPool
    +extends java.lang.Object
    +
    This is a set of Clazz instances. They can be enumerated or retrieved by name. They can + also be accessed by means of class visitors.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassPool() +
      Creates a new empty ClassPool.
      +
      ClassPool​(java.lang.Iterable<? extends Clazz> classes) +
      Creates a new ClassPool with the given classes.
      +
      ClassPool​(ClassPool classPool) +
      Creates a new ClassPool with the given classes.
      +
      ClassPool​(Clazz... classes) +
      Creates a new ClassPool with the given classes.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(ClassPoolVisitor classPoolVisitor) +
      Applies the given ClassPoolVisitor to the class pool.
      +
      voidaddClass​(java.lang.String name, + Clazz clazz) +
      Adds the given Clazz with the given name to the class pool.
      +
      voidaddClass​(Clazz clazz) +
      Adds the given Clazz to the class pool.
      +
      voidclassAccept​(java.lang.String className, + ClassVisitor classVisitor) +
      Applies the given ClassVisitor to the class with the given name, if it is present in the class + pool.
      +
      java.lang.Iterable<Clazz>classes() +
      Returns an Iterable of all classes in the class pool.
      +
      voidclassesAccept​(java.lang.String classNameFilter, + ClassVisitor classVisitor) +
      Applies the given ClassVisitor to all matching classes in the class pool.
      +
      voidclassesAccept​(java.util.List classNameFilter, + ClassVisitor classVisitor) +
      Applies the given ClassVisitor to all matching classes in the class pool.
      +
      voidclassesAccept​(ClassVisitor classVisitor) +
      Applies the given ClassVisitor to all classes in the class pool, in random order.
      +
      voidclassesAccept​(StringMatcher classNameFilter, + ClassVisitor classVisitor) +
      Applies the given ClassVisitor to all matching classes in the class pool.
      +
      voidclassesAcceptAlphabetically​(ClassVisitor classVisitor) +
      Applies the given ClassVisitor to all classes in the class pool, in sorted order.
      +
      java.util.Iterator<java.lang.String>classNames() +
      Returns an Iterator of all class names in the class pool.
      +
      voidclear() +
      Clears the class pool.
      +
      booleancontains​(Clazz clazz) +
      Checks whether the given class exists in the class pool.
      +
      ClazzgetClass​(java.lang.String className) +
      Returns a Clazz from the class pool based on its name.
      +
      ClassPoolrefreshedCopy() +
      Returns a ClassPool with the same classes, but with the keys that correspond to the names of + the class instances.
      +
      <T> java.util.Map<java.lang.String,​T>refreshedKeysCopy​(java.util.Map<java.lang.String,​T> map) +
      Returns a Map with the same contents as the given map, but with keys that have been mapped + based from the names in the class pool to the names in the corresponding classes.
      +
      <T> java.util.Map<T,​java.lang.String>refreshedValuesCopy​(java.util.Map<T,​java.lang.String> map) +
      Returns a Map with the same contents as the given map, but with values that have been mapped + based from the names in the class pool to the names in the corresponding classes.
      +
      ClazzremoveClass​(java.lang.String className) +
      Removes the Class with the specified name from the class pool.
      +
      voidremoveClass​(Clazz clazz) +
      Removes the given Clazz from the class pool.
      +
      java.util.Map<Clazz,​java.lang.String>reverseMapping() +
      Returns a Map that represents a mapping from every Clazz in the ClassPool to its original name.
      +
      intsize() +
      Returns the number of classes in the class pool.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassPool

        +
        public ClassPool()
        +
        Creates a new empty ClassPool.
        +
      • +
      + + + +
        +
      • +

        ClassPool

        +
        public ClassPool​(Clazz... classes)
        +
        Creates a new ClassPool with the given classes.
        +
        +
        Parameters:
        +
        classes - the classes to be added.
        +
        +
      • +
      + + + +
        +
      • +

        ClassPool

        +
        public ClassPool​(java.lang.Iterable<? extends Clazz> classes)
        +
        Creates a new ClassPool with the given classes.
        +
        +
        Parameters:
        +
        classes - the classes to be added.
        +
        +
      • +
      + + + +
        +
      • +

        ClassPool

        +
        public ClassPool​(ClassPool classPool)
        +
        Creates a new ClassPool with the given classes. The keys are taken from the Clazz instances.
        +
        +
        Parameters:
        +
        classPool - the classes to be added.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        clear

        +
        public void clear()
        +
        Clears the class pool.
        +
      • +
      + + + +
        +
      • +

        addClass

        +
        public void addClass​(Clazz clazz)
        +
        Adds the given Clazz to the class pool.
        +
      • +
      + + + +
        +
      • +

        addClass

        +
        public void addClass​(java.lang.String name,
        +                     Clazz clazz)
        +
        Adds the given Clazz with the given name to the class pool.
        +
      • +
      + + + +
        +
      • +

        removeClass

        +
        public void removeClass​(Clazz clazz)
        +
        Removes the given Clazz from the class pool.
        +
      • +
      + + + +
        +
      • +

        removeClass

        +
        public Clazz removeClass​(java.lang.String className)
        +
        Removes the Class with the specified name from the class pool.
        +
      • +
      + + + +
        +
      • +

        getClass

        +
        public Clazz getClass​(java.lang.String className)
        +
        Returns a Clazz from the class pool based on its name. Returns null if the class + with the given name is not in the class pool.
        +
        +
        Parameters:
        +
        className - a class name (e.g., "java/lang/String").
        +
        Returns:
        +
        the corresponding Clazz. null if the class pool does not contain a + class with the specified name.
        +
        +
      • +
      + + + +
        +
      • +

        contains

        +
        public boolean contains​(Clazz clazz)
        +
        Checks whether the given class exists in the class pool.
        +
      • +
      + + + +
        +
      • +

        classNames

        +
        public java.util.Iterator<java.lang.String> classNames()
        +
        Returns an Iterator of all class names in the class pool.
        +
      • +
      + + + +
        +
      • +

        classes

        +
        public java.lang.Iterable<Clazz> classes()
        +
        Returns an Iterable of all classes in the class pool.
        +
      • +
      + + + +
        +
      • +

        size

        +
        public int size()
        +
        Returns the number of classes in the class pool.
        +
      • +
      + + + +
        +
      • +

        refreshedCopy

        +
        public ClassPool refreshedCopy()
        +
        Returns a ClassPool with the same classes, but with the keys that correspond to the names of + the class instances. This can be useful to create a class pool with obfuscated names.
        +
      • +
      + + + +
        +
      • +

        refreshedKeysCopy

        +
        public <T> java.util.Map<java.lang.String,​T> refreshedKeysCopy​(java.util.Map<java.lang.String,​T> map)
        +
        Returns a Map with the same contents as the given map, but with keys that have been mapped + based from the names in the class pool to the names in the corresponding classes. This can be + useful to create a map with obfuscated names as keys.
        +
      • +
      + + + +
        +
      • +

        refreshedValuesCopy

        +
        public <T> java.util.Map<T,​java.lang.String> refreshedValuesCopy​(java.util.Map<T,​java.lang.String> map)
        +
        Returns a Map with the same contents as the given map, but with values that have been mapped + based from the names in the class pool to the names in the corresponding classes. This can be + useful to create a map with obfuscated names as values.
        +
      • +
      + + + +
        +
      • +

        reverseMapping

        +
        public java.util.Map<Clazz,​java.lang.String> reverseMapping()
        +
        Returns a Map that represents a mapping from every Clazz in the ClassPool to its original name. + This can be useful to retrieve the original name of classes after name obfuscation has been + applied.
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(ClassPoolVisitor classPoolVisitor)
        +
        Applies the given ClassPoolVisitor to the class pool.
        +
      • +
      + + + +
        +
      • +

        classesAccept

        +
        public void classesAccept​(ClassVisitor classVisitor)
        +
        Applies the given ClassVisitor to all classes in the class pool, in random order.
        +
      • +
      + + + +
        +
      • +

        classesAcceptAlphabetically

        +
        public void classesAcceptAlphabetically​(ClassVisitor classVisitor)
        +
        Applies the given ClassVisitor to all classes in the class pool, in sorted order.
        +
      • +
      + + + +
        +
      • +

        classesAccept

        +
        public void classesAccept​(java.lang.String classNameFilter,
        +                          ClassVisitor classVisitor)
        +
        Applies the given ClassVisitor to all matching classes in the class pool.
        +
      • +
      + + + +
        +
      • +

        classesAccept

        +
        public void classesAccept​(java.util.List classNameFilter,
        +                          ClassVisitor classVisitor)
        +
        Applies the given ClassVisitor to all matching classes in the class pool.
        +
      • +
      + + + +
        +
      • +

        classesAccept

        +
        public void classesAccept​(StringMatcher classNameFilter,
        +                          ClassVisitor classVisitor)
        +
        Applies the given ClassVisitor to all matching classes in the class pool.
        +
      • +
      + + + +
        +
      • +

        classAccept

        +
        public void classAccept​(java.lang.String className,
        +                        ClassVisitor classVisitor)
        +
        Applies the given ClassVisitor to the class with the given name, if it is present in the class + pool.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/ClassSignature.html b/api/proguard/classfile/ClassSignature.html new file mode 100644 index 000000000..deb8d17a3 --- /dev/null +++ b/api/proguard/classfile/ClassSignature.html @@ -0,0 +1,438 @@ + + + + + +ClassSignature (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassSignature

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Comparable<Signature>
    +
    +
    +
    public class ClassSignature
    +extends Signature
    +
    Represents the signature of a class without any member information.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassSignature

        +
        public ClassSignature​(java.lang.String className)
        +
      • +
      + + + +
        +
      • +

        ClassSignature

        +
        public ClassSignature​(Clazz clazz)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isIncomplete

        +
        public boolean isIncomplete()
        +
        Description copied from class: Signature
        +
        Check if this signature is missing information.
        +
        +
        Specified by:
        +
        isIncomplete in class Signature
        +
        +
      • +
      + + + +
        +
      • +

        calculateFqn

        +
        protected java.lang.String calculateFqn()
        +
        +
        Specified by:
        +
        calculateFqn in class Signature
        +
        +
      • +
      + + + +
        +
      • +

        calculatePrettyFqn

        +
        protected java.lang.String calculatePrettyFqn()
        +
        +
        Specified by:
        +
        calculatePrettyFqn in class Signature
        +
        +
      • +
      + + + +
        +
      • +

        clearCache

        +
        public static void clearCache()
        +
        Remove all currently cached ClassSignature objects from the cache, allowing them to be + removed by the garbage collector.
        +
      • +
      + + + +
        +
      • +

        computeIfAbsent

        +
        public static ClassSignature computeIfAbsent​(Clazz clazz)
        +
        Get the singleton ClassSignature object for this specific Clazz. If it is not + yet available in the cache, it will be newly instantiated.
        +
        +
        Parameters:
        +
        clazz - The class containing the target field
        +
        Returns:
        +
        The cached or newly generated ClassSignature object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/Clazz.html b/api/proguard/classfile/Clazz.html new file mode 100644 index 000000000..89db4696f --- /dev/null +++ b/api/proguard/classfile/Clazz.html @@ -0,0 +1,1047 @@ + + + + + +Clazz (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Clazz

+
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      voidaccept​(ClassVisitor classVisitor) +
      Accepts the given class visitor.
      +
      voidaddSubClass​(Clazz clazz) +
      Notifies this Clazz that it is being subclassed by another class.
      +
      voidattributeAccept​(java.lang.String name, + AttributeVisitor attributeVisitor) +
      Lets the given attribute info visitor visit the specified attribute.
      +
      voidattributesAccept​(AttributeVisitor attributeVisitor) +
      Lets the given attribute info visitor visit all attributes of this class.
      +
      voidconstantPoolEntriesAccept​(ConstantVisitor constantVisitor) +
      Lets the given constant pool entry visitor visit all constant pool entries of this class.
      +
      voidconstantPoolEntryAccept​(int index, + ConstantVisitor constantVisitor) +
      Lets the given constant pool entry visitor visit the constant pool entry at the specified + index.
      +
      booleanextends_​(java.lang.String className) +
      Returns whether this class extends the specified class.
      +
      booleanextends_​(Clazz clazz) +
      Returns whether this class extends the given class.
      +
      booleanextendsOrImplements​(java.lang.String className) +
      Returns whether this class implements the specified class.
      +
      booleanextendsOrImplements​(Clazz clazz) +
      Returns whether this class implements the given class.
      +
      voidfieldAccept​(java.lang.String name, + java.lang.String descriptor, + MemberVisitor memberVisitor) +
      Lets the given member info visitor visit the specified field.
      +
      voidfieldsAccept​(MemberVisitor memberVisitor) +
      Lets the given member info visitor visit all fields of this class.
      +
      FieldfindField​(java.lang.String name, + java.lang.String descriptor) +
      Returns the field with the given name and descriptor.
      +
      MethodfindMethod​(java.lang.String name, + java.lang.String descriptor) +
      Returns the method with the given name and descriptor.
      +
      intgetAccessFlags() +
      Returns the access flags of this class.
      +
      java.lang.StringgetClassName​(int constantIndex) +
      Returns the class name of ClassConstant at the specified index.
      +
      ClazzgetInterface​(int index) +
      Returns the interface at the given index.
      +
      intgetInterfaceCount() +
      Returns the number of interfaces that this class implements.
      +
      java.lang.StringgetInterfaceName​(int index) +
      Returns the full internal name of the interface at the given index of this class.
      +
      java.lang.StringgetModuleName​(int constantIndex) +
      Returns the name of the ModuleConstant at the specified index.
      +
      java.lang.StringgetName() +
      Returns the full internal name of this class.
      +
      java.lang.StringgetName​(int constantIndex) +
      Returns the name of the NameAndTypeConstant at the specified index.
      +
      java.lang.StringgetPackageName​(int constantIndex) +
      Returns the name of the PackageConstant at the specified index.
      +
      java.lang.StringgetRefClassName​(int constantIndex) +
      Returns the class name of the RefConstant at the specified index.
      +
      java.lang.StringgetRefName​(int constantIndex) +
      Returns the name of the RefConstant at the specified index.
      +
      java.lang.StringgetRefType​(int constantIndex) +
      Returns the type of the RefConstant at the specified index.
      +
      java.lang.StringgetString​(int constantIndex) +
      Returns the String value of the Utf8Constant at the specified index.
      +
      java.lang.StringgetStringString​(int constantIndex) +
      Returns the String value of the StringConstant at the specified index.
      +
      ClazzgetSuperClass() +
      Returns the super class of this class.
      +
      java.lang.StringgetSuperName() +
      Returns the full internal name of the super class of this class, or null if this class + represents java.lang.Object.
      +
      intgetTag​(int constantIndex) +
      Returns the tag value of the Constant at the specified index.
      +
      java.lang.StringgetType​(int constantIndex) +
      Returns the type of the NameAndTypeConstant at the specified index.
      +
      voidhierarchyAccept​(boolean visitThisClass, + boolean visitSuperClass, + boolean visitInterfaces, + boolean visitSubclasses, + ClassVisitor classVisitor) +
      Accepts the given class visitor in the class hierarchy.
      +
      voidinterfaceConstantsAccept​(ConstantVisitor constantVisitor) +
      Lets the given constant pool entry visitor visit the class constant pool entries for all + interfaces of this class.
      +
      voidkotlinMetadataAccept​(KotlinMetadataVisitor kotlinMetadataVisitor) +
      Lets the given Kotlin metadata visitor visit the metadata of this class.
      +
      booleanmayHaveImplementations​(Method method) +
      Returns whether the given method may possibly have implementing or overriding methods down the + class hierarchy.
      +
      voidmethodAccept​(java.lang.String name, + java.lang.String descriptor, + MemberVisitor memberVisitor) +
      Lets the given member info visitor visit the specified method.
      +
      voidmethodsAccept​(MemberVisitor memberVisitor) +
      Lets the given member info visitor visit all methods of this class.
      +
      voidremoveSubClass​(Clazz clazz) +
      Notifies this Clazz that it is no longer being subclassed by another class.
      +
      voidsubclassesAccept​(ClassVisitor classVisitor) +
      Lets the given class visitor visit all known subclasses.
      +
      voidsuperClassConstantAccept​(ConstantVisitor constantVisitor) +
      Lets the given constant pool entry visitor visit the class constant pool entry of the super + class of this class, if there is one.
      +
      voidthisClassConstantAccept​(ConstantVisitor constantVisitor) +
      Lets the given constant pool entry visitor visit the class constant pool entry of this class.
      +
      + + +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAccessFlags

        +
        int getAccessFlags()
        +
        Returns the access flags of this class.
        +
        +
        See Also:
        +
        ClassConstants
        +
        +
      • +
      + + + +
        +
      • +

        getName

        +
        java.lang.String getName()
        +
        Returns the full internal name of this class.
        +
      • +
      + + + +
        +
      • +

        getSuperName

        +
        java.lang.String getSuperName()
        +
        Returns the full internal name of the super class of this class, or null if this class + represents java.lang.Object.
        +
      • +
      + + + +
        +
      • +

        getInterfaceCount

        +
        int getInterfaceCount()
        +
        Returns the number of interfaces that this class implements.
        +
      • +
      + + + +
        +
      • +

        getInterfaceName

        +
        java.lang.String getInterfaceName​(int index)
        +
        Returns the full internal name of the interface at the given index of this class.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        int getTag​(int constantIndex)
        +
        Returns the tag value of the Constant at the specified index.
        +
      • +
      + + + +
        +
      • +

        getString

        +
        java.lang.String getString​(int constantIndex)
        +
        Returns the String value of the Utf8Constant at the specified index.
        +
      • +
      + + + +
        +
      • +

        getStringString

        +
        java.lang.String getStringString​(int constantIndex)
        +
        Returns the String value of the StringConstant at the specified index.
        +
      • +
      + + + +
        +
      • +

        getClassName

        +
        java.lang.String getClassName​(int constantIndex)
        +
        Returns the class name of ClassConstant at the specified index.
        +
      • +
      + + + +
        +
      • +

        getName

        +
        java.lang.String getName​(int constantIndex)
        +
        Returns the name of the NameAndTypeConstant at the specified index.
        +
      • +
      + + + +
        +
      • +

        getType

        +
        java.lang.String getType​(int constantIndex)
        +
        Returns the type of the NameAndTypeConstant at the specified index.
        +
      • +
      + + + +
        +
      • +

        getRefClassName

        +
        java.lang.String getRefClassName​(int constantIndex)
        +
        Returns the class name of the RefConstant at the specified index.
        +
      • +
      + + + +
        +
      • +

        getRefName

        +
        java.lang.String getRefName​(int constantIndex)
        +
        Returns the name of the RefConstant at the specified index.
        +
      • +
      + + + +
        +
      • +

        getRefType

        +
        java.lang.String getRefType​(int constantIndex)
        +
        Returns the type of the RefConstant at the specified index.
        +
      • +
      + + + +
        +
      • +

        getModuleName

        +
        java.lang.String getModuleName​(int constantIndex)
        +
        Returns the name of the ModuleConstant at the specified index.
        +
      • +
      + + + +
        +
      • +

        getPackageName

        +
        java.lang.String getPackageName​(int constantIndex)
        +
        Returns the name of the PackageConstant at the specified index.
        +
      • +
      + + + +
        +
      • +

        addSubClass

        +
        void addSubClass​(Clazz clazz)
        +
        Notifies this Clazz that it is being subclassed by another class.
        +
      • +
      + + + +
        +
      • +

        removeSubClass

        +
        void removeSubClass​(Clazz clazz)
        +
        Notifies this Clazz that it is no longer being subclassed by another class.
        +
      • +
      + + + +
        +
      • +

        getSuperClass

        +
        Clazz getSuperClass()
        +
        Returns the super class of this class.
        +
      • +
      + + + +
        +
      • +

        getInterface

        +
        Clazz getInterface​(int index)
        +
        Returns the interface at the given index.
        +
      • +
      + + + +
        +
      • +

        extends_

        +
        boolean extends_​(Clazz clazz)
        +
        Returns whether this class extends the given class. A class is always considered to extend + itself. Interfaces are considered to only extend the root Object class.
        +
      • +
      + + + +
        +
      • +

        extends_

        +
        boolean extends_​(java.lang.String className)
        +
        Returns whether this class extends the specified class. A class is always considered to extend + itself. Interfaces are considered to only extend the root Object class.
        +
      • +
      + + + +
        +
      • +

        extendsOrImplements

        +
        boolean extendsOrImplements​(Clazz clazz)
        +
        Returns whether this class implements the given class. A class is always considered to + implement itself. Interfaces are considered to implement all their superinterfaces.
        +
      • +
      + + + +
        +
      • +

        extendsOrImplements

        +
        boolean extendsOrImplements​(java.lang.String className)
        +
        Returns whether this class implements the specified class. A class is always considered to + implement itself. Interfaces are considered to implement all their superinterfaces.
        +
      • +
      + + + +
        +
      • +

        findField

        +
        Field findField​(java.lang.String name,
        +                java.lang.String descriptor)
        +
        Returns the field with the given name and descriptor.
        +
        +
        Parameters:
        +
        name - the field name, or null if it is irrelevant.
        +
        descriptor - the field type, or null if it is irrelevant.
        +
        Returns:
        +
        the first matching field, or null there is no matching field.
        +
        +
      • +
      + + + +
        +
      • +

        findMethod

        +
        Method findMethod​(java.lang.String name,
        +                  java.lang.String descriptor)
        +
        Returns the method with the given name and descriptor.
        +
        +
        Parameters:
        +
        name - the method name, or null if it is irrelevant.
        +
        descriptor - the method descriptor, or null if it is irrelevant.
        +
        Returns:
        +
        the first matching method, or null there is no matching method.
        +
        +
      • +
      + + + +
        +
      • +

        accept

        +
        void accept​(ClassVisitor classVisitor)
        +
        Accepts the given class visitor.
        +
      • +
      + + + +
        +
      • +

        hierarchyAccept

        +
        void hierarchyAccept​(boolean visitThisClass,
        +                     boolean visitSuperClass,
        +                     boolean visitInterfaces,
        +                     boolean visitSubclasses,
        +                     ClassVisitor classVisitor)
        +
        Accepts the given class visitor in the class hierarchy.
        +
        +
        Parameters:
        +
        visitThisClass - specifies whether to visit this class.
        +
        visitSuperClass - specifies whether to visit the super classes.
        +
        visitInterfaces - specifies whether to visit the interfaces.
        +
        visitSubclasses - specifies whether to visit the subclasses.
        +
        classVisitor - the ClassVisitor that will visit the class hierarchy.
        +
        +
      • +
      + + + +
        +
      • +

        subclassesAccept

        +
        void subclassesAccept​(ClassVisitor classVisitor)
        +
        Lets the given class visitor visit all known subclasses.
        +
        +
        Parameters:
        +
        classVisitor - the ClassVisitor that will visit the subclasses.
        +
        +
      • +
      + + + +
        +
      • +

        constantPoolEntriesAccept

        +
        void constantPoolEntriesAccept​(ConstantVisitor constantVisitor)
        +
        Lets the given constant pool entry visitor visit all constant pool entries of this class.
        +
      • +
      + + + +
        +
      • +

        constantPoolEntryAccept

        +
        void constantPoolEntryAccept​(int index,
        +                             ConstantVisitor constantVisitor)
        +
        Lets the given constant pool entry visitor visit the constant pool entry at the specified + index.
        +
      • +
      + + + +
        +
      • +

        thisClassConstantAccept

        +
        void thisClassConstantAccept​(ConstantVisitor constantVisitor)
        +
        Lets the given constant pool entry visitor visit the class constant pool entry of this class.
        +
      • +
      + + + +
        +
      • +

        superClassConstantAccept

        +
        void superClassConstantAccept​(ConstantVisitor constantVisitor)
        +
        Lets the given constant pool entry visitor visit the class constant pool entry of the super + class of this class, if there is one.
        +
      • +
      + + + +
        +
      • +

        interfaceConstantsAccept

        +
        void interfaceConstantsAccept​(ConstantVisitor constantVisitor)
        +
        Lets the given constant pool entry visitor visit the class constant pool entries for all + interfaces of this class.
        +
      • +
      + + + +
        +
      • +

        fieldsAccept

        +
        void fieldsAccept​(MemberVisitor memberVisitor)
        +
        Lets the given member info visitor visit all fields of this class.
        +
      • +
      + + + +
        +
      • +

        fieldAccept

        +
        void fieldAccept​(java.lang.String name,
        +                 java.lang.String descriptor,
        +                 MemberVisitor memberVisitor)
        +
        Lets the given member info visitor visit the specified field.
        +
      • +
      + + + +
        +
      • +

        methodsAccept

        +
        void methodsAccept​(MemberVisitor memberVisitor)
        +
        Lets the given member info visitor visit all methods of this class.
        +
      • +
      + + + +
        +
      • +

        methodAccept

        +
        void methodAccept​(java.lang.String name,
        +                  java.lang.String descriptor,
        +                  MemberVisitor memberVisitor)
        +
        Lets the given member info visitor visit the specified method.
        +
      • +
      + + + +
        +
      • +

        mayHaveImplementations

        +
        boolean mayHaveImplementations​(Method method)
        +
        Returns whether the given method may possibly have implementing or overriding methods down the + class hierarchy. This can only be true if the class is not final, and the method is not + private, static, or final, or a constructor.
        +
        +
        Parameters:
        +
        method - the method that may have implementations.
        +
        Returns:
        +
        whether it may have implementations.
        +
        +
      • +
      + + + +
        +
      • +

        attributesAccept

        +
        void attributesAccept​(AttributeVisitor attributeVisitor)
        +
        Lets the given attribute info visitor visit all attributes of this class.
        +
      • +
      + + + +
        +
      • +

        attributeAccept

        +
        void attributeAccept​(java.lang.String name,
        +                     AttributeVisitor attributeVisitor)
        +
        Lets the given attribute info visitor visit the specified attribute.
        +
      • +
      + + + +
        +
      • +

        kotlinMetadataAccept

        +
        void kotlinMetadataAccept​(KotlinMetadataVisitor kotlinMetadataVisitor)
        +
        Lets the given Kotlin metadata visitor visit the metadata of this class.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/Field.html b/api/proguard/classfile/Field.html new file mode 100644 index 000000000..977918f2d --- /dev/null +++ b/api/proguard/classfile/Field.html @@ -0,0 +1,228 @@ + + + + + +Field (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Field

+
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/FieldSignature.html b/api/proguard/classfile/FieldSignature.html new file mode 100644 index 000000000..5fc905484 --- /dev/null +++ b/api/proguard/classfile/FieldSignature.html @@ -0,0 +1,511 @@ + + + + + +FieldSignature (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FieldSignature

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Comparable<Signature>
    +
    +
    +
    public class FieldSignature
    +extends Signature
    +
    Represents a field signature consisting of class and member name.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        memberName

        +
        public final java.lang.String memberName
        +
      • +
      + + + +
        +
      • +

        descriptor

        +
        public final java.lang.String descriptor
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FieldSignature

        +
        public FieldSignature​(java.lang.String clazzName,
        +                      java.lang.String memberName,
        +                      java.lang.String descriptor)
        +
      • +
      + + + +
        +
      • +

        FieldSignature

        +
        public FieldSignature​(Clazz clazz,
        +                      Field field)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isIncomplete

        +
        public boolean isIncomplete()
        +
        Description copied from class: Signature
        +
        Check if this signature is missing information.
        +
        +
        Specified by:
        +
        isIncomplete in class Signature
        +
        +
      • +
      + + + +
        +
      • +

        calculateFqn

        +
        protected java.lang.String calculateFqn()
        +
        +
        Specified by:
        +
        calculateFqn in class Signature
        +
        +
      • +
      + + + +
        +
      • +

        calculatePrettyFqn

        +
        protected java.lang.String calculatePrettyFqn()
        +
        +
        Specified by:
        +
        calculatePrettyFqn in class Signature
        +
        +
      • +
      + + + +
        +
      • +

        computeIfAbsent

        +
        public static FieldSignature computeIfAbsent​(Clazz clazz,
        +                                             Field field)
        +
        Get the singleton FieldSignature object for this specific Field. If it is not + yet available in the cache, it will be newly instantiated.
        +
        +
        Parameters:
        +
        clazz - The class containing the target field
        +
        field - The field whose signature is to be generated
        +
        Returns:
        +
        The cached or newly generated FieldSignature object
        +
        +
      • +
      + + + +
        +
      • +

        clearCache

        +
        public static void clearCache()
        +
        Remove all currently cached FieldSignature objects from the cache, allowing them to be + removed by the garbage collector.
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class Signature
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/JavaAccessConstants.html b/api/proguard/classfile/JavaAccessConstants.html new file mode 100644 index 000000000..403d900a7 --- /dev/null +++ b/api/proguard/classfile/JavaAccessConstants.html @@ -0,0 +1,713 @@ + + + + + +JavaAccessConstants (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JavaAccessConstants

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.JavaAccessConstants
    • +
    +
  • +
+
+
    +
  • +
    +
    public class JavaAccessConstants
    +extends java.lang.Object
    +
    Access modifiers for classes, fields, methods, parameters, and modules in Java source code.
    +
    +
    See Also:
    +
    AccessConstants
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      static java.lang.StringABSTRACT 
      static java.lang.StringANNOTATION 
      static java.lang.StringBRIDGE 
      static java.lang.StringENUM 
      static java.lang.StringFINAL 
      static java.lang.StringINTERFACE 
      static java.lang.StringMANDATED 
      static java.lang.StringMODULE 
      static java.lang.StringNATIVE 
      static java.lang.StringOPEN 
      static java.lang.StringPRIVATE 
      static java.lang.StringPROTECTED 
      static java.lang.StringPUBLIC 
      static java.lang.StringSTATIC 
      static java.lang.StringSTATIC_PHASE 
      static java.lang.StringSTRICT 
      static java.lang.StringSUPER 
      static java.lang.StringSYNCHRONIZED 
      static java.lang.StringSYNTHETIC 
      static java.lang.StringTRANSIENT 
      static java.lang.StringTRANSITIVE 
      static java.lang.StringVARARGS 
      static java.lang.StringVOLATILE 
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/JavaConstants.html b/api/proguard/classfile/JavaConstants.html new file mode 100644 index 000000000..13ef11a9c --- /dev/null +++ b/api/proguard/classfile/JavaConstants.html @@ -0,0 +1,623 @@ + + + + + +JavaConstants (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JavaConstants

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.JavaConstants
    • +
    +
  • +
+
+
    +
  • +
    +
    public class JavaConstants
    +extends java.lang.Object
    +
    External names and descriptors of common classes, fields, and methods from the Java runtime.
    +
    +
    See Also:
    +
    ClassConstants
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        JAVA_FILE_EXTENSION

        +
        public static final java.lang.String JAVA_FILE_EXTENSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_BOOLEAN

        +
        public static final java.lang.String TYPE_JAVA_LANG_BOOLEAN
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_INTEGER

        +
        public static final java.lang.String TYPE_JAVA_LANG_INTEGER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_LONG

        +
        public static final java.lang.String TYPE_JAVA_LANG_LONG
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_CHARACTER

        +
        public static final java.lang.String TYPE_JAVA_LANG_CHARACTER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_BYTE

        +
        public static final java.lang.String TYPE_JAVA_LANG_BYTE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_SHORT

        +
        public static final java.lang.String TYPE_JAVA_LANG_SHORT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_FLOAT

        +
        public static final java.lang.String TYPE_JAVA_LANG_FLOAT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_DOUBLE

        +
        public static final java.lang.String TYPE_JAVA_LANG_DOUBLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_OBJECT

        +
        public static final java.lang.String TYPE_JAVA_LANG_OBJECT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_STRING

        +
        public static final java.lang.String TYPE_JAVA_LANG_STRING
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_CLASS

        +
        public static final java.lang.String TYPE_JAVA_LANG_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_ENUM

        +
        public static final java.lang.String TYPE_JAVA_LANG_ENUM
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_ANNOTATION_ANNOTATION

        +
        public static final java.lang.String TYPE_JAVA_LANG_ANNOTATION_ANNOTATION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_REFLECT_ARRAY

        +
        public static final java.lang.String TYPE_JAVA_LANG_REFLECT_ARRAY
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_INVOKE_METHODHANDLE

        +
        public static final java.lang.String TYPE_JAVA_LANG_INVOKE_METHODHANDLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_JAVA_LANG_INVOKE_METHODTYPE

        +
        public static final java.lang.String TYPE_JAVA_LANG_INVOKE_METHODTYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        PACKAGE_JAVA_LANG

        +
        public static final java.lang.String PACKAGE_JAVA_LANG
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JavaConstants

        +
        public JavaConstants()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/JavaTypeConstants.html b/api/proguard/classfile/JavaTypeConstants.html new file mode 100644 index 000000000..58712f949 --- /dev/null +++ b/api/proguard/classfile/JavaTypeConstants.html @@ -0,0 +1,606 @@ + + + + + +JavaTypeConstants (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JavaTypeConstants

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.JavaTypeConstants
    • +
    +
  • +
+
+
    +
  • +
    +
    public class JavaTypeConstants
    +extends java.lang.Object
    +
    Constant characters that are part of primitive and non-primitive type descriptors in Java source + code.
    +
    +
    See Also:
    +
    TypeConstants
    +
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/JavaVersionConstants.html b/api/proguard/classfile/JavaVersionConstants.html new file mode 100644 index 000000000..2bc184af9 --- /dev/null +++ b/api/proguard/classfile/JavaVersionConstants.html @@ -0,0 +1,821 @@ + + + + + +JavaVersionConstants (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JavaVersionConstants

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.JavaVersionConstants
    • +
    +
  • +
+
+
    +
  • +
    +
    public class JavaVersionConstants
    +extends java.lang.Object
    +
    Known external version numbers of class files.
    +
    +
    See Also:
    +
    VersionConstants
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        CLASS_VERSION_1_0

        +
        public static final java.lang.String CLASS_VERSION_1_0
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_1

        +
        public static final java.lang.String CLASS_VERSION_1_1
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_2

        +
        public static final java.lang.String CLASS_VERSION_1_2
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_3

        +
        public static final java.lang.String CLASS_VERSION_1_3
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_4

        +
        public static final java.lang.String CLASS_VERSION_1_4
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_5

        +
        public static final java.lang.String CLASS_VERSION_1_5
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_6

        +
        public static final java.lang.String CLASS_VERSION_1_6
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_7

        +
        public static final java.lang.String CLASS_VERSION_1_7
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_8

        +
        public static final java.lang.String CLASS_VERSION_1_8
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_9

        +
        public static final java.lang.String CLASS_VERSION_1_9
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_5_ALIAS

        +
        public static final java.lang.String CLASS_VERSION_1_5_ALIAS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_6_ALIAS

        +
        public static final java.lang.String CLASS_VERSION_1_6_ALIAS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_7_ALIAS

        +
        public static final java.lang.String CLASS_VERSION_1_7_ALIAS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_8_ALIAS

        +
        public static final java.lang.String CLASS_VERSION_1_8_ALIAS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_1_9_ALIAS

        +
        public static final java.lang.String CLASS_VERSION_1_9_ALIAS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_10

        +
        public static final java.lang.String CLASS_VERSION_10
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_11

        +
        public static final java.lang.String CLASS_VERSION_11
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_12

        +
        public static final java.lang.String CLASS_VERSION_12
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_13

        +
        public static final java.lang.String CLASS_VERSION_13
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_14

        +
        public static final java.lang.String CLASS_VERSION_14
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_15

        +
        public static final java.lang.String CLASS_VERSION_15
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_16

        +
        public static final java.lang.String CLASS_VERSION_16
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_17

        +
        public static final java.lang.String CLASS_VERSION_17
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_18

        +
        public static final java.lang.String CLASS_VERSION_18
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_19

        +
        public static final java.lang.String CLASS_VERSION_19
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_20

        +
        public static final java.lang.String CLASS_VERSION_20
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_21

        +
        public static final java.lang.String CLASS_VERSION_21
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_22

        +
        public static final java.lang.String CLASS_VERSION_22
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_VERSION_23

        +
        public static final java.lang.String CLASS_VERSION_23
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JavaVersionConstants

        +
        public JavaVersionConstants()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/LibraryClass.html b/api/proguard/classfile/LibraryClass.html new file mode 100644 index 000000000..2c7b444c4 --- /dev/null +++ b/api/proguard/classfile/LibraryClass.html @@ -0,0 +1,1696 @@ + + + + + +LibraryClass (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LibraryClass

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2accessFlags

        +
        public int u2accessFlags
        +
      • +
      + + + +
        +
      • +

        thisClassName

        +
        public java.lang.String thisClassName
        +
      • +
      + + + +
        +
      • +

        superClassName

        +
        public java.lang.String superClassName
        +
      • +
      + + + +
        +
      • +

        interfaceNames

        +
        public java.lang.String[] interfaceNames
        +
      • +
      + + + + + + + + + + + + + + + + + + + +
        +
      • +

        interfaceClasses

        +
        public Clazz[] interfaceClasses
        +
        An extra field pointing to the interfaces of this class. This field is filled out by the ClassSuperHierarchyInitializer.
        +
      • +
      + + + +
        +
      • +

        subClasses

        +
        public Clazz[] subClasses
        +
        An extra field pointing to the subclasses of this class. This field is filled out by the ClassSubHierarchyInitializer.
        +
      • +
      + + + +
        +
      • +

        subClassCount

        +
        public int subClassCount
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LibraryClass

        +
        public LibraryClass()
        +
        Creates an empty LibraryClass.
        +
      • +
      + + + +
        +
      • +

        LibraryClass

        +
        public LibraryClass​(int u2accessFlags,
        +                    java.lang.String thisClassName,
        +                    java.lang.String superClassName)
        +
        Creates an initialized LibraryClass
        +
        +
        Parameters:
        +
        u2accessFlags - access flags for the new class.
        +
        thisClassName - the fully qualified name of the new class.
        +
        superClassName - the fully qualified name of the super class.
        +
        +
      • +
      + + + +
        +
      • +

        LibraryClass

        +
        public LibraryClass​(int u2accessFlags,
        +                    java.lang.String thisClassName,
        +                    java.lang.String superClassName,
        +                    KotlinMetadata kotlinMetadata)
        +
        Creates an initialized LibraryClass
        +
        +
        Parameters:
        +
        u2accessFlags - access flags for the new class.
        +
        thisClassName - the fully qualified name of the new class.
        +
        superClassName - the fully qualified name of the super class.
        +
        kotlinMetadata - the metadata attached to this class if it is a Kotlin class.
        +
        +
      • +
      + + + +
        +
      • +

        LibraryClass

        +
        public LibraryClass​(int u2accessFlags,
        +                    java.lang.String thisClassName,
        +                    java.lang.String superClassName,
        +                    java.lang.String[] interfaceNames,
        +                    Clazz[] interfaceClasses,
        +                    int subClassCount,
        +                    Clazz[] subClasses,
        +                    LibraryField[] fields,
        +                    LibraryMethod[] methods,
        +                    KotlinMetadata kotlinMetadata)
        +
        Creates an initialized LibraryClass
        +
        +
        Parameters:
        +
        u2accessFlags - access flags for the new class.
        +
        thisClassName - the fully qualified name of the new class.
        +
        superClassName - the fully qualified name of the super class.
        +
        interfaceNames - the names of the interfaces that are implemented by this class.
        +
        interfaceClasses - references to the interface classes of the interfaces that are + implemented by this class.
        +
        subClassCount - the number of subclasses of this class.
        +
        subClasses - references to the subclasses of this class.
        +
        fields - references to the fields of this class.
        +
        methods - references to the methods of this class.
        +
        kotlinMetadata - the metadata attached to this class if it is a Kotlin class
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAccessFlags

        +
        public int getAccessFlags()
        +
        Description copied from interface: Clazz
        +
        Returns the access flags of this class.
        +
        +
        Specified by:
        +
        getAccessFlags in interface Clazz
        +
        See Also:
        +
        ClassConstants
        +
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Description copied from interface: Clazz
        +
        Returns the full internal name of this class.
        +
        +
        Specified by:
        +
        getName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getSuperName

        +
        public java.lang.String getSuperName()
        +
        Description copied from interface: Clazz
        +
        Returns the full internal name of the super class of this class, or null if this class + represents java.lang.Object.
        +
        +
        Specified by:
        +
        getSuperName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getInterfaceCount

        +
        public int getInterfaceCount()
        +
        Description copied from interface: Clazz
        +
        Returns the number of interfaces that this class implements.
        +
        +
        Specified by:
        +
        getInterfaceCount in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getInterfaceName

        +
        public java.lang.String getInterfaceName​(int index)
        +
        Description copied from interface: Clazz
        +
        Returns the full internal name of the interface at the given index of this class.
        +
        +
        Specified by:
        +
        getInterfaceName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the tag value of the Constant at the specified index.
        +
        +
        Specified by:
        +
        getTag in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getString

        +
        public java.lang.String getString​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the String value of the Utf8Constant at the specified index.
        +
        +
        Specified by:
        +
        getString in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getStringString

        +
        public java.lang.String getStringString​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the String value of the StringConstant at the specified index.
        +
        +
        Specified by:
        +
        getStringString in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getClassName

        +
        public java.lang.String getClassName​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the class name of ClassConstant at the specified index.
        +
        +
        Specified by:
        +
        getClassName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the name of the NameAndTypeConstant at the specified index.
        +
        +
        Specified by:
        +
        getName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public java.lang.String getType​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the type of the NameAndTypeConstant at the specified index.
        +
        +
        Specified by:
        +
        getType in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getRefClassName

        +
        public java.lang.String getRefClassName​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the class name of the RefConstant at the specified index.
        +
        +
        Specified by:
        +
        getRefClassName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getRefName

        +
        public java.lang.String getRefName​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the name of the RefConstant at the specified index.
        +
        +
        Specified by:
        +
        getRefName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getRefType

        +
        public java.lang.String getRefType​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the type of the RefConstant at the specified index.
        +
        +
        Specified by:
        +
        getRefType in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getModuleName

        +
        public java.lang.String getModuleName​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the name of the ModuleConstant at the specified index.
        +
        +
        Specified by:
        +
        getModuleName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getPackageName

        +
        public java.lang.String getPackageName​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the name of the PackageConstant at the specified index.
        +
        +
        Specified by:
        +
        getPackageName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        addSubClass

        +
        public void addSubClass​(Clazz clazz)
        +
        Description copied from interface: Clazz
        +
        Notifies this Clazz that it is being subclassed by another class.
        +
        +
        Specified by:
        +
        addSubClass in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        removeSubClass

        +
        public void removeSubClass​(Clazz clazz)
        +
        Description copied from interface: Clazz
        +
        Notifies this Clazz that it is no longer being subclassed by another class.
        +
        +
        Specified by:
        +
        removeSubClass in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getSuperClass

        +
        public Clazz getSuperClass()
        +
        Description copied from interface: Clazz
        +
        Returns the super class of this class.
        +
        +
        Specified by:
        +
        getSuperClass in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getInterface

        +
        public Clazz getInterface​(int index)
        +
        Description copied from interface: Clazz
        +
        Returns the interface at the given index.
        +
        +
        Specified by:
        +
        getInterface in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        extends_

        +
        public boolean extends_​(Clazz clazz)
        +
        Description copied from interface: Clazz
        +
        Returns whether this class extends the given class. A class is always considered to extend + itself. Interfaces are considered to only extend the root Object class.
        +
        +
        Specified by:
        +
        extends_ in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        extends_

        +
        public boolean extends_​(java.lang.String className)
        +
        Description copied from interface: Clazz
        +
        Returns whether this class extends the specified class. A class is always considered to extend + itself. Interfaces are considered to only extend the root Object class.
        +
        +
        Specified by:
        +
        extends_ in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        extendsOrImplements

        +
        public boolean extendsOrImplements​(Clazz clazz)
        +
        Description copied from interface: Clazz
        +
        Returns whether this class implements the given class. A class is always considered to + implement itself. Interfaces are considered to implement all their superinterfaces.
        +
        +
        Specified by:
        +
        extendsOrImplements in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        extendsOrImplements

        +
        public boolean extendsOrImplements​(java.lang.String className)
        +
        Description copied from interface: Clazz
        +
        Returns whether this class implements the specified class. A class is always considered to + implement itself. Interfaces are considered to implement all their superinterfaces.
        +
        +
        Specified by:
        +
        extendsOrImplements in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        findField

        +
        public Field findField​(java.lang.String name,
        +                       java.lang.String descriptor)
        +
        Description copied from interface: Clazz
        +
        Returns the field with the given name and descriptor.
        +
        +
        Specified by:
        +
        findField in interface Clazz
        +
        Parameters:
        +
        name - the field name, or null if it is irrelevant.
        +
        descriptor - the field type, or null if it is irrelevant.
        +
        Returns:
        +
        the first matching field, or null there is no matching field.
        +
        +
      • +
      + + + +
        +
      • +

        findMethod

        +
        public Method findMethod​(java.lang.String name,
        +                         java.lang.String descriptor)
        +
        Description copied from interface: Clazz
        +
        Returns the method with the given name and descriptor.
        +
        +
        Specified by:
        +
        findMethod in interface Clazz
        +
        Parameters:
        +
        name - the method name, or null if it is irrelevant.
        +
        descriptor - the method descriptor, or null if it is irrelevant.
        +
        Returns:
        +
        the first matching method, or null there is no matching method.
        +
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(ClassVisitor classVisitor)
        +
        Description copied from interface: Clazz
        +
        Accepts the given class visitor.
        +
        +
        Specified by:
        +
        accept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        hierarchyAccept

        +
        public void hierarchyAccept​(boolean visitThisClass,
        +                            boolean visitSuperClass,
        +                            boolean visitInterfaces,
        +                            boolean visitSubclasses,
        +                            ClassVisitor classVisitor)
        +
        Description copied from interface: Clazz
        +
        Accepts the given class visitor in the class hierarchy.
        +
        +
        Specified by:
        +
        hierarchyAccept in interface Clazz
        +
        Parameters:
        +
        visitThisClass - specifies whether to visit this class.
        +
        visitSuperClass - specifies whether to visit the super classes.
        +
        visitInterfaces - specifies whether to visit the interfaces.
        +
        visitSubclasses - specifies whether to visit the subclasses.
        +
        classVisitor - the ClassVisitor that will visit the class hierarchy.
        +
        +
      • +
      + + + +
        +
      • +

        superClassAccept

        +
        public void superClassAccept​(ClassVisitor classVisitor)
        +
        Lets the given class visitor visit the superclass, if it is known.
        +
        +
        Parameters:
        +
        classVisitor - the ClassVisitor that will visit the superclass.
        +
        +
      • +
      + + + +
        +
      • +

        interfacesAccept

        +
        public void interfacesAccept​(ClassVisitor classVisitor)
        +
        Lets the given class visitor visit all known direct interfaces.
        +
        +
        Parameters:
        +
        classVisitor - the ClassVisitor that will visit the interfaces.
        +
        +
      • +
      + + + +
        +
      • +

        subclassesAccept

        +
        public void subclassesAccept​(ClassVisitor classVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given class visitor visit all known subclasses.
        +
        +
        Specified by:
        +
        subclassesAccept in interface Clazz
        +
        Parameters:
        +
        classVisitor - the ClassVisitor that will visit the subclasses.
        +
        +
      • +
      + + + +
        +
      • +

        constantPoolEntriesAccept

        +
        public void constantPoolEntriesAccept​(ConstantVisitor constantVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given constant pool entry visitor visit all constant pool entries of this class.
        +
        +
        Specified by:
        +
        constantPoolEntriesAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        constantPoolEntryAccept

        +
        public void constantPoolEntryAccept​(int index,
        +                                    ConstantVisitor constantVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given constant pool entry visitor visit the constant pool entry at the specified + index.
        +
        +
        Specified by:
        +
        constantPoolEntryAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        thisClassConstantAccept

        +
        public void thisClassConstantAccept​(ConstantVisitor constantVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given constant pool entry visitor visit the class constant pool entry of this class.
        +
        +
        Specified by:
        +
        thisClassConstantAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        superClassConstantAccept

        +
        public void superClassConstantAccept​(ConstantVisitor constantVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given constant pool entry visitor visit the class constant pool entry of the super + class of this class, if there is one.
        +
        +
        Specified by:
        +
        superClassConstantAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        interfaceConstantsAccept

        +
        public void interfaceConstantsAccept​(ConstantVisitor constantVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given constant pool entry visitor visit the class constant pool entries for all + interfaces of this class.
        +
        +
        Specified by:
        +
        interfaceConstantsAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        fieldsAccept

        +
        public void fieldsAccept​(MemberVisitor memberVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given member info visitor visit all fields of this class.
        +
        +
        Specified by:
        +
        fieldsAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        fieldAccept

        +
        public void fieldAccept​(java.lang.String name,
        +                        java.lang.String descriptor,
        +                        MemberVisitor memberVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given member info visitor visit the specified field.
        +
        +
        Specified by:
        +
        fieldAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        methodsAccept

        +
        public void methodsAccept​(MemberVisitor memberVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given member info visitor visit all methods of this class.
        +
        +
        Specified by:
        +
        methodsAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        methodAccept

        +
        public void methodAccept​(java.lang.String name,
        +                         java.lang.String descriptor,
        +                         MemberVisitor memberVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given member info visitor visit the specified method.
        +
        +
        Specified by:
        +
        methodAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        mayHaveImplementations

        +
        public boolean mayHaveImplementations​(Method method)
        +
        Description copied from interface: Clazz
        +
        Returns whether the given method may possibly have implementing or overriding methods down the + class hierarchy. This can only be true if the class is not final, and the method is not + private, static, or final, or a constructor.
        +
        +
        Specified by:
        +
        mayHaveImplementations in interface Clazz
        +
        Parameters:
        +
        method - the method that may have implementations.
        +
        Returns:
        +
        whether it may have implementations.
        +
        +
      • +
      + + + +
        +
      • +

        attributesAccept

        +
        public void attributesAccept​(AttributeVisitor attributeVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given attribute info visitor visit all attributes of this class.
        +
        +
        Specified by:
        +
        attributesAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        attributeAccept

        +
        public void attributeAccept​(java.lang.String name,
        +                            AttributeVisitor attributeVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given attribute info visitor visit the specified attribute.
        +
        +
        Specified by:
        +
        attributeAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        kotlinMetadataAccept

        +
        public void kotlinMetadataAccept​(KotlinMetadataVisitor kotlinMetadataVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given Kotlin metadata visitor visit the metadata of this class.
        +
        +
        Specified by:
        +
        kotlinMetadataAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/LibraryField.html b/api/proguard/classfile/LibraryField.html new file mode 100644 index 000000000..0ba8c4260 --- /dev/null +++ b/api/proguard/classfile/LibraryField.html @@ -0,0 +1,468 @@ + + + + + +LibraryField (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LibraryField

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        referencedClass

        +
        public Clazz referencedClass
        +
        An extra field pointing to the Clazz object referenced in the descriptor string. This field is + filled out by the ClassReferenceInitializer. References + to primitive types are ignored.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LibraryField

        +
        public LibraryField()
        +
        Creates an uninitialized LibraryField.
        +
      • +
      + + + +
        +
      • +

        LibraryField

        +
        public LibraryField​(int u2accessFlags,
        +                    java.lang.String name,
        +                    java.lang.String descriptor)
        +
        Creates an initialized LibraryField.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/LibraryMember.html b/api/proguard/classfile/LibraryMember.html new file mode 100644 index 000000000..eab2acba9 --- /dev/null +++ b/api/proguard/classfile/LibraryMember.html @@ -0,0 +1,542 @@ + + + + + +LibraryMember (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LibraryMember

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2accessFlags

        +
        public int u2accessFlags
        +
      • +
      + + + +
        +
      • +

        name

        +
        public java.lang.String name
        +
      • +
      + + + +
        +
      • +

        descriptor

        +
        public java.lang.String descriptor
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LibraryMember

        +
        protected LibraryMember()
        +
        Creates an uninitialized LibraryMember.
        +
      • +
      + + + +
        +
      • +

        LibraryMember

        +
        protected LibraryMember​(int u2accessFlags,
        +                        java.lang.String name,
        +                        java.lang.String descriptor)
        +
        Creates an initialized LibraryMember.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        accept

        +
        public abstract void accept​(LibraryClass libraryClass,
        +                            MemberVisitor memberVisitor)
        +
        Accepts the given member info visitor.
        +
      • +
      + + + +
        +
      • +

        getAccessFlags

        +
        public int getAccessFlags()
        +
        Description copied from interface: Member
        +
        Returns the access flags.
        +
        +
        Specified by:
        +
        getAccessFlags in interface Member
        +
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Description copied from interface: Member
        +
        Returns the class member name.
        +
        +
        Specified by:
        +
        getName in interface Member
        +
        +
      • +
      + + + +
        +
      • +

        getDescriptor

        +
        public java.lang.String getDescriptor​(Clazz clazz)
        +
        Description copied from interface: Member
        +
        Returns the class member's descriptor.
        +
        +
        Specified by:
        +
        getDescriptor in interface Member
        +
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   MemberVisitor memberVisitor)
        +
        Description copied from interface: Member
        +
        Accepts the given class visitor.
        +
        +
        Specified by:
        +
        accept in interface Member
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/LibraryMethod.html b/api/proguard/classfile/LibraryMethod.html new file mode 100644 index 000000000..08ba71750 --- /dev/null +++ b/api/proguard/classfile/LibraryMethod.html @@ -0,0 +1,469 @@ + + + + + +LibraryMethod (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LibraryMethod

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        referencedClasses

        +
        public Clazz[] referencedClasses
        +
        An extra field containing all the classes referenced in the descriptor string. This field is + filled out by the ClassReferenceInitializer. The size of the array is the number of classes in the descriptor. + Primitive types and arrays of primitive types are ignored. Unknown classes are represented as + null values.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LibraryMethod

        +
        public LibraryMethod()
        +
        Creates an uninitialized LibraryMethod.
        +
      • +
      + + + +
        +
      • +

        LibraryMethod

        +
        public LibraryMethod​(int u2accessFlags,
        +                     java.lang.String name,
        +                     java.lang.String descriptor)
        +
        Creates an initialized LibraryMethod.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/Member.html b/api/proguard/classfile/Member.html new file mode 100644 index 000000000..2eb642287 --- /dev/null +++ b/api/proguard/classfile/Member.html @@ -0,0 +1,342 @@ + + + + + +Member (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Member

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAccessFlags

        +
        int getAccessFlags()
        +
        Returns the access flags.
        +
      • +
      + + + +
        +
      • +

        getName

        +
        java.lang.String getName​(Clazz clazz)
        +
        Returns the class member name.
        +
      • +
      + + + +
        +
      • +

        getDescriptor

        +
        java.lang.String getDescriptor​(Clazz clazz)
        +
        Returns the class member's descriptor.
        +
      • +
      + + + +
        +
      • +

        accept

        +
        void accept​(Clazz clazz,
        +            MemberVisitor memberVisitor)
        +
        Accepts the given class visitor.
        +
      • +
      + + + +
        +
      • +

        referencedClassesAccept

        +
        void referencedClassesAccept​(ClassVisitor classVisitor)
        +
        Lets the Clazz objects referenced in the descriptor string accept the given visitor.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/Method.html b/api/proguard/classfile/Method.html new file mode 100644 index 000000000..05ef38780 --- /dev/null +++ b/api/proguard/classfile/Method.html @@ -0,0 +1,228 @@ + + + + + +Method (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Method

+
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/MethodDescriptor.html b/api/proguard/classfile/MethodDescriptor.html new file mode 100644 index 000000000..efc31cf94 --- /dev/null +++ b/api/proguard/classfile/MethodDescriptor.html @@ -0,0 +1,571 @@ + + + + + +MethodDescriptor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodDescriptor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.MethodDescriptor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class MethodDescriptor
    +extends java.lang.Object
    +
    Represents the descriptor that is part of a MethodSignature. A descriptor consists of + parameter types and return type of a method, e.g. "()V" for a void method with no parameters, or + "(II)B" for a method that takes two integers and returns a boolean. Read more about this topic in + §4.3.3 of + the JVM specification.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      java.util.List<java.lang.String>argumentTypes +
      Deprecated.
      +
      java.lang.StringreturnType +
      Deprecated.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      MethodDescriptor​(java.lang.String descriptor) 
      MethodDescriptor​(java.lang.String returnType, + java.util.List<java.lang.String> argumentTypes) 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        returnType

        +
        @Deprecated
        +public final java.lang.String returnType
        +
        Deprecated.
        +
      • +
      + + + +
        +
      • +

        argumentTypes

        +
        @Deprecated
        +public final java.util.List<java.lang.String> argumentTypes
        +
        Deprecated.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodDescriptor

        +
        public MethodDescriptor​(java.lang.String descriptor)
        +
      • +
      + + + +
        +
      • +

        MethodDescriptor

        +
        public MethodDescriptor​(java.lang.String returnType,
        +                        java.util.List<java.lang.String> argumentTypes)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isIncomplete

        +
        public boolean isIncomplete()
        +
        Check if this descriptor is missing information.
        +
      • +
      + + + +
        +
      • +

        getReturnType

        +
        public java.lang.String getReturnType()
        +
      • +
      + + + +
        +
      • +

        getArgumentTypes

        +
        public java.util.List<java.lang.String> getArgumentTypes()
        +
      • +
      + + + +
        +
      • +

        matchesIgnoreNull

        +
        public static boolean matchesIgnoreNull​(MethodDescriptor descriptor,
        +                                        MethodDescriptor wildcard)
        +
        Analogous to {@link MethodSignature.matchesIgnoreNull(MethodSignature, MethodSignature)}.
        +
        +
        Parameters:
        +
        descriptor - The MethodDescriptor to be compared
        +
        wildcard - The MethodDescriptor pattern to be matched against
        +
        Returns:
        +
        true if the two objects match
        +
        +
      • +
      + + + +
        +
      • +

        matchesIgnoreNullAndDollar

        +
        public static boolean matchesIgnoreNullAndDollar​(MethodDescriptor descriptor,
        +                                                 MethodDescriptor wildcard)
        +
        Analogous to {@link MethodSignature.matchesIgnoreNullAndDollar(MethodSignature, + MethodSignature)}.
        +
        +
        Parameters:
        +
        descriptor - The MethodDescriptor to be compared
        +
        wildcard - The MethodDescriptor pattern to be matched against
        +
        Returns:
        +
        true if the two objects match
        +
        +
      • +
      + + + +
        +
      • +

        getPrettyReturnType

        +
        public java.lang.String getPrettyReturnType()
        +
        Get the human readable representation of the return type. E.g. "void" for "V" or "?" for an + undefined return type.
        +
        +
        Returns:
        +
        The human readable representation of returnType
        +
        +
      • +
      + + + +
        +
      • +

        getPrettyArgumentTypes

        +
        public java.lang.String getPrettyArgumentTypes()
        +
        Get the human readable representation of the argument types. E.g. "String,int" for + "(Ljava/lang/String;I)".
        +
        +
        Returns:
        +
        The human readable representation of argumentTypes
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/MethodInfo.html b/api/proguard/classfile/MethodInfo.html new file mode 100644 index 000000000..3badd9afd --- /dev/null +++ b/api/proguard/classfile/MethodInfo.html @@ -0,0 +1,275 @@ + + + + + +MethodInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface MethodInfo

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    BasicMethodInfo, MethodSignature
    +
    +
    +
    public interface MethodInfo
    +
    Can be implemented by classes carrying method information.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getMethodName

        +
        @NotNull
        +@NotNull java.lang.String getMethodName()
        +
        Returns the method's name.
        +
      • +
      + + + +
        +
      • +

        getDescriptor

        +
        @NotNull
        +@NotNull MethodDescriptor getDescriptor()
        +
        Returns the method's descriptor.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/MethodSignature.html b/api/proguard/classfile/MethodSignature.html new file mode 100644 index 000000000..5e6cc6db6 --- /dev/null +++ b/api/proguard/classfile/MethodSignature.html @@ -0,0 +1,711 @@ + + + + + +MethodSignature (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodSignature

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Comparable<Signature>, MethodInfo
    +
    +
    +
    public class MethodSignature
    +extends Signature
    +implements MethodInfo
    +
    Represents a Method signature containing a class, method and a descriptor. + +

    In order to avoid a huge blow-up in memory consumption for analyses that rely heavily on + method signatures, e.g. the creation of a call graph, this class provides the ability to cache + signatures belonging to concrete Method objects. By using the corresponding computeIfAbsent(Clazz, Method) method, the amount of strings that need to be retained during + runtime is reduced.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + +
        +
      • +

        method

        +
        @Nullable
        +public final @Nullable java.lang.String method
        +
      • +
      + + + +
        +
      • +

        descriptor

        +
        @Nullable
        +public final @Nullable MethodDescriptor descriptor
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodSignature

        +
        public MethodSignature​(@Nullable
        +                       @Nullable java.lang.String internalClassName,
        +                       @Nullable
        +                       @Nullable java.lang.String method,
        +                       @Nullable
        +                       @Nullable MethodDescriptor descriptor)
        +
      • +
      + + + +
        +
      • +

        MethodSignature

        +
        public MethodSignature​(@Nullable
        +                       @Nullable java.lang.String internalClassName,
        +                       @Nullable
        +                       @Nullable java.lang.String method,
        +                       @Nullable
        +                       @Nullable java.lang.String descriptor)
        +
      • +
      + + + +
        +
      • +

        MethodSignature

        +
        public MethodSignature​(@NotNull
        +                       @NotNull Clazz clazz,
        +                       @NotNull
        +                       @NotNull Method method)
        +
      • +
      + + + +
        +
      • +

        MethodSignature

        +
        public MethodSignature​(@NotNull
        +                       @NotNull Clazz clazz)
        +
      • +
      + + + +
        +
      • +

        MethodSignature

        +
        public MethodSignature​(@Nullable
        +                       @Nullable java.lang.String className)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getReferencedMethod

        +
        public Method getReferencedMethod()
        +
        Returns the Method reference that corresponds to the method represented by this MethodSignature or null if no reference is available (e.g. the methhod or its + class were missing).
        +
      • +
      + + + +
        +
      • +

        computeIfAbsent

        +
        public static MethodSignature computeIfAbsent​(Clazz clazz,
        +                                              Method method)
        +
        Get the singleton MethodSignature object for this specific Method. If it is not + yet available in the cache, it will be newly instantiated.
        +
        +
        Parameters:
        +
        clazz - The class containing the target method
        +
        method - The method whose signature is to be generated
        +
        Returns:
        +
        The cached or newly generated MethodSignature object
        +
        +
      • +
      + + + +
        +
      • +

        isIncomplete

        +
        public boolean isIncomplete()
        +
        Description copied from class: Signature
        +
        Check if this signature is missing information.
        +
        +
        Specified by:
        +
        isIncomplete in class Signature
        +
        +
      • +
      + + + +
        +
      • +

        calculateFqn

        +
        protected java.lang.String calculateFqn()
        +
        +
        Specified by:
        +
        calculateFqn in class Signature
        +
        +
      • +
      + + + +
        +
      • +

        calculatePrettyFqn

        +
        protected java.lang.String calculatePrettyFqn()
        +
        +
        Specified by:
        +
        calculatePrettyFqn in class Signature
        +
        +
      • +
      + + + +
        +
      • +

        clearCache

        +
        public static void clearCache()
        +
        Remove all currently cached MethodSignature objects from the cache, allowing them to be + removed by the garbage collector.
        +
      • +
      + + + +
        +
      • +

        matchesIgnoreNull

        +
        public static boolean matchesIgnoreNull​(MethodSignature signature,
        +                                        MethodSignature wildcard)
        +
        Fuzzy check if two MethodSignature objects are equal. If any pattern field is null, its + value in the matched object does not influence the check result, providing a way to create a + wildcard MethodSignature that e.g. matches several methods of a class that have the + same name but a different MethodDescriptor.
        +
        +
        Parameters:
        +
        signature - The MethodSignature to be compared
        +
        wildcard - The MethodSignature pattern to be matched against
        +
        Returns:
        +
        true if the two objects match
        +
        +
      • +
      + + + +
        +
      • +

        matchesIgnoreNullAndDollar

        +
        public static boolean matchesIgnoreNullAndDollar​(MethodSignature signature,
        +                                                 MethodSignature wildcard)
        +
        Fuzzy check like {@link .matchesIgnoreNull(MethodSignature)} but allows dollar signs in type + strings. Usually the notation for inner classes is com/example/Foo$Bar, but sometimes + external systems call this class com/example/Foo/Bar. These two names correspond to the + same class and thus should be treated as the same if they appear in a MethodSignature. + If it is to be expected that this situation may occur, this method should be preferred over + {@link .matchesIgnoreNull(MethodSignature)} to avoid false negatives.
        +
        +
        Parameters:
        +
        signature - The MethodSignature to be compared
        +
        wildcard - The MethodSignature pattern to be matched against
        +
        Returns:
        +
        true if the two objects match
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class Signature
        +
        +
      • +
      + + + +
        +
      • +

        getMethodName

        +
        @Nullable
        +public @Nullable java.lang.String getMethodName()
        +
        Description copied from interface: MethodInfo
        +
        Returns the method's name.
        +
        +
        Specified by:
        +
        getMethodName in interface MethodInfo
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/ProgramClass.html b/api/proguard/classfile/ProgramClass.html new file mode 100644 index 000000000..25a86c79f --- /dev/null +++ b/api/proguard/classfile/ProgramClass.html @@ -0,0 +1,1803 @@ + + + + + +ProgramClass (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProgramClass

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u4version

        +
        public int u4version
        +
      • +
      + + + +
        +
      • +

        u2constantPoolCount

        +
        public int u2constantPoolCount
        +
      • +
      + + + +
        +
      • +

        constantPool

        +
        public Constant[] constantPool
        +
      • +
      + + + +
        +
      • +

        u2accessFlags

        +
        public int u2accessFlags
        +
      • +
      + + + +
        +
      • +

        u2thisClass

        +
        public int u2thisClass
        +
      • +
      + + + +
        +
      • +

        u2superClass

        +
        public int u2superClass
        +
      • +
      + + + +
        +
      • +

        u2interfacesCount

        +
        public int u2interfacesCount
        +
      • +
      + + + +
        +
      • +

        u2interfaces

        +
        public int[] u2interfaces
        +
      • +
      + + + +
        +
      • +

        u2fieldsCount

        +
        public int u2fieldsCount
        +
      • +
      + + + + + + + +
        +
      • +

        u2methodsCount

        +
        public int u2methodsCount
        +
      • +
      + + + + + + + +
        +
      • +

        u2attributesCount

        +
        public int u2attributesCount
        +
      • +
      + + + +
        +
      • +

        attributes

        +
        public Attribute[] attributes
        +
      • +
      + + + + + + + +
        +
      • +

        subClasses

        +
        public Clazz[] subClasses
        +
        An extra field pointing to the subclasses of this class. This field is typically filled out by + the ClassSubHierarchyInitializer.
        +
      • +
      + + + +
        +
      • +

        subClassCount

        +
        public int subClassCount
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ProgramClass

        +
        public ProgramClass()
        +
        Creates an uninitialized ProgramClass.
        +
      • +
      + + + +
        +
      • +

        ProgramClass

        +
        public ProgramClass​(int u4version,
        +                    int u2constantPoolCount,
        +                    Constant[] constantPool,
        +                    int u2accessFlags,
        +                    int u2thisClass,
        +                    int u2superClass)
        +
        Creates an initialized ProgramClass without fields, methods, attributes, or subclasses.
        +
      • +
      + + + +
        +
      • +

        ProgramClass

        +
        public ProgramClass​(int u4version,
        +                    int u2constantPoolCount,
        +                    Constant[] constantPool,
        +                    int u2accessFlags,
        +                    int u2thisClass,
        +                    int u2superClass,
        +                    java.lang.String featureName,
        +                    int processingFlags,
        +                    java.lang.Object processingInfo)
        +
        Creates an initialized ProgramClass without fields, methods, attributes, or subclasses.
        +
      • +
      + + + +
        +
      • +

        ProgramClass

        +
        public ProgramClass​(int u4version,
        +                    int u2constantPoolCount,
        +                    Constant[] constantPool,
        +                    int u2accessFlags,
        +                    int u2thisClass,
        +                    int u2superClass,
        +                    int u2interfacesCount,
        +                    int[] u2interfaces,
        +                    int u2fieldsCount,
        +                    ProgramField[] fields,
        +                    int u2methodsCount,
        +                    ProgramMethod[] methods,
        +                    int u2attributesCount,
        +                    Attribute[] attributes,
        +                    int subClassCount,
        +                    Clazz[] subClasses)
        +
        Creates an initialized ProgramClass.
        +
      • +
      + + + +
        +
      • +

        ProgramClass

        +
        public ProgramClass​(int u4version,
        +                    int u2constantPoolCount,
        +                    Constant[] constantPool,
        +                    int u2accessFlags,
        +                    int u2thisClass,
        +                    int u2superClass,
        +                    int u2interfacesCount,
        +                    int[] u2interfaces,
        +                    int u2fieldsCount,
        +                    ProgramField[] fields,
        +                    int u2methodsCount,
        +                    ProgramMethod[] methods,
        +                    int u2attributesCount,
        +                    Attribute[] attributes,
        +                    int subClassCount,
        +                    Clazz[] subClasses,
        +                    java.lang.String featureName,
        +                    int processingFlags,
        +                    java.lang.Object processingInfo)
        +
        Creates an initialized ProgramClass.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getConstant

        +
        public Constant getConstant​(int constantIndex)
        +
        Returns the Constant at the given index in the constant pool.
        +
      • +
      + + + +
        +
      • +

        getAccessFlags

        +
        public int getAccessFlags()
        +
        Description copied from interface: Clazz
        +
        Returns the access flags of this class.
        +
        +
        Specified by:
        +
        getAccessFlags in interface Clazz
        +
        See Also:
        +
        ClassConstants
        +
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Description copied from interface: Clazz
        +
        Returns the full internal name of this class.
        +
        +
        Specified by:
        +
        getName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getSuperName

        +
        public java.lang.String getSuperName()
        +
        Description copied from interface: Clazz
        +
        Returns the full internal name of the super class of this class, or null if this class + represents java.lang.Object.
        +
        +
        Specified by:
        +
        getSuperName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getInterfaceCount

        +
        public int getInterfaceCount()
        +
        Description copied from interface: Clazz
        +
        Returns the number of interfaces that this class implements.
        +
        +
        Specified by:
        +
        getInterfaceCount in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getInterfaceName

        +
        public java.lang.String getInterfaceName​(int index)
        +
        Description copied from interface: Clazz
        +
        Returns the full internal name of the interface at the given index of this class.
        +
        +
        Specified by:
        +
        getInterfaceName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the tag value of the Constant at the specified index.
        +
        +
        Specified by:
        +
        getTag in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getString

        +
        public java.lang.String getString​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the String value of the Utf8Constant at the specified index.
        +
        +
        Specified by:
        +
        getString in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getStringString

        +
        public java.lang.String getStringString​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the String value of the StringConstant at the specified index.
        +
        +
        Specified by:
        +
        getStringString in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getClassName

        +
        public java.lang.String getClassName​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the class name of ClassConstant at the specified index.
        +
        +
        Specified by:
        +
        getClassName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the name of the NameAndTypeConstant at the specified index.
        +
        +
        Specified by:
        +
        getName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public java.lang.String getType​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the type of the NameAndTypeConstant at the specified index.
        +
        +
        Specified by:
        +
        getType in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getRefClassName

        +
        public java.lang.String getRefClassName​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the class name of the RefConstant at the specified index.
        +
        +
        Specified by:
        +
        getRefClassName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getRefName

        +
        public java.lang.String getRefName​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the name of the RefConstant at the specified index.
        +
        +
        Specified by:
        +
        getRefName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getRefType

        +
        public java.lang.String getRefType​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the type of the RefConstant at the specified index.
        +
        +
        Specified by:
        +
        getRefType in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getModuleName

        +
        public java.lang.String getModuleName​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the name of the ModuleConstant at the specified index.
        +
        +
        Specified by:
        +
        getModuleName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getPackageName

        +
        public java.lang.String getPackageName​(int constantIndex)
        +
        Description copied from interface: Clazz
        +
        Returns the name of the PackageConstant at the specified index.
        +
        +
        Specified by:
        +
        getPackageName in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        addSubClass

        +
        public void addSubClass​(Clazz clazz)
        +
        Description copied from interface: Clazz
        +
        Notifies this Clazz that it is being subclassed by another class.
        +
        +
        Specified by:
        +
        addSubClass in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        removeSubClass

        +
        public void removeSubClass​(Clazz clazz)
        +
        Description copied from interface: Clazz
        +
        Notifies this Clazz that it is no longer being subclassed by another class.
        +
        +
        Specified by:
        +
        removeSubClass in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getSuperClass

        +
        public Clazz getSuperClass()
        +
        Description copied from interface: Clazz
        +
        Returns the super class of this class.
        +
        +
        Specified by:
        +
        getSuperClass in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        getInterface

        +
        public Clazz getInterface​(int index)
        +
        Description copied from interface: Clazz
        +
        Returns the interface at the given index.
        +
        +
        Specified by:
        +
        getInterface in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        extends_

        +
        public boolean extends_​(Clazz clazz)
        +
        Description copied from interface: Clazz
        +
        Returns whether this class extends the given class. A class is always considered to extend + itself. Interfaces are considered to only extend the root Object class.
        +
        +
        Specified by:
        +
        extends_ in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        extends_

        +
        public boolean extends_​(java.lang.String className)
        +
        Description copied from interface: Clazz
        +
        Returns whether this class extends the specified class. A class is always considered to extend + itself. Interfaces are considered to only extend the root Object class.
        +
        +
        Specified by:
        +
        extends_ in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        extendsOrImplements

        +
        public boolean extendsOrImplements​(Clazz clazz)
        +
        Description copied from interface: Clazz
        +
        Returns whether this class implements the given class. A class is always considered to + implement itself. Interfaces are considered to implement all their superinterfaces.
        +
        +
        Specified by:
        +
        extendsOrImplements in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        extendsOrImplements

        +
        public boolean extendsOrImplements​(java.lang.String className)
        +
        Description copied from interface: Clazz
        +
        Returns whether this class implements the specified class. A class is always considered to + implement itself. Interfaces are considered to implement all their superinterfaces.
        +
        +
        Specified by:
        +
        extendsOrImplements in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        findField

        +
        public Field findField​(java.lang.String name,
        +                       java.lang.String descriptor)
        +
        Description copied from interface: Clazz
        +
        Returns the field with the given name and descriptor.
        +
        +
        Specified by:
        +
        findField in interface Clazz
        +
        Parameters:
        +
        name - the field name, or null if it is irrelevant.
        +
        descriptor - the field type, or null if it is irrelevant.
        +
        Returns:
        +
        the first matching field, or null there is no matching field.
        +
        +
      • +
      + + + +
        +
      • +

        findMethod

        +
        public Method findMethod​(java.lang.String name,
        +                         java.lang.String descriptor)
        +
        Description copied from interface: Clazz
        +
        Returns the method with the given name and descriptor.
        +
        +
        Specified by:
        +
        findMethod in interface Clazz
        +
        Parameters:
        +
        name - the method name, or null if it is irrelevant.
        +
        descriptor - the method descriptor, or null if it is irrelevant.
        +
        Returns:
        +
        the first matching method, or null there is no matching method.
        +
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(ClassVisitor classVisitor)
        +
        Description copied from interface: Clazz
        +
        Accepts the given class visitor.
        +
        +
        Specified by:
        +
        accept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        hierarchyAccept

        +
        public void hierarchyAccept​(boolean visitThisClass,
        +                            boolean visitSuperClass,
        +                            boolean visitInterfaces,
        +                            boolean visitSubclasses,
        +                            ClassVisitor classVisitor)
        +
        Description copied from interface: Clazz
        +
        Accepts the given class visitor in the class hierarchy.
        +
        +
        Specified by:
        +
        hierarchyAccept in interface Clazz
        +
        Parameters:
        +
        visitThisClass - specifies whether to visit this class.
        +
        visitSuperClass - specifies whether to visit the super classes.
        +
        visitInterfaces - specifies whether to visit the interfaces.
        +
        visitSubclasses - specifies whether to visit the subclasses.
        +
        classVisitor - the ClassVisitor that will visit the class hierarchy.
        +
        +
      • +
      + + + +
        +
      • +

        subclassesAccept

        +
        public void subclassesAccept​(ClassVisitor classVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given class visitor visit all known subclasses.
        +
        +
        Specified by:
        +
        subclassesAccept in interface Clazz
        +
        Parameters:
        +
        classVisitor - the ClassVisitor that will visit the subclasses.
        +
        +
      • +
      + + + +
        +
      • +

        constantPoolEntriesAccept

        +
        public void constantPoolEntriesAccept​(ConstantVisitor constantVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given constant pool entry visitor visit all constant pool entries of this class.
        +
        +
        Specified by:
        +
        constantPoolEntriesAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        constantPoolEntryAccept

        +
        public void constantPoolEntryAccept​(int index,
        +                                    ConstantVisitor constantVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given constant pool entry visitor visit the constant pool entry at the specified + index.
        +
        +
        Specified by:
        +
        constantPoolEntryAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        thisClassConstantAccept

        +
        public void thisClassConstantAccept​(ConstantVisitor constantVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given constant pool entry visitor visit the class constant pool entry of this class.
        +
        +
        Specified by:
        +
        thisClassConstantAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        superClassConstantAccept

        +
        public void superClassConstantAccept​(ConstantVisitor constantVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given constant pool entry visitor visit the class constant pool entry of the super + class of this class, if there is one.
        +
        +
        Specified by:
        +
        superClassConstantAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        interfaceConstantsAccept

        +
        public void interfaceConstantsAccept​(ConstantVisitor constantVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given constant pool entry visitor visit the class constant pool entries for all + interfaces of this class.
        +
        +
        Specified by:
        +
        interfaceConstantsAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        fieldsAccept

        +
        public void fieldsAccept​(MemberVisitor memberVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given member info visitor visit all fields of this class.
        +
        +
        Specified by:
        +
        fieldsAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        fieldAccept

        +
        public void fieldAccept​(java.lang.String name,
        +                        java.lang.String descriptor,
        +                        MemberVisitor memberVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given member info visitor visit the specified field.
        +
        +
        Specified by:
        +
        fieldAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        methodsAccept

        +
        public void methodsAccept​(MemberVisitor memberVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given member info visitor visit all methods of this class.
        +
        +
        Specified by:
        +
        methodsAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        methodAccept

        +
        public void methodAccept​(java.lang.String name,
        +                         java.lang.String descriptor,
        +                         MemberVisitor memberVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given member info visitor visit the specified method.
        +
        +
        Specified by:
        +
        methodAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        mayHaveImplementations

        +
        public boolean mayHaveImplementations​(Method method)
        +
        Description copied from interface: Clazz
        +
        Returns whether the given method may possibly have implementing or overriding methods down the + class hierarchy. This can only be true if the class is not final, and the method is not + private, static, or final, or a constructor.
        +
        +
        Specified by:
        +
        mayHaveImplementations in interface Clazz
        +
        Parameters:
        +
        method - the method that may have implementations.
        +
        Returns:
        +
        whether it may have implementations.
        +
        +
      • +
      + + + +
        +
      • +

        attributesAccept

        +
        public void attributesAccept​(AttributeVisitor attributeVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given attribute info visitor visit all attributes of this class.
        +
        +
        Specified by:
        +
        attributesAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        attributeAccept

        +
        public void attributeAccept​(java.lang.String name,
        +                            AttributeVisitor attributeVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given attribute info visitor visit the specified attribute.
        +
        +
        Specified by:
        +
        attributeAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        kotlinMetadataAccept

        +
        public void kotlinMetadataAccept​(KotlinMetadataVisitor kotlinMetadataVisitor)
        +
        Description copied from interface: Clazz
        +
        Lets the given Kotlin metadata visitor visit the metadata of this class.
        +
        +
        Specified by:
        +
        kotlinMetadataAccept in interface Clazz
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/ProgramField.html b/api/proguard/classfile/ProgramField.html new file mode 100644 index 000000000..b7b3917e3 --- /dev/null +++ b/api/proguard/classfile/ProgramField.html @@ -0,0 +1,576 @@ + + + + + +ProgramField (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProgramField

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        referencedClass

        +
        public Clazz referencedClass
        +
        An extra field pointing to the Clazz object referenced in the descriptor string. This field is + filled out by the ClassReferenceInitializer. References + to primitive types are ignored.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ProgramField

        +
        public ProgramField()
        +
        Creates an uninitialized ProgramField.
        +
      • +
      + + + +
        +
      • +

        ProgramField

        +
        public ProgramField​(int u2accessFlags,
        +                    int u2nameIndex,
        +                    int u2descriptorIndex,
        +                    Clazz referencedClass)
        +
        Creates an initialized ProgramField without attributes.
        +
      • +
      + + + +
        +
      • +

        ProgramField

        +
        public ProgramField​(int u2accessFlags,
        +                    int u2nameIndex,
        +                    int u2descriptorIndex,
        +                    Clazz referencedClass,
        +                    int processingFlags,
        +                    java.lang.Object processingInfo)
        +
        Creates an initialized ProgramField without attributes.
        +
      • +
      + + + +
        +
      • +

        ProgramField

        +
        public ProgramField​(int u2accessFlags,
        +                    int u2nameIndex,
        +                    int u2descriptorIndex,
        +                    int u2attributesCount,
        +                    Attribute[] attributes,
        +                    Clazz referencedClass)
        +
        Creates an initialized ProgramField.
        +
      • +
      + + + +
        +
      • +

        ProgramField

        +
        public ProgramField​(int u2accessFlags,
        +                    int u2nameIndex,
        +                    int u2descriptorIndex,
        +                    int u2attributesCount,
        +                    Attribute[] attributes,
        +                    Clazz referencedClass,
        +                    int processingFlags,
        +                    java.lang.Object processingInfo)
        +
        Creates an initialized ProgramField.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/ProgramMember.html b/api/proguard/classfile/ProgramMember.html new file mode 100644 index 000000000..81dcbebf1 --- /dev/null +++ b/api/proguard/classfile/ProgramMember.html @@ -0,0 +1,622 @@ + + + + + +ProgramMember (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProgramMember

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2accessFlags

        +
        public int u2accessFlags
        +
      • +
      + + + +
        +
      • +

        u2nameIndex

        +
        public int u2nameIndex
        +
      • +
      + + + +
        +
      • +

        u2descriptorIndex

        +
        public int u2descriptorIndex
        +
      • +
      + + + +
        +
      • +

        u2attributesCount

        +
        public int u2attributesCount
        +
      • +
      + + + +
        +
      • +

        attributes

        +
        public Attribute[] attributes
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ProgramMember

        +
        protected ProgramMember()
        +
        Creates an uninitialized ProgramMember.
        +
      • +
      + + + +
        +
      • +

        ProgramMember

        +
        protected ProgramMember​(int u2accessFlags,
        +                        int u2nameIndex,
        +                        int u2descriptorIndex,
        +                        int u2attributesCount,
        +                        Attribute[] attributes)
        +
        Creates an initialized ProgramMember.
        +
      • +
      + + + +
        +
      • +

        ProgramMember

        +
        protected ProgramMember​(int u2accessFlags,
        +                        int u2nameIndex,
        +                        int u2descriptorIndex,
        +                        int u2attributesCount,
        +                        Attribute[] attributes,
        +                        int processingFlags,
        +                        java.lang.Object processingInfo)
        +
        Creates an initialized ProgramMember.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        accept

        +
        public abstract void accept​(ProgramClass programClass,
        +                            MemberVisitor memberVisitor)
        +
        Accepts the given member info visitor.
        +
      • +
      + + + +
        +
      • +

        attributesAccept

        +
        public abstract void attributesAccept​(ProgramClass programClass,
        +                                      AttributeVisitor attributeVisitor)
        +
        Lets the given attribute info visitor visit all the attributes of this member info.
        +
      • +
      + + + +
        +
      • +

        getAccessFlags

        +
        public int getAccessFlags()
        +
        Description copied from interface: Member
        +
        Returns the access flags.
        +
        +
        Specified by:
        +
        getAccessFlags in interface Member
        +
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Description copied from interface: Member
        +
        Returns the class member name.
        +
        +
        Specified by:
        +
        getName in interface Member
        +
        +
      • +
      + + + +
        +
      • +

        getDescriptor

        +
        public java.lang.String getDescriptor​(Clazz clazz)
        +
        Description copied from interface: Member
        +
        Returns the class member's descriptor.
        +
        +
        Specified by:
        +
        getDescriptor in interface Member
        +
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   MemberVisitor memberVisitor)
        +
        Description copied from interface: Member
        +
        Accepts the given class visitor.
        +
        +
        Specified by:
        +
        accept in interface Member
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/ProgramMethod.html b/api/proguard/classfile/ProgramMethod.html new file mode 100644 index 000000000..213e20554 --- /dev/null +++ b/api/proguard/classfile/ProgramMethod.html @@ -0,0 +1,577 @@ + + + + + +ProgramMethod (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProgramMethod

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        referencedClasses

        +
        public Clazz[] referencedClasses
        +
        An extra field containing all the classes referenced in the descriptor string. This field is + filled out by the ClassReferenceInitializer. The size of the array is the number of classes in the descriptor. + Primitive types and arrays of primitive types are ignored. Unknown classes are represented as + null values.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ProgramMethod

        +
        public ProgramMethod()
        +
        Creates an uninitialized ProgramMethod.
        +
      • +
      + + + +
        +
      • +

        ProgramMethod

        +
        public ProgramMethod​(int u2accessFlags,
        +                     int u2nameIndex,
        +                     int u2descriptorIndex,
        +                     Clazz[] referencedClasses)
        +
        Creates an initialized ProgramMethod without attributes.
        +
      • +
      + + + +
        +
      • +

        ProgramMethod

        +
        public ProgramMethod​(int u2accessFlags,
        +                     int u2nameIndex,
        +                     int u2descriptorIndex,
        +                     Clazz[] referencedClasses,
        +                     int processingFlags,
        +                     java.lang.Object processingInfo)
        +
        Creates an initialized ProgramMethod without attributes.
        +
      • +
      + + + +
        +
      • +

        ProgramMethod

        +
        public ProgramMethod​(int u2accessFlags,
        +                     int u2nameIndex,
        +                     int u2descriptorIndex,
        +                     int u2attributesCount,
        +                     Attribute[] attributes,
        +                     Clazz[] referencedClasses)
        +
        Creates an initialized ProgramMethod.
        +
      • +
      + + + +
        +
      • +

        ProgramMethod

        +
        public ProgramMethod​(int u2accessFlags,
        +                     int u2nameIndex,
        +                     int u2descriptorIndex,
        +                     int u2attributesCount,
        +                     Attribute[] attributes,
        +                     Clazz[] referencedClasses,
        +                     int processingFlags,
        +                     java.lang.Object processingInfo)
        +
        Creates an initialized ProgramMethod.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/Signature.html b/api/proguard/classfile/Signature.html new file mode 100644 index 000000000..f0741faba --- /dev/null +++ b/api/proguard/classfile/Signature.html @@ -0,0 +1,718 @@ + + + + + +Signature (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Signature

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.Signature
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Comparable<Signature>
    +
    +
    +
    Direct Known Subclasses:
    +
    ClassSignature, FieldSignature, MethodSignature
    +
    +
    +
    public abstract class Signature
    +extends java.lang.Object
    +implements java.lang.Comparable<Signature>
    +
    A signature currently can be a Method- or a FieldSignature. This class can be used to create the + correct one from a ProguardCORE member object (which can also be a method or a field).
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        fqn

        +
        protected java.lang.String fqn
        +
      • +
      + + + +
        +
      • +

        prettyFqn

        +
        protected java.lang.String prettyFqn
        +
      • +
      + + + +
        +
      • +

        className

        +
        protected final java.lang.String className
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        protected final int hashCode
        +
      • +
      + + + +
        +
      • +

        referencedClass

        +
        @Nullable
        +protected @Nullable Clazz referencedClass
        +
        The Clazz that the className references. May be null if + there is no reference available (e.g. class is missing from the class pool).
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Signature

        +
        protected Signature​(java.lang.String internalClassName,
        +                    int hashCode)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isIncomplete

        +
        public abstract boolean isIncomplete()
        +
        Check if this signature is missing information.
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        clearCache

        +
        public static void clearCache()
        +
        Clear the signature caches of all Signature subclasses.
        +
      • +
      + + + +
        +
      • +

        setCacheEnabled

        +
        public static void setCacheEnabled​(boolean cacheEnabled)
        +
        Enable or disable automatic caching in of(Clazz, Member). Existing caches are purged + once caching has been disabled.
        +
      • +
      + + + +
        +
      • +

        getFqn

        +
        public java.lang.String getFqn()
        +
      • +
      + + + +
        +
      • +

        getPrettyFqn

        +
        public java.lang.String getPrettyFqn()
        +
      • +
      + + + +
        +
      • +

        getPackageName

        +
        @Deprecated
        +public java.lang.String getPackageName()
        +
        Deprecated.
        +
      • +
      + + + +
        +
      • +

        getExternalPackageName

        +
        public java.lang.String getExternalPackageName()
        +
        +
        Returns:
        +
        the external package name (e.g., `java.lang` for `java.lang.Object`)
        +
        +
      • +
      + + + +
        +
      • +

        getClassName

        +
        public java.lang.String getClassName()
        +
      • +
      + + + +
        +
      • +

        calculateFqn

        +
        protected abstract java.lang.String calculateFqn()
        +
      • +
      + + + +
        +
      • +

        calculatePrettyFqn

        +
        protected abstract java.lang.String calculatePrettyFqn()
        +
      • +
      + + + +
        +
      • +

        getReferencedClass

        +
        @Nullable
        +public @Nullable Clazz getReferencedClass()
        +
        Returns the Clazz reference corresponding to the class returned by getClassName() or null if no reference is available (e.g. class is + missing from the class pool).
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        compareTo

        +
        public int compareTo​(Signature o)
        +
        +
        Specified by:
        +
        compareTo in interface java.lang.Comparable<Signature>
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/TypeConstants.html b/api/proguard/classfile/TypeConstants.html new file mode 100644 index 000000000..0694227c8 --- /dev/null +++ b/api/proguard/classfile/TypeConstants.html @@ -0,0 +1,691 @@ + + + + + +TypeConstants (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypeConstants

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.TypeConstants
    • +
    +
  • +
+
+
    +
  • +
    +
    public class TypeConstants
    +extends java.lang.Object
    +
    Constant characters that are part of primitive and non-primitive type descriptors.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/VersionConstants.html b/api/proguard/classfile/VersionConstants.html new file mode 100644 index 000000000..6b13b39c7 --- /dev/null +++ b/api/proguard/classfile/VersionConstants.html @@ -0,0 +1,1591 @@ + + + + + +VersionConstants (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VersionConstants

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.VersionConstants
    • +
    +
  • +
+
+
    +
  • +
    +
    public class VersionConstants
    +extends java.lang.Object
    +
    Known internal version numbers of class files.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/Attribute.html b/api/proguard/classfile/attribute/Attribute.html new file mode 100644 index 000000000..fb49e55aa --- /dev/null +++ b/api/proguard/classfile/attribute/Attribute.html @@ -0,0 +1,1139 @@ + + + + + +Attribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Attribute

+
+
+ + +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        BOOTSTRAP_METHODS

        +
        public static final java.lang.String BOOTSTRAP_METHODS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        SOURCE_FILE

        +
        public static final java.lang.String SOURCE_FILE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        SOURCE_DIR

        +
        public static final java.lang.String SOURCE_DIR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        INNER_CLASSES

        +
        public static final java.lang.String INNER_CLASSES
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ENCLOSING_METHOD

        +
        public static final java.lang.String ENCLOSING_METHOD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        NEST_MEMBERS

        +
        public static final java.lang.String NEST_MEMBERS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        PERMITTED_SUBCLASSES

        +
        public static final java.lang.String PERMITTED_SUBCLASSES
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        DEPRECATED

        +
        public static final java.lang.String DEPRECATED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        CONSTANT_VALUE

        +
        public static final java.lang.String CONSTANT_VALUE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_PARAMETERS

        +
        public static final java.lang.String METHOD_PARAMETERS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        EXCEPTIONS

        +
        public static final java.lang.String EXCEPTIONS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        STACK_MAP_TABLE

        +
        public static final java.lang.String STACK_MAP_TABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        LINE_NUMBER_TABLE

        +
        public static final java.lang.String LINE_NUMBER_TABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        LOCAL_VARIABLE_TABLE

        +
        public static final java.lang.String LOCAL_VARIABLE_TABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        LOCAL_VARIABLE_TYPE_TABLE

        +
        public static final java.lang.String LOCAL_VARIABLE_TYPE_TABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RUNTIME_VISIBLE_ANNOTATIONS

        +
        public static final java.lang.String RUNTIME_VISIBLE_ANNOTATIONS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RUNTIME_INVISIBLE_ANNOTATIONS

        +
        public static final java.lang.String RUNTIME_INVISIBLE_ANNOTATIONS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS

        +
        public static final java.lang.String RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS

        +
        public static final java.lang.String RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RUNTIME_VISIBLE_TYPE_ANNOTATIONS

        +
        public static final java.lang.String RUNTIME_VISIBLE_TYPE_ANNOTATIONS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RUNTIME_INVISIBLE_TYPE_ANNOTATIONS

        +
        public static final java.lang.String RUNTIME_INVISIBLE_TYPE_ANNOTATIONS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANNOTATION_DEFAULT

        +
        public static final java.lang.String ANNOTATION_DEFAULT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        MODULE_MAIN_CLASS

        +
        public static final java.lang.String MODULE_MAIN_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        MODULE_PACKAGES

        +
        public static final java.lang.String MODULE_PACKAGES
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        SOURCE_DEBUG_EXTENSION

        +
        public static final java.lang.String SOURCE_DEBUG_EXTENSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CHARACTER_RANGE_TABLE

        +
        public static final java.lang.String CHARACTER_RANGE_TABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        COMPILATION_I_D

        +
        public static final java.lang.String COMPILATION_I_D
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        SOURCE_I_D

        +
        public static final java.lang.String SOURCE_I_D
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        u2attributeNameIndex

        +
        public int u2attributeNameIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Attribute

        +
        protected Attribute()
        +
        Create an uninitialized Attribute.
        +
      • +
      + + + +
        +
      • +

        Attribute

        +
        protected Attribute​(int u2attributeNameIndex)
        +
        Create an initialized Attribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAttributeName

        +
        public java.lang.String getAttributeName​(Clazz clazz)
        +
        Returns the String name of the attribute.
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   AttributeVisitor attributeVisitor)
        +
        Accepts the given visitor.
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   Field field,
        +                   AttributeVisitor attributeVisitor)
        +
        Accepts the given visitor in the context of the given field.
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   Method method,
        +                   AttributeVisitor attributeVisitor)
        +
        Accepts the given visitor in the context of the given method.
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   Method method,
        +                   CodeAttribute codeAttribute,
        +                   AttributeVisitor attributeVisitor)
        +
        Accepts the given visitor in the context of the given code attribute.
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   RecordComponentInfo recordComponentInfo,
        +                   AttributeVisitor attributeVisitor)
        +
        Accepts the given visitor in the context of the given record component.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/BootstrapMethodInfo.html b/api/proguard/classfile/attribute/BootstrapMethodInfo.html new file mode 100644 index 000000000..8aa42a255 --- /dev/null +++ b/api/proguard/classfile/attribute/BootstrapMethodInfo.html @@ -0,0 +1,503 @@ + + + + + +BootstrapMethodInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BootstrapMethodInfo

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + + + + + +
        +
      • +

        FLAG_SERIALIZABLE

        +
        public static final int FLAG_SERIALIZABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        u2methodHandleIndex

        +
        public int u2methodHandleIndex
        +
      • +
      + + + +
        +
      • +

        u2methodArgumentCount

        +
        public int u2methodArgumentCount
        +
      • +
      + + + +
        +
      • +

        u2methodArguments

        +
        public int[] u2methodArguments
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BootstrapMethodInfo

        +
        public BootstrapMethodInfo()
        +
        Creates an uninitialized BootstrapMethodInfo.
        +
      • +
      + + + +
        +
      • +

        BootstrapMethodInfo

        +
        public BootstrapMethodInfo​(int u2methodHandleIndex,
        +                           int u2methodArgumentCount,
        +                           int[] u2methodArguments)
        +
        Creates an initialized BootstrapMethodInfo.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        methodHandleAccept

        +
        public void methodHandleAccept​(Clazz clazz,
        +                               ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the method handle of the bootstrap method.
        +
      • +
      + + + +
        +
      • +

        methodArgumentsAccept

        +
        public void methodArgumentsAccept​(Clazz clazz,
        +                                  ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the argument constants of the bootstrap method.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/BootstrapMethodsAttribute.html b/api/proguard/classfile/attribute/BootstrapMethodsAttribute.html new file mode 100644 index 000000000..c980ef79b --- /dev/null +++ b/api/proguard/classfile/attribute/BootstrapMethodsAttribute.html @@ -0,0 +1,480 @@ + + + + + +BootstrapMethodsAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BootstrapMethodsAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class BootstrapMethodsAttribute
    +extends Attribute
    +
    This Attribute represents a bootstrap methods attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2bootstrapMethodsCount

        +
        public int u2bootstrapMethodsCount
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BootstrapMethodsAttribute

        +
        public BootstrapMethodsAttribute()
        +
        Creates an uninitialized BootstrapMethodsAttribute.
        +
      • +
      + + + +
        +
      • +

        BootstrapMethodsAttribute

        +
        public BootstrapMethodsAttribute​(int u2attributeNameIndex,
        +                                 int u2bootstrapMethodsCount,
        +                                 BootstrapMethodInfo[] bootstrapMethods)
        +
        Creates an initialized BootstrapMethodsAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        bootstrapMethodEntriesAccept

        +
        public void bootstrapMethodEntriesAccept​(Clazz clazz,
        +                                         BootstrapMethodInfoVisitor bootstrapMethodInfoVisitor)
        +
        Applies the given visitor to all bootstrap method info entries.
        +
      • +
      + + + +
        +
      • +

        bootstrapMethodEntryAccept

        +
        public void bootstrapMethodEntryAccept​(Clazz clazz,
        +                                       int bootstrapMethodIndex,
        +                                       BootstrapMethodInfoVisitor bootstrapMethodInfoVisitor)
        +
        Applies the given visitor to the specified bootstrap method info entry.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/CodeAttribute.html b/api/proguard/classfile/attribute/CodeAttribute.html new file mode 100644 index 000000000..793accd26 --- /dev/null +++ b/api/proguard/classfile/attribute/CodeAttribute.html @@ -0,0 +1,760 @@ + + + + + +CodeAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CodeAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2maxStack

        +
        public int u2maxStack
        +
      • +
      + + + +
        +
      • +

        u2maxLocals

        +
        public int u2maxLocals
        +
      • +
      + + + +
        +
      • +

        u4codeLength

        +
        public int u4codeLength
        +
      • +
      + + + +
        +
      • +

        code

        +
        public byte[] code
        +
      • +
      + + + +
        +
      • +

        u2exceptionTableLength

        +
        public int u2exceptionTableLength
        +
      • +
      + + + + + + + +
        +
      • +

        u2attributesCount

        +
        public int u2attributesCount
        +
      • +
      + + + +
        +
      • +

        attributes

        +
        public Attribute[] attributes
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CodeAttribute

        +
        public CodeAttribute()
        +
        Creates an uninitialized CodeAttribute.
        +
      • +
      + + + +
        +
      • +

        CodeAttribute

        +
        public CodeAttribute​(int u2attributeNameIndex)
        +
        Creates a partially initialized CodeAttribute without code, exceptions, or attributes.
        +
      • +
      + + + +
        +
      • +

        CodeAttribute

        +
        public CodeAttribute​(int u2attributeNameIndex,
        +                     int u2maxStack,
        +                     int u2maxLocals,
        +                     int u4codeLength,
        +                     byte[] code)
        +
        Creates an initialized CodeAttribute without exceptions or attributes.
        +
      • +
      + + + +
        +
      • +

        CodeAttribute

        +
        public CodeAttribute​(int u2attributeNameIndex,
        +                     int u2maxStack,
        +                     int u2maxLocals,
        +                     int u4codeLength,
        +                     byte[] code,
        +                     int u2exceptionTableLength,
        +                     ExceptionInfo[] exceptionTable,
        +                     int u2attributesCount,
        +                     Attribute[] attributes)
        +
        Creates an initialized CodeAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getAttribute

        +
        public Attribute getAttribute​(Clazz clazz,
        +                              java.lang.String name)
        +
        Returns the (first) attribute with the given name.
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   Method method,
        +                   AttributeVisitor attributeVisitor)
        +
        Description copied from class: Attribute
        +
        Accepts the given visitor in the context of the given method.
        +
        +
        Overrides:
        +
        accept in class Attribute
        +
        +
      • +
      + + + +
        +
      • +

        instructionsAccept

        +
        public void instructionsAccept​(Clazz clazz,
        +                               Method method,
        +                               InstructionVisitor instructionVisitor)
        +
        Applies the given instruction visitor to all instructions.
        +
      • +
      + + + +
        +
      • +

        instructionAccept

        +
        public void instructionAccept​(Clazz clazz,
        +                              Method method,
        +                              int offset,
        +                              InstructionVisitor instructionVisitor)
        +
        Applies the given instruction visitor to the instruction at the specified offset.
        +
      • +
      + + + +
        +
      • +

        instructionsAccept

        +
        public void instructionsAccept​(Clazz clazz,
        +                               Method method,
        +                               int startOffset,
        +                               int endOffset,
        +                               InstructionVisitor instructionVisitor)
        +
        Applies the given instruction visitor to all instructions in the specified range of offsets.
        +
      • +
      + + + +
        +
      • +

        exceptionsAccept

        +
        public void exceptionsAccept​(Clazz clazz,
        +                             Method method,
        +                             ExceptionInfoVisitor exceptionInfoVisitor)
        +
        Applies the given exception visitor to all exceptions.
        +
      • +
      + + + +
        +
      • +

        exceptionsAccept

        +
        public void exceptionsAccept​(Clazz clazz,
        +                             Method method,
        +                             int offset,
        +                             ExceptionInfoVisitor exceptionInfoVisitor)
        +
        Applies the given exception visitor to all exceptions that are applicable to the instruction at + the specified offset.
        +
      • +
      + + + +
        +
      • +

        exceptionsAccept

        +
        public void exceptionsAccept​(Clazz clazz,
        +                             Method method,
        +                             int startOffset,
        +                             int endOffset,
        +                             ExceptionInfoVisitor exceptionInfoVisitor)
        +
        Applies the given exception visitor to all exceptions that are applicable to any of the + instructions in the specified range of offsets.
        +
      • +
      + + + +
        +
      • +

        attributesAccept

        +
        public void attributesAccept​(Clazz clazz,
        +                             Method method,
        +                             AttributeVisitor attributeVisitor)
        +
        Applies the given attribute visitor to all attributes.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/ConstantValueAttribute.html b/api/proguard/classfile/attribute/ConstantValueAttribute.html new file mode 100644 index 000000000..a5dd00734 --- /dev/null +++ b/api/proguard/classfile/attribute/ConstantValueAttribute.html @@ -0,0 +1,426 @@ + + + + + +ConstantValueAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantValueAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2constantValueIndex

        +
        public int u2constantValueIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConstantValueAttribute

        +
        public ConstantValueAttribute()
        +
        Creates an uninitialized ConstantValueAttribute.
        +
      • +
      + + + +
        +
      • +

        ConstantValueAttribute

        +
        public ConstantValueAttribute​(int u2attributeNameIndex,
        +                              int u2constantValueIndex)
        +
        Creates an initialized ConstantValueAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   Field field,
        +                   AttributeVisitor attributeVisitor)
        +
        Description copied from class: Attribute
        +
        Accepts the given visitor in the context of the given field.
        +
        +
        Overrides:
        +
        accept in class Attribute
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/DeprecatedAttribute.html b/api/proguard/classfile/attribute/DeprecatedAttribute.html new file mode 100644 index 000000000..464183e39 --- /dev/null +++ b/api/proguard/classfile/attribute/DeprecatedAttribute.html @@ -0,0 +1,442 @@ + + + + + +DeprecatedAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DeprecatedAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DeprecatedAttribute

        +
        public DeprecatedAttribute()
        +
        Creates an uninitialized DeprecatedAttribute.
        +
      • +
      + + + +
        +
      • +

        DeprecatedAttribute

        +
        public DeprecatedAttribute​(int u2attributeNameIndex)
        +
        Creates an initialized DeprecatedAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/EnclosingMethodAttribute.html b/api/proguard/classfile/attribute/EnclosingMethodAttribute.html new file mode 100644 index 000000000..1baf60900 --- /dev/null +++ b/api/proguard/classfile/attribute/EnclosingMethodAttribute.html @@ -0,0 +1,561 @@ + + + + + +EnclosingMethodAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class EnclosingMethodAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class EnclosingMethodAttribute
    +extends Attribute
    +
    This Attribute represents an enclosing method attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2classIndex

        +
        public int u2classIndex
        +
      • +
      + + + +
        +
      • +

        u2nameAndTypeIndex

        +
        public int u2nameAndTypeIndex
        +
      • +
      + + + +
        +
      • +

        referencedClass

        +
        public Clazz referencedClass
        +
        An extra field pointing to the referenced Clazz object. This field is typically filled out by + the ClassReferenceInitializer.
        +
      • +
      + + + +
        +
      • +

        referencedMethod

        +
        public Method referencedMethod
        +
        An extra field optionally pointing to the referenced Method object. This field is typically + filled out by the ClassReferenceInitializer.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        EnclosingMethodAttribute

        +
        public EnclosingMethodAttribute()
        +
        Creates an uninitialized EnclosingMethodAttribute.
        +
      • +
      + + + +
        +
      • +

        EnclosingMethodAttribute

        +
        public EnclosingMethodAttribute​(int u2attributeNameIndex,
        +                                int u2classIndex,
        +                                int u2nameAndTypeIndex)
        +
        Creates an initialized EnclosingMethodAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getClassName

        +
        public java.lang.String getClassName​(Clazz clazz)
        +
        Returns the class name.
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Returns the method/field name.
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public java.lang.String getType​(Clazz clazz)
        +
        Returns the type.
        +
      • +
      + + + +
        +
      • +

        referencedClassAccept

        +
        public void referencedClassAccept​(ClassVisitor classVisitor)
        +
        Lets the referenced class accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        referencedMethodAccept

        +
        public void referencedMethodAccept​(MemberVisitor memberVisitor)
        +
        Lets the referenced class member accept the given visitor.
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/ExceptionInfo.html b/api/proguard/classfile/attribute/ExceptionInfo.html new file mode 100644 index 000000000..39f7ee110 --- /dev/null +++ b/api/proguard/classfile/attribute/ExceptionInfo.html @@ -0,0 +1,463 @@ + + + + + +ExceptionInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptionInfo

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2startPC

        +
        public int u2startPC
        +
      • +
      + + + +
        +
      • +

        u2endPC

        +
        public int u2endPC
        +
      • +
      + + + +
        +
      • +

        u2handlerPC

        +
        public int u2handlerPC
        +
      • +
      + + + +
        +
      • +

        u2catchType

        +
        public int u2catchType
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptionInfo

        +
        public ExceptionInfo()
        +
        Creates an uninitialized ExceptionInfo.
        +
      • +
      + + + +
        +
      • +

        ExceptionInfo

        +
        public ExceptionInfo​(int u2startPC,
        +                     int u2endPC,
        +                     int u2handlerPC,
        +                     int u2catchType)
        +
        Creates an ExceptionInfo with the given properties.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isApplicable

        +
        public boolean isApplicable​(int instructionOffset)
        +
        Returns whether the exception's try block contains the instruction at the given offset.
        +
      • +
      + + + +
        +
      • +

        isApplicable

        +
        public boolean isApplicable​(int startOffset,
        +                            int endOffset)
        +
        Returns whether the exception's try block overlaps with the specified block of instructions.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/ExceptionsAttribute.html b/api/proguard/classfile/attribute/ExceptionsAttribute.html new file mode 100644 index 000000000..68579759e --- /dev/null +++ b/api/proguard/classfile/attribute/ExceptionsAttribute.html @@ -0,0 +1,461 @@ + + + + + +ExceptionsAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptionsAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2exceptionIndexTableLength

        +
        public int u2exceptionIndexTableLength
        +
      • +
      + + + +
        +
      • +

        u2exceptionIndexTable

        +
        public int[] u2exceptionIndexTable
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptionsAttribute

        +
        public ExceptionsAttribute()
        +
        Creates an uninitialized ExceptionsAttribute.
        +
      • +
      + + + +
        +
      • +

        ExceptionsAttribute

        +
        public ExceptionsAttribute​(int u2attributeNameIndex,
        +                           int u2exceptionIndexTableLength,
        +                           int[] u2exceptionIndexTable)
        +
        Creates an initialized ExceptionsAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   Method method,
        +                   AttributeVisitor attributeVisitor)
        +
        Description copied from class: Attribute
        +
        Accepts the given visitor in the context of the given method.
        +
        +
        Overrides:
        +
        accept in class Attribute
        +
        +
      • +
      + + + +
        +
      • +

        exceptionEntriesAccept

        +
        public void exceptionEntriesAccept​(Clazz clazz,
        +                                   ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to all exception class pool info entries.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/ExtendedLineNumberInfo.html b/api/proguard/classfile/attribute/ExtendedLineNumberInfo.html new file mode 100644 index 000000000..9d7f7abb3 --- /dev/null +++ b/api/proguard/classfile/attribute/ExtendedLineNumberInfo.html @@ -0,0 +1,394 @@ + + + + + +ExtendedLineNumberInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExtendedLineNumberInfo

+
+
+ +
+
    +
  • +
    +
    public class ExtendedLineNumberInfo
    +extends LineNumberInfo
    +
    This line number table entry contains additional information about its source. This information + can not be represented in class files, but it can be used internally to represent lines in + inlined or merged code.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ExtendedLineNumberInfo() +
      Creates an uninitialized ExtendedLineNumberInfo.
      +
      ExtendedLineNumberInfo​(int u2startPC, + int u2lineNumber, + java.lang.String source) +
      Creates an initialized ExtendedLineNumberInfo.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.StringgetSource() +
      Returns a description of the source of the line, if known, or null otherwise.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        source

        +
        public java.lang.String source
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExtendedLineNumberInfo

        +
        public ExtendedLineNumberInfo()
        +
        Creates an uninitialized ExtendedLineNumberInfo.
        +
      • +
      + + + +
        +
      • +

        ExtendedLineNumberInfo

        +
        public ExtendedLineNumberInfo​(int u2startPC,
        +                              int u2lineNumber,
        +                              java.lang.String source)
        +
        Creates an initialized ExtendedLineNumberInfo.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getSource

        +
        public java.lang.String getSource()
        +
        Description copied from class: LineNumberInfo
        +
        Returns a description of the source of the line, if known, or null otherwise. Standard line + number entries don't contain information about their source; it is assumed to be the same + source file.
        +
        +
        Overrides:
        +
        getSource in class LineNumberInfo
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/InnerClassesAttribute.html b/api/proguard/classfile/attribute/InnerClassesAttribute.html new file mode 100644 index 000000000..f108ef46a --- /dev/null +++ b/api/proguard/classfile/attribute/InnerClassesAttribute.html @@ -0,0 +1,459 @@ + + + + + +InnerClassesAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InnerClassesAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2classesCount

        +
        public int u2classesCount
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InnerClassesAttribute

        +
        public InnerClassesAttribute()
        +
        Creates an uninitialized InnerClassesAttribute.
        +
      • +
      + + + +
        +
      • +

        InnerClassesAttribute

        +
        public InnerClassesAttribute​(int u2attributeNameIndex,
        +                             int u2classesCount,
        +                             InnerClassesInfo[] classes)
        +
        Creates an initialized InnerClassesAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        innerClassEntriesAccept

        +
        public void innerClassEntriesAccept​(Clazz clazz,
        +                                    InnerClassesInfoVisitor innerClassesInfoVisitor)
        +
        Applies the given visitor to all inner classes.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/InnerClassesInfo.html b/api/proguard/classfile/attribute/InnerClassesInfo.html new file mode 100644 index 000000000..f565b019f --- /dev/null +++ b/api/proguard/classfile/attribute/InnerClassesInfo.html @@ -0,0 +1,484 @@ + + + + + +InnerClassesInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InnerClassesInfo

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class InnerClassesInfo
    +extends SimpleProcessable
    +
    Representation of an inner classes table entry.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2innerClassIndex

        +
        public int u2innerClassIndex
        +
      • +
      + + + +
        +
      • +

        u2outerClassIndex

        +
        public int u2outerClassIndex
        +
      • +
      + + + +
        +
      • +

        u2innerNameIndex

        +
        public int u2innerNameIndex
        +
      • +
      + + + +
        +
      • +

        u2innerClassAccessFlags

        +
        public int u2innerClassAccessFlags
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InnerClassesInfo

        +
        public InnerClassesInfo()
        +
        Creates an uninitialized InnerClassesInfo.
        +
      • +
      + + + +
        +
      • +

        InnerClassesInfo

        +
        public InnerClassesInfo​(int u2innerClassIndex,
        +                        int u2outerClassIndex,
        +                        int u2innerNameIndex,
        +                        int u2innerClassAccessFlags)
        +
        Creates an InnerClassesInfo with the given properties.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        innerClassConstantAccept

        +
        public void innerClassConstantAccept​(Clazz clazz,
        +                                     ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the class constant of the inner class, if any.
        +
      • +
      + + + +
        +
      • +

        outerClassConstantAccept

        +
        public void outerClassConstantAccept​(Clazz clazz,
        +                                     ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the class constant of the outer class, if any.
        +
      • +
      + + + +
        +
      • +

        innerNameConstantAccept

        +
        public void innerNameConstantAccept​(Clazz clazz,
        +                                    ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the Utf8 constant of the inner name, if any.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/LineNumberInfo.html b/api/proguard/classfile/attribute/LineNumberInfo.html new file mode 100644 index 000000000..73b7bcd36 --- /dev/null +++ b/api/proguard/classfile/attribute/LineNumberInfo.html @@ -0,0 +1,391 @@ + + + + + +LineNumberInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LineNumberInfo

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.LineNumberInfo
    • +
    +
  • +
+
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    ExtendedLineNumberInfo
    +
    +
    +
    public class LineNumberInfo
    +extends java.lang.Object
    +
    Representation of an line number table entry.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      intu2lineNumber 
      intu2startPC 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      LineNumberInfo() +
      Creates an uninitialized LineNumberInfo.
      +
      LineNumberInfo​(int u2startPC, + int u2lineNumber) +
      Creates an initialized LineNumberInfo.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.StringgetSource() +
      Returns a description of the source of the line, if known, or null otherwise.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2startPC

        +
        public int u2startPC
        +
      • +
      + + + +
        +
      • +

        u2lineNumber

        +
        public int u2lineNumber
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LineNumberInfo

        +
        public LineNumberInfo()
        +
        Creates an uninitialized LineNumberInfo.
        +
      • +
      + + + +
        +
      • +

        LineNumberInfo

        +
        public LineNumberInfo​(int u2startPC,
        +                      int u2lineNumber)
        +
        Creates an initialized LineNumberInfo.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getSource

        +
        public java.lang.String getSource()
        +
        Returns a description of the source of the line, if known, or null otherwise. Standard line + number entries don't contain information about their source; it is assumed to be the same + source file.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/LineNumberTableAttribute.html b/api/proguard/classfile/attribute/LineNumberTableAttribute.html new file mode 100644 index 000000000..17f6eb8fb --- /dev/null +++ b/api/proguard/classfile/attribute/LineNumberTableAttribute.html @@ -0,0 +1,556 @@ + + + + + +LineNumberTableAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LineNumberTableAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class LineNumberTableAttribute
    +extends Attribute
    +
    This Attribute represents a line number table attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2lineNumberTableLength

        +
        public int u2lineNumberTableLength
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LineNumberTableAttribute

        +
        public LineNumberTableAttribute()
        +
        Creates an uninitialized LineNumberTableAttribute.
        +
      • +
      + + + +
        +
      • +

        LineNumberTableAttribute

        +
        public LineNumberTableAttribute​(int u2attributeNameIndex,
        +                                int u2lineNumberTableLength,
        +                                LineNumberInfo[] lineNumberTable)
        +
        Creates an initialized LineNumberTableAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getLineNumber

        +
        public int getLineNumber​(int pc)
        +
        Returns the line number corresponding to the given byte code program counter.
        +
      • +
      + + + +
        +
      • +

        getSource

        +
        public java.lang.String getSource​(int pc)
        +
        Returns the source corresponding to the given byte code program counter.
        +
      • +
      + + + +
        +
      • +

        getLineNumberInfo

        +
        public LineNumberInfo getLineNumberInfo​(int pc)
        +
        Returns the line number info corresponding to the given byte code program counter.
        +
      • +
      + + + +
        +
      • +

        getLowestLineNumber

        +
        public int getLowestLineNumber()
        +
        Returns the lowest line number with the default null source, or 0 if there aren't any such line + numbers.
        +
      • +
      + + + +
        +
      • +

        getHighestLineNumber

        +
        public int getHighestLineNumber()
        +
        Returns the highest line number with the default null source, or 0 if there aren't any such + line numbers.
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/LocalVariableInfo.html b/api/proguard/classfile/attribute/LocalVariableInfo.html new file mode 100644 index 000000000..2522446ac --- /dev/null +++ b/api/proguard/classfile/attribute/LocalVariableInfo.html @@ -0,0 +1,531 @@ + + + + + +LocalVariableInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LocalVariableInfo

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable, Processable
    +
    +
    +
    public class LocalVariableInfo
    +extends SimpleProcessable
    +implements java.lang.Comparable
    +
    Representation of a local variable table entry.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2startPC

        +
        public int u2startPC
        +
      • +
      + + + +
        +
      • +

        u2length

        +
        public int u2length
        +
      • +
      + + + +
        +
      • +

        u2nameIndex

        +
        public int u2nameIndex
        +
      • +
      + + + +
        +
      • +

        u2descriptorIndex

        +
        public int u2descriptorIndex
        +
      • +
      + + + +
        +
      • +

        u2index

        +
        public int u2index
        +
      • +
      + + + +
        +
      • +

        referencedClass

        +
        public Clazz referencedClass
        +
        An extra field pointing to the referenced Clazz object. This field is typically filled out by + the ClassReferenceInitializer.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LocalVariableInfo

        +
        public LocalVariableInfo()
        +
        Creates an uninitialized LocalVariableInfo.
        +
      • +
      + + + +
        +
      • +

        LocalVariableInfo

        +
        public LocalVariableInfo​(int u2startPC,
        +                         int u2length,
        +                         int u2nameIndex,
        +                         int u2descriptorIndex,
        +                         int u2index)
        +
        Creates an initialized LocalVariableInfo.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Returns the name.
        +
      • +
      + + + +
        +
      • +

        getDescriptor

        +
        public java.lang.String getDescriptor​(Clazz clazz)
        +
        Returns the descriptor.
        +
      • +
      + + + +
        +
      • +

        referencedClassAccept

        +
        public void referencedClassAccept​(ClassVisitor classVisitor)
        +
        Lets the referenced class accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        compareTo

        +
        public int compareTo​(java.lang.Object object)
        +
        +
        Specified by:
        +
        compareTo in interface java.lang.Comparable
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/LocalVariableTableAttribute.html b/api/proguard/classfile/attribute/LocalVariableTableAttribute.html new file mode 100644 index 000000000..abe09a757 --- /dev/null +++ b/api/proguard/classfile/attribute/LocalVariableTableAttribute.html @@ -0,0 +1,467 @@ + + + + + +LocalVariableTableAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LocalVariableTableAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class LocalVariableTableAttribute
    +extends Attribute
    +
    This Attribute represents a local variable table attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2localVariableTableLength

        +
        public int u2localVariableTableLength
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LocalVariableTableAttribute

        +
        public LocalVariableTableAttribute()
        +
        Creates an uninitialized LocalVariableTableAttribute.
        +
      • +
      + + + +
        +
      • +

        LocalVariableTableAttribute

        +
        public LocalVariableTableAttribute​(int u2attributeNameIndex,
        +                                   int u2localVariableTableLength,
        +                                   LocalVariableInfo[] localVariableTable)
        +
        Creates an initialized LocalVariableTableAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/LocalVariableTypeInfo.html b/api/proguard/classfile/attribute/LocalVariableTypeInfo.html new file mode 100644 index 000000000..8f78702ce --- /dev/null +++ b/api/proguard/classfile/attribute/LocalVariableTypeInfo.html @@ -0,0 +1,531 @@ + + + + + +LocalVariableTypeInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LocalVariableTypeInfo

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable, Processable
    +
    +
    +
    public class LocalVariableTypeInfo
    +extends SimpleProcessable
    +implements java.lang.Comparable
    +
    Representation of a local variable table type entry.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2startPC

        +
        public int u2startPC
        +
      • +
      + + + +
        +
      • +

        u2length

        +
        public int u2length
        +
      • +
      + + + +
        +
      • +

        u2nameIndex

        +
        public int u2nameIndex
        +
      • +
      + + + +
        +
      • +

        u2signatureIndex

        +
        public int u2signatureIndex
        +
      • +
      + + + +
        +
      • +

        u2index

        +
        public int u2index
        +
      • +
      + + + +
        +
      • +

        referencedClasses

        +
        public Clazz[] referencedClasses
        +
        An extra field pointing to the Clazz objects referenced in the type string. This field is + typically filled out by the ClassReferenceInitializer. References to primitive types are ignored.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LocalVariableTypeInfo

        +
        public LocalVariableTypeInfo()
        +
        Creates an uninitialized LocalVariableTypeInfo.
        +
      • +
      + + + +
        +
      • +

        LocalVariableTypeInfo

        +
        public LocalVariableTypeInfo​(int u2startPC,
        +                             int u2length,
        +                             int u2nameIndex,
        +                             int u2signatureIndex,
        +                             int u2index)
        +
        Creates an initialized LocalVariableTypeInfo.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Returns the name.
        +
      • +
      + + + +
        +
      • +

        getSignature

        +
        public java.lang.String getSignature​(Clazz clazz)
        +
        Returns the signature.
        +
      • +
      + + + +
        +
      • +

        referencedClassesAccept

        +
        public void referencedClassesAccept​(ClassVisitor classVisitor)
        +
        Applies the given visitor to all referenced classes.
        +
      • +
      + + + +
        +
      • +

        compareTo

        +
        public int compareTo​(java.lang.Object object)
        +
        +
        Specified by:
        +
        compareTo in interface java.lang.Comparable
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/LocalVariableTypeTableAttribute.html b/api/proguard/classfile/attribute/LocalVariableTypeTableAttribute.html new file mode 100644 index 000000000..b39fd84dd --- /dev/null +++ b/api/proguard/classfile/attribute/LocalVariableTypeTableAttribute.html @@ -0,0 +1,467 @@ + + + + + +LocalVariableTypeTableAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LocalVariableTypeTableAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class LocalVariableTypeTableAttribute
    +extends Attribute
    +
    This Attribute represents a local variable table type attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2localVariableTypeTableLength

        +
        public int u2localVariableTypeTableLength
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LocalVariableTypeTableAttribute

        +
        public LocalVariableTypeTableAttribute()
        +
        Creates an uninitialized LocalVariableTypeTableAttribute.
        +
      • +
      + + + +
        +
      • +

        LocalVariableTypeTableAttribute

        +
        public LocalVariableTypeTableAttribute​(int u2attributeNameIndex,
        +                                       int u2localVariableTypeTableLength,
        +                                       LocalVariableTypeInfo[] localVariableTypeTable)
        +
        Creates an initialized LocalVariableTypeTableAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/MethodParametersAttribute.html b/api/proguard/classfile/attribute/MethodParametersAttribute.html new file mode 100644 index 000000000..99c0bdebc --- /dev/null +++ b/api/proguard/classfile/attribute/MethodParametersAttribute.html @@ -0,0 +1,463 @@ + + + + + +MethodParametersAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodParametersAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class MethodParametersAttribute
    +extends Attribute
    +
    This Attribute represents a method parameters attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u1parametersCount

        +
        public int u1parametersCount
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodParametersAttribute

        +
        public MethodParametersAttribute()
        +
        Creates an uninitialized MethodParametersAttribute.
        +
      • +
      + + + +
        +
      • +

        MethodParametersAttribute

        +
        public MethodParametersAttribute​(int u2attributeNameIndex,
        +                                 int u1parametersCount,
        +                                 ParameterInfo[] parameters)
        +
        Creates an initialized MethodParametersAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   Method method,
        +                   AttributeVisitor attributeVisitor)
        +
        Description copied from class: Attribute
        +
        Accepts the given visitor in the context of the given method.
        +
        +
        Overrides:
        +
        accept in class Attribute
        +
        +
      • +
      + + + +
        +
      • +

        parametersAccept

        +
        public void parametersAccept​(Clazz clazz,
        +                             Method method,
        +                             ParameterInfoVisitor parameterInfoVisitor)
        +
        Applies the given visitor to all parameters.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/NestHostAttribute.html b/api/proguard/classfile/attribute/NestHostAttribute.html new file mode 100644 index 000000000..67cde4662 --- /dev/null +++ b/api/proguard/classfile/attribute/NestHostAttribute.html @@ -0,0 +1,441 @@ + + + + + +NestHostAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NestHostAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2hostClassIndex

        +
        public int u2hostClassIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NestHostAttribute

        +
        public NestHostAttribute()
        +
        Creates an uninitialized NestHostAttribute.
        +
      • +
      + + + +
        +
      • +

        NestHostAttribute

        +
        public NestHostAttribute​(int u2attributeNameIndex,
        +                         int u2hostClassIndex)
        +
        Creates an initialized NestHostAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getHostClassName

        +
        public java.lang.String getHostClassName​(Clazz clazz)
        +
        Returns the host class name.
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/NestMembersAttribute.html b/api/proguard/classfile/attribute/NestMembersAttribute.html new file mode 100644 index 000000000..ae8dd6868 --- /dev/null +++ b/api/proguard/classfile/attribute/NestMembersAttribute.html @@ -0,0 +1,459 @@ + + + + + +NestMembersAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NestMembersAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2classesCount

        +
        public int u2classesCount
        +
      • +
      + + + +
        +
      • +

        u2classes

        +
        public int[] u2classes
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NestMembersAttribute

        +
        public NestMembersAttribute()
        +
        Creates an uninitialized NestMembersAttribute.
        +
      • +
      + + + +
        +
      • +

        NestMembersAttribute

        +
        public NestMembersAttribute​(int u2attributeNameIndex,
        +                            int u2classesCount,
        +                            int[] u2classes)
        +
        Creates an initialized NestMembersAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        memberClassConstantsAccept

        +
        public void memberClassConstantsAccept​(Clazz clazz,
        +                                       ConstantVisitor constantVisitor)
        +
        Applies the given visitor to all member class constants.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/ParameterInfo.html b/api/proguard/classfile/attribute/ParameterInfo.html new file mode 100644 index 000000000..f7eebc2ae --- /dev/null +++ b/api/proguard/classfile/attribute/ParameterInfo.html @@ -0,0 +1,433 @@ + + + + + +ParameterInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ParameterInfo

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class ParameterInfo
    +extends SimpleProcessable
    +
    Representation of a parameter, as defined in a method parameters attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2nameIndex

        +
        public int u2nameIndex
        +
      • +
      + + + +
        +
      • +

        u2accessFlags

        +
        public int u2accessFlags
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ParameterInfo

        +
        public ParameterInfo()
        +
        Creates an uninitialized ParameterInfo.
        +
      • +
      + + + +
        +
      • +

        ParameterInfo

        +
        public ParameterInfo​(int u2nameIndex,
        +                     int u2accessFlags)
        +
        Creates an initialized ParameterInfo.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Returns the parameter name.
        +
      • +
      + + + +
        +
      • +

        nameConstantAccept

        +
        public void nameConstantAccept​(Clazz clazz,
        +                               ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the Utf8 constant that represents the name of the + parameter, if any.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/PermittedSubclassesAttribute.html b/api/proguard/classfile/attribute/PermittedSubclassesAttribute.html new file mode 100644 index 000000000..da7f67d00 --- /dev/null +++ b/api/proguard/classfile/attribute/PermittedSubclassesAttribute.html @@ -0,0 +1,459 @@ + + + + + +PermittedSubclassesAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PermittedSubclassesAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class PermittedSubclassesAttribute
    +extends Attribute
    +
    This Attribute represents a permitted subclasses attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2classesCount

        +
        public int u2classesCount
        +
      • +
      + + + +
        +
      • +

        u2classes

        +
        public int[] u2classes
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PermittedSubclassesAttribute

        +
        public PermittedSubclassesAttribute()
        +
        Creates an uninitialized PermittedSubclassesAttribute.
        +
      • +
      + + + +
        +
      • +

        PermittedSubclassesAttribute

        +
        public PermittedSubclassesAttribute​(int u2attributeNameIndex,
        +                                    int u2classesCount,
        +                                    int[] u2classes)
        +
        Creates an initialized PermittedSubclassesAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        permittedSubclassConstantsAccept

        +
        public void permittedSubclassConstantsAccept​(Clazz clazz,
        +                                             ConstantVisitor constantVisitor)
        +
        Applies the given visitor to all member class constants.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/RecordAttribute.html b/api/proguard/classfile/attribute/RecordAttribute.html new file mode 100644 index 000000000..0829fd3c3 --- /dev/null +++ b/api/proguard/classfile/attribute/RecordAttribute.html @@ -0,0 +1,459 @@ + + + + + +RecordAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RecordAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2componentsCount

        +
        public int u2componentsCount
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RecordAttribute

        +
        public RecordAttribute()
        +
        Creates an uninitialized RecordAttribute.
        +
      • +
      + + + +
        +
      • +

        RecordAttribute

        +
        public RecordAttribute​(int u2attributeNameIndex,
        +                       int u2componentsCount,
        +                       RecordComponentInfo[] components)
        +
        Creates an initialized RecordAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/RecordComponentInfo.html b/api/proguard/classfile/attribute/RecordComponentInfo.html new file mode 100644 index 000000000..effe3dc88 --- /dev/null +++ b/api/proguard/classfile/attribute/RecordComponentInfo.html @@ -0,0 +1,517 @@ + + + + + +RecordComponentInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RecordComponentInfo

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2nameIndex

        +
        public int u2nameIndex
        +
      • +
      + + + +
        +
      • +

        u2descriptorIndex

        +
        public int u2descriptorIndex
        +
      • +
      + + + +
        +
      • +

        u2attributesCount

        +
        public int u2attributesCount
        +
      • +
      + + + +
        +
      • +

        attributes

        +
        public Attribute[] attributes
        +
      • +
      + + + +
        +
      • +

        referencedField

        +
        public Field referencedField
        +
        An extra field optionally pointing to the referenced Field object. This field is typically + filled out by the ClassReferenceInitializer.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RecordComponentInfo

        +
        public RecordComponentInfo()
        +
        Creates an uninitialized RecordComponentInfo.
        +
      • +
      + + + +
        +
      • +

        RecordComponentInfo

        +
        public RecordComponentInfo​(int u2nameIndex,
        +                           int u2descriptorIndex,
        +                           int u2attributesCount,
        +                           Attribute[] attributes)
        +
        Creates an initialized RecordComponentInfo.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Returns the record component descriptor name.
        +
      • +
      + + + +
        +
      • +

        getDescriptor

        +
        public java.lang.String getDescriptor​(Clazz clazz)
        +
        Returns the record component descriptor descriptor.
        +
      • +
      + + + +
        +
      • +

        referencedFieldAccept

        +
        public void referencedFieldAccept​(Clazz clazz,
        +                                  MemberVisitor memberVisitor)
        +
        Lets the referenced class field accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        attributesAccept

        +
        public void attributesAccept​(Clazz clazz,
        +                             AttributeVisitor attributeVisitor)
        +
        Applies the given attribute visitor to all attributes.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/SignatureAttribute.html b/api/proguard/classfile/attribute/SignatureAttribute.html new file mode 100644 index 000000000..3224e119c --- /dev/null +++ b/api/proguard/classfile/attribute/SignatureAttribute.html @@ -0,0 +1,556 @@ + + + + + +SignatureAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SignatureAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2signatureIndex

        +
        public int u2signatureIndex
        +
      • +
      + + + +
        +
      • +

        referencedClasses

        +
        public Clazz[] referencedClasses
        +
        An extra field containing all the classes referenced in the signature string. This field is + filled out by the ClassReferenceInitializer. The size of the array is the number of classes in the signature. + Primitive types and arrays of primitive types are ignored. Unknown classes are represented as + null values.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SignatureAttribute

        +
        public SignatureAttribute()
        +
        Creates an uninitialized SignatureAttribute.
        +
      • +
      + + + +
        +
      • +

        SignatureAttribute

        +
        public SignatureAttribute​(int u2attributeNameIndex,
        +                          int u2signatureIndex)
        +
        Creates an initialized SignatureAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getSignature

        +
        public java.lang.String getSignature​(Clazz clazz)
        +
        Returns the signature.
        +
      • +
      + + + +
        +
      • +

        referencedClassesAccept

        +
        public void referencedClassesAccept​(ClassVisitor classVisitor)
        +
        Lets the Clazz objects referenced in the signature string accept the given visitor.
        +
      • +
      + + + + + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   Field field,
        +                   AttributeVisitor attributeVisitor)
        +
        Description copied from class: Attribute
        +
        Accepts the given visitor in the context of the given field.
        +
        +
        Overrides:
        +
        accept in class Attribute
        +
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   Method method,
        +                   AttributeVisitor attributeVisitor)
        +
        Description copied from class: Attribute
        +
        Accepts the given visitor in the context of the given method.
        +
        +
        Overrides:
        +
        accept in class Attribute
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/SourceDebugExtensionAttribute.html b/api/proguard/classfile/attribute/SourceDebugExtensionAttribute.html new file mode 100644 index 000000000..7b8992a74 --- /dev/null +++ b/api/proguard/classfile/attribute/SourceDebugExtensionAttribute.html @@ -0,0 +1,440 @@ + + + + + +SourceDebugExtensionAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SourceDebugExtensionAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class SourceDebugExtensionAttribute
    +extends Attribute
    +
    This Attribute represents a source debug extension attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u4attributeLength

        +
        public int u4attributeLength
        +
      • +
      + + + +
        +
      • +

        info

        +
        public byte[] info
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SourceDebugExtensionAttribute

        +
        public SourceDebugExtensionAttribute()
        +
        Creates an uninitialized SourceDebugExtensionAttribute.
        +
      • +
      + + + +
        +
      • +

        SourceDebugExtensionAttribute

        +
        public SourceDebugExtensionAttribute​(int u2attributeNameIndex,
        +                                     int u4attributeLength,
        +                                     byte[] info)
        +
        Creates an initialized SourceDebugExtensionAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/SourceDirAttribute.html b/api/proguard/classfile/attribute/SourceDirAttribute.html new file mode 100644 index 000000000..aeafbc104 --- /dev/null +++ b/api/proguard/classfile/attribute/SourceDirAttribute.html @@ -0,0 +1,424 @@ + + + + + +SourceDirAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SourceDirAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2sourceDirIndex

        +
        public int u2sourceDirIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SourceDirAttribute

        +
        public SourceDirAttribute()
        +
        Creates an uninitialized SourceDirAttribute.
        +
      • +
      + + + +
        +
      • +

        SourceDirAttribute

        +
        public SourceDirAttribute​(int u2attributeNameIndex,
        +                          int u2sourceDirIndex)
        +
        Creates an initialized SourceDirAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/SourceFileAttribute.html b/api/proguard/classfile/attribute/SourceFileAttribute.html new file mode 100644 index 000000000..2cdd110ec --- /dev/null +++ b/api/proguard/classfile/attribute/SourceFileAttribute.html @@ -0,0 +1,424 @@ + + + + + +SourceFileAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SourceFileAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2sourceFileIndex

        +
        public int u2sourceFileIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SourceFileAttribute

        +
        public SourceFileAttribute()
        +
        Creates an uninitialized SourceFileAttribute.
        +
      • +
      + + + +
        +
      • +

        SourceFileAttribute

        +
        public SourceFileAttribute​(int u2attributeNameIndex,
        +                           int u2sourceFileIndex)
        +
        Creates an initialized SourceFileAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/SyntheticAttribute.html b/api/proguard/classfile/attribute/SyntheticAttribute.html new file mode 100644 index 000000000..be70939e2 --- /dev/null +++ b/api/proguard/classfile/attribute/SyntheticAttribute.html @@ -0,0 +1,442 @@ + + + + + +SyntheticAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SyntheticAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SyntheticAttribute

        +
        public SyntheticAttribute()
        +
        Creates an uninitialized SyntheticAttribute.
        +
      • +
      + + + +
        +
      • +

        SyntheticAttribute

        +
        public SyntheticAttribute​(int u2attributeNameIndex)
        +
        Creates an initialized SyntheticAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/UnknownAttribute.html b/api/proguard/classfile/attribute/UnknownAttribute.html new file mode 100644 index 000000000..f760c364e --- /dev/null +++ b/api/proguard/classfile/attribute/UnknownAttribute.html @@ -0,0 +1,522 @@ + + + + + +UnknownAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UnknownAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u4attributeLength

        +
        public final int u4attributeLength
        +
      • +
      + + + +
        +
      • +

        info

        +
        public byte[] info
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UnknownAttribute

        +
        public UnknownAttribute​(int u2attributeNameIndex,
        +                        int attributeLength)
        +
        Creates an uninitialized UnknownAttribute with the specified name and length.
        +
      • +
      + + + +
        +
      • +

        UnknownAttribute

        +
        public UnknownAttribute​(int u2attributeNameIndex,
        +                        int u4attributeLength,
        +                        byte[] info)
        +
        Creates an initialized UnknownAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/Annotation.html b/api/proguard/classfile/attribute/annotation/Annotation.html new file mode 100644 index 000000000..e965e5211 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/Annotation.html @@ -0,0 +1,524 @@ + + + + + +Annotation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Annotation

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2typeIndex

        +
        public int u2typeIndex
        +
      • +
      + + + +
        +
      • +

        u2elementValuesCount

        +
        public int u2elementValuesCount
        +
      • +
      + + + + + + + +
        +
      • +

        referencedClasses

        +
        public Clazz[] referencedClasses
        +
        An extra field pointing to the Clazz objects referenced in the type string. This field is + typically filled out by the ClassReferenceInitializer. References to primitive types are ignored.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Annotation

        +
        public Annotation()
        +
        Creates an uninitialized Annotation.
        +
      • +
      + + + +
        +
      • +

        Annotation

        +
        public Annotation​(int u2typeIndex,
        +                  int u2elementValuesCount,
        +                  ElementValue[] elementValues)
        +
        Creates an initialized Annotation.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getType

        +
        public java.lang.String getType​(Clazz clazz)
        +
        Returns the type.
        +
      • +
      + + + +
        +
      • +

        referencedClassAccept

        +
        public void referencedClassAccept​(ClassVisitor classVisitor)
        +
        Applies the given visitor to the first referenced class. This is the main annotation class.
        +
      • +
      + + + +
        +
      • +

        referencedClassesAccept

        +
        public void referencedClassesAccept​(ClassVisitor classVisitor)
        +
        Applies the given visitor to all referenced classes.
        +
      • +
      + + + +
        +
      • +

        elementValueAccept

        +
        public void elementValueAccept​(Clazz clazz,
        +                               int index,
        +                               ElementValueVisitor elementValueVisitor)
        +
        Applies the given visitor to the specified element value pair.
        +
      • +
      + + + +
        +
      • +

        elementValuesAccept

        +
        public void elementValuesAccept​(Clazz clazz,
        +                                ElementValueVisitor elementValueVisitor)
        +
        Applies the given visitor to all element value pairs.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/AnnotationDefaultAttribute.html b/api/proguard/classfile/attribute/annotation/AnnotationDefaultAttribute.html new file mode 100644 index 000000000..e91c48d67 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/AnnotationDefaultAttribute.html @@ -0,0 +1,445 @@ + + + + + +AnnotationDefaultAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AnnotationDefaultAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class AnnotationDefaultAttribute
    +extends Attribute
    +
    This Attribute represents an annotation default attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AnnotationDefaultAttribute

        +
        public AnnotationDefaultAttribute()
        +
        Creates an uninitialized AnnotationDefaultAttribute.
        +
      • +
      + + + +
        +
      • +

        AnnotationDefaultAttribute

        +
        public AnnotationDefaultAttribute​(int u2attributeNameIndex,
        +                                  ElementValue defaultValue)
        +
        Creates an initialized AnnotationDefaultAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        defaultValueAccept

        +
        public void defaultValueAccept​(Clazz clazz,
        +                               ElementValueVisitor elementValueVisitor)
        +
        Applies the given visitor to the default element value.
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   Method method,
        +                   AttributeVisitor attributeVisitor)
        +
        Description copied from class: Attribute
        +
        Accepts the given visitor in the context of the given method.
        +
        +
        Overrides:
        +
        accept in class Attribute
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/AnnotationElementValue.html b/api/proguard/classfile/attribute/annotation/AnnotationElementValue.html new file mode 100644 index 000000000..1b039b4cf --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/AnnotationElementValue.html @@ -0,0 +1,467 @@ + + + + + +AnnotationElementValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AnnotationElementValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        annotationValue

        +
        public Annotation annotationValue
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AnnotationElementValue

        +
        public AnnotationElementValue()
        +
        Creates an uninitialized AnnotationElementValue.
        +
      • +
      + + + +
        +
      • +

        AnnotationElementValue

        +
        public AnnotationElementValue​(int u2elementNameIndex,
        +                              Annotation annotationValue)
        +
        Creates an initialized AnnotationElementValue.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/AnnotationsAttribute.html b/api/proguard/classfile/attribute/annotation/AnnotationsAttribute.html new file mode 100644 index 000000000..d80809c64 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/AnnotationsAttribute.html @@ -0,0 +1,574 @@ + + + + + +AnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AnnotationsAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2annotationsCount

        +
        public int u2annotationsCount
        +
      • +
      + + + +
        +
      • +

        annotations

        +
        public Annotation[] annotations
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AnnotationsAttribute

        +
        protected AnnotationsAttribute()
        +
        Creates an uninitialized AnnotationsAttribute.
        +
      • +
      + + + +
        +
      • +

        AnnotationsAttribute

        +
        protected AnnotationsAttribute​(int u2attributeNameIndex,
        +                               int u2annotationsCount,
        +                               Annotation[] annotations)
        +
        Creates an initialized AnnotationsAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        annotationAccept

        +
        public void annotationAccept​(Clazz clazz,
        +                             int index,
        +                             AnnotationVisitor annotationVisitor)
        +
        Applies the given visitor to the specified class annotation.
        +
      • +
      + + + +
        +
      • +

        annotationsAccept

        +
        public void annotationsAccept​(Clazz clazz,
        +                              AnnotationVisitor annotationVisitor)
        +
        Applies the given visitor to all class annotations.
        +
      • +
      + + + +
        +
      • +

        annotationAccept

        +
        public void annotationAccept​(Clazz clazz,
        +                             Field field,
        +                             int index,
        +                             AnnotationVisitor annotationVisitor)
        +
        Applies the given visitor to the specified field annotation.
        +
      • +
      + + + +
        +
      • +

        annotationsAccept

        +
        public void annotationsAccept​(Clazz clazz,
        +                              Field field,
        +                              AnnotationVisitor annotationVisitor)
        +
        Applies the given visitor to all field annotations.
        +
      • +
      + + + +
        +
      • +

        annotationAccept

        +
        public void annotationAccept​(Clazz clazz,
        +                             Method method,
        +                             int index,
        +                             AnnotationVisitor annotationVisitor)
        +
        Applies the given visitor to the specified method annotation.
        +
      • +
      + + + +
        +
      • +

        annotationsAccept

        +
        public void annotationsAccept​(Clazz clazz,
        +                              Method method,
        +                              AnnotationVisitor annotationVisitor)
        +
        Applies the given visitor to all method annotations.
        +
      • +
      + + + +
        +
      • +

        annotationsAccept

        +
        public void annotationsAccept​(Clazz clazz,
        +                              Method method,
        +                              CodeAttribute codeAttribute,
        +                              AnnotationVisitor annotationVisitor)
        +
        Applies the given visitor to all code attribute annotations.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/ArrayElementValue.html b/api/proguard/classfile/attribute/annotation/ArrayElementValue.html new file mode 100644 index 000000000..848ca0d1d --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/ArrayElementValue.html @@ -0,0 +1,508 @@ + + + + + +ArrayElementValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ArrayElementValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2elementValuesCount

        +
        public int u2elementValuesCount
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ArrayElementValue

        +
        public ArrayElementValue()
        +
        Creates an uninitialized ArrayElementValue.
        +
      • +
      + + + +
        +
      • +

        ArrayElementValue

        +
        public ArrayElementValue​(int u2elementNameIndex,
        +                         int u2elementValuesCount,
        +                         ElementValue[] elementValues)
        +
        Creates an initialized ArrayElementValue.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getTag

        +
        public char getTag()
        +
        Description copied from class: ElementValue
        +
        Returns the tag of this element value.
        +
        +
        Specified by:
        +
        getTag in class ElementValue
        +
        +
      • +
      + + + + + + + +
        +
      • +

        elementValueAccept

        +
        public void elementValueAccept​(Clazz clazz,
        +                               Annotation annotation,
        +                               int index,
        +                               ElementValueVisitor elementValueVisitor)
        +
        Applies the given visitor to the specified nested element value.
        +
      • +
      + + + +
        +
      • +

        elementValuesAccept

        +
        public void elementValuesAccept​(Clazz clazz,
        +                                Annotation annotation,
        +                                ElementValueVisitor elementValueVisitor)
        +
        Applies the given visitor to all nested element values.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/ClassElementValue.html b/api/proguard/classfile/attribute/annotation/ClassElementValue.html new file mode 100644 index 000000000..753e46f7d --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/ClassElementValue.html @@ -0,0 +1,501 @@ + + + + + +ClassElementValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassElementValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2classInfoIndex

        +
        public int u2classInfoIndex
        +
      • +
      + + + +
        +
      • +

        referencedClasses

        +
        public Clazz[] referencedClasses
        +
        An extra field pointing to the Clazz objects referenced in the type name string. This field is + filled out by the ClassReferenceInitializer. References + to primitive types are ignored.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassElementValue

        +
        public ClassElementValue()
        +
        Creates an uninitialized ClassElementValue.
        +
      • +
      + + + +
        +
      • +

        ClassElementValue

        +
        public ClassElementValue​(int u2elementNameIndex,
        +                         int u2classInfoIndex)
        +
        Creates an initialized ClassElementValue.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getClassName

        +
        public java.lang.String getClassName​(Clazz clazz)
        +
        Returns the class info name.
        +
      • +
      + + + +
        +
      • +

        referencedClassesAccept

        +
        public void referencedClassesAccept​(ClassVisitor classVisitor)
        +
        Applies the given visitor to all referenced classes.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public char getTag()
        +
        Description copied from class: ElementValue
        +
        Returns the tag of this element value.
        +
        +
        Specified by:
        +
        getTag in class ElementValue
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/ConstantElementValue.html b/api/proguard/classfile/attribute/annotation/ConstantElementValue.html new file mode 100644 index 000000000..4027eeb8e --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/ConstantElementValue.html @@ -0,0 +1,464 @@ + + + + + +ConstantElementValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantElementValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u1tag

        +
        public final char u1tag
        +
      • +
      + + + +
        +
      • +

        u2constantValueIndex

        +
        public int u2constantValueIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConstantElementValue

        +
        public ConstantElementValue​(char u1tag)
        +
        Creates an uninitialized ConstantElementValue.
        +
      • +
      + + + +
        +
      • +

        ConstantElementValue

        +
        public ConstantElementValue​(char u1tag,
        +                            int u2elementNameIndex,
        +                            int u2constantValueIndex)
        +
        Creates an initialized ConstantElementValue.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/ElementValue.html b/api/proguard/classfile/attribute/annotation/ElementValue.html new file mode 100644 index 000000000..f25f70a56 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/ElementValue.html @@ -0,0 +1,591 @@ + + + + + +ElementValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ElementValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        TAG_STRING_CONSTANT

        +
        public static final char TAG_STRING_CONSTANT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TAG_ENUM_CONSTANT

        +
        public static final char TAG_ENUM_CONSTANT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        u2elementNameIndex

        +
        public int u2elementNameIndex
        +
        An extra field for the optional element name. It is used in element value pairs of annotations. + Otherwise, it is 0.
        +
      • +
      + + + +
        +
      • +

        referencedClass

        +
        public Clazz referencedClass
        +
        An extra field pointing to the referenced Clazz object, if applicable. This field + is typically filled out by the ClassReferenceInitializer + .
        +
      • +
      + + + +
        +
      • +

        referencedMethod

        +
        public Method referencedMethod
        +
        An extra field pointing to the referenced Method object, if applicable. This field + is typically filled out by the ClassReferenceInitializer + .
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ElementValue

        +
        protected ElementValue()
        +
        Creates an uninitialized ElementValue.
        +
      • +
      + + + +
        +
      • +

        ElementValue

        +
        protected ElementValue​(int u2elementNameIndex)
        +
        Creates an initialized ElementValue.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getMethodName

        +
        public java.lang.String getMethodName​(Clazz clazz)
        +
        Returns the element name.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public abstract char getTag()
        +
        Returns the tag of this element value.
        +
      • +
      + + + + + + + +
        +
      • +

        referencedMethodAccept

        +
        public void referencedMethodAccept​(MemberVisitor memberVisitor)
        +
        Applies the given visitor to the referenced method.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/EnumConstantElementValue.html b/api/proguard/classfile/attribute/annotation/EnumConstantElementValue.html new file mode 100644 index 000000000..0a62bd516 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/EnumConstantElementValue.html @@ -0,0 +1,568 @@ + + + + + +EnumConstantElementValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class EnumConstantElementValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2typeNameIndex

        +
        public int u2typeNameIndex
        +
      • +
      + + + +
        +
      • +

        u2constantNameIndex

        +
        public int u2constantNameIndex
        +
      • +
      + + + +
        +
      • +

        referencedClasses

        +
        public Clazz[] referencedClasses
        +
        An extra field pointing to the Clazz objects referenced in the type name string. This field is + typically filled out by the ClassReferenceInitializer. References to primitive types are ignored.
        +
      • +
      + + + +
        +
      • +

        referencedField

        +
        public Field referencedField
        +
        An extra field optionally pointing to the referenced enum Field object. This field is typically + filled out by the ClassReferenceInitializer.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        EnumConstantElementValue

        +
        public EnumConstantElementValue()
        +
        Creates an uninitialized EnumConstantElementValue.
        +
      • +
      + + + +
        +
      • +

        EnumConstantElementValue

        +
        public EnumConstantElementValue​(int u2elementNameIndex,
        +                                int u2typeNameIndex,
        +                                int u2constantNameIndex)
        +
        Creates an initialized EnumConstantElementValue.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getTypeName

        +
        public java.lang.String getTypeName​(Clazz clazz)
        +
        Returns the enumeration type name.
        +
      • +
      + + + +
        +
      • +

        getConstantName

        +
        public java.lang.String getConstantName​(Clazz clazz)
        +
        Returns the constant name.
        +
      • +
      + + + +
        +
      • +

        referencedClassesAccept

        +
        public void referencedClassesAccept​(ClassVisitor classVisitor)
        +
        Applies the given visitor to all referenced classes.
        +
      • +
      + + + +
        +
      • +

        referencedFieldAccept

        +
        public void referencedFieldAccept​(MemberVisitor memberVisitor)
        +
        Applies the given visitor to the referenced field.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public char getTag()
        +
        Description copied from class: ElementValue
        +
        Returns the tag of this element value.
        +
        +
        Specified by:
        +
        getTag in class ElementValue
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/ParameterAnnotationsAttribute.html b/api/proguard/classfile/attribute/annotation/ParameterAnnotationsAttribute.html new file mode 100644 index 000000000..02d821973 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/ParameterAnnotationsAttribute.html @@ -0,0 +1,460 @@ + + + + + +ParameterAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ParameterAnnotationsAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u1parametersCount

        +
        public int u1parametersCount
        +
      • +
      + + + +
        +
      • +

        u2parameterAnnotationsCount

        +
        public int[] u2parameterAnnotationsCount
        +
      • +
      + + + +
        +
      • +

        parameterAnnotations

        +
        public Annotation[][] parameterAnnotations
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ParameterAnnotationsAttribute

        +
        protected ParameterAnnotationsAttribute()
        +
        Creates an uninitialized ParameterAnnotationsAttribute.
        +
      • +
      + + + +
        +
      • +

        ParameterAnnotationsAttribute

        +
        protected ParameterAnnotationsAttribute​(int u2attributeNameIndex,
        +                                        int u1parametersCount,
        +                                        int[] u2parameterAnnotationsCount,
        +                                        Annotation[][] parameterAnnotations)
        +
        Creates an initialized ParameterAnnotationsAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        annotationsAccept

        +
        public void annotationsAccept​(Clazz clazz,
        +                              Method method,
        +                              AnnotationVisitor annotationVisitor)
        +
        Applies the given visitor to all annotations.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/RuntimeInvisibleAnnotationsAttribute.html b/api/proguard/classfile/attribute/annotation/RuntimeInvisibleAnnotationsAttribute.html new file mode 100644 index 000000000..f7110f8a8 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/RuntimeInvisibleAnnotationsAttribute.html @@ -0,0 +1,491 @@ + + + + + +RuntimeInvisibleAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RuntimeInvisibleAnnotationsAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RuntimeInvisibleAnnotationsAttribute

        +
        public RuntimeInvisibleAnnotationsAttribute()
        +
        Creates an uninitialized RuntimeInvisibleAnnotationsAttribute.
        +
      • +
      + + + +
        +
      • +

        RuntimeInvisibleAnnotationsAttribute

        +
        public RuntimeInvisibleAnnotationsAttribute​(int u2attributeNameIndex,
        +                                            int u2annotationsCount,
        +                                            Annotation[] annotations)
        +
        Creates an initialized RuntimeInvisibleAnnotationsAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/RuntimeInvisibleParameterAnnotationsAttribute.html b/api/proguard/classfile/attribute/annotation/RuntimeInvisibleParameterAnnotationsAttribute.html new file mode 100644 index 000000000..b0100f063 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/RuntimeInvisibleParameterAnnotationsAttribute.html @@ -0,0 +1,417 @@ + + + + + +RuntimeInvisibleParameterAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RuntimeInvisibleParameterAnnotationsAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class RuntimeInvisibleParameterAnnotationsAttribute
    +extends ParameterAnnotationsAttribute
    +
    This Attribute represents a runtime invisible parameter annotations attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RuntimeInvisibleParameterAnnotationsAttribute

        +
        public RuntimeInvisibleParameterAnnotationsAttribute()
        +
        Creates an uninitialized RuntimeInvisibleParameterAnnotationsAttribute.
        +
      • +
      + + + +
        +
      • +

        RuntimeInvisibleParameterAnnotationsAttribute

        +
        public RuntimeInvisibleParameterAnnotationsAttribute​(int u2attributeNameIndex,
        +                                                     int u1parametersCount,
        +                                                     int[] u2parameterAnnotationsCount,
        +                                                     Annotation[][] parameterAnnotations)
        +
        Creates an initialized RuntimeInvisibleParameterAnnotationsAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/RuntimeInvisibleTypeAnnotationsAttribute.html b/api/proguard/classfile/attribute/annotation/RuntimeInvisibleTypeAnnotationsAttribute.html new file mode 100644 index 000000000..b77f18956 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/RuntimeInvisibleTypeAnnotationsAttribute.html @@ -0,0 +1,531 @@ + + + + + +RuntimeInvisibleTypeAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RuntimeInvisibleTypeAnnotationsAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RuntimeInvisibleTypeAnnotationsAttribute

        +
        public RuntimeInvisibleTypeAnnotationsAttribute()
        +
        Creates an uninitialized RuntimeInvisibleTypeAnnotationsAttribute.
        +
      • +
      + + + +
        +
      • +

        RuntimeInvisibleTypeAnnotationsAttribute

        +
        public RuntimeInvisibleTypeAnnotationsAttribute​(int u2attributeNameIndex,
        +                                                int u2annotationsCount,
        +                                                TypeAnnotation[] annotations)
        +
        Creates an initialized RuntimeInvisibleTypeAnnotationsAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/RuntimeVisibleAnnotationsAttribute.html b/api/proguard/classfile/attribute/annotation/RuntimeVisibleAnnotationsAttribute.html new file mode 100644 index 000000000..08b8cd996 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/RuntimeVisibleAnnotationsAttribute.html @@ -0,0 +1,491 @@ + + + + + +RuntimeVisibleAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RuntimeVisibleAnnotationsAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RuntimeVisibleAnnotationsAttribute

        +
        public RuntimeVisibleAnnotationsAttribute()
        +
        Creates an uninitialized RuntimeVisibleAnnotationsAttribute.
        +
      • +
      + + + +
        +
      • +

        RuntimeVisibleAnnotationsAttribute

        +
        public RuntimeVisibleAnnotationsAttribute​(int u2attributeNameIndex,
        +                                          int u2annotationsCount,
        +                                          Annotation[] annotations)
        +
        Creates an initialized RuntimeVisibleAnnotationsAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/RuntimeVisibleParameterAnnotationsAttribute.html b/api/proguard/classfile/attribute/annotation/RuntimeVisibleParameterAnnotationsAttribute.html new file mode 100644 index 000000000..f1492760a --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/RuntimeVisibleParameterAnnotationsAttribute.html @@ -0,0 +1,417 @@ + + + + + +RuntimeVisibleParameterAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RuntimeVisibleParameterAnnotationsAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class RuntimeVisibleParameterAnnotationsAttribute
    +extends ParameterAnnotationsAttribute
    +
    This Attribute represents a runtime visible parameter annotations attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RuntimeVisibleParameterAnnotationsAttribute

        +
        public RuntimeVisibleParameterAnnotationsAttribute()
        +
        Creates an uninitialized RuntimeVisibleParameterAnnotationsAttribute.
        +
      • +
      + + + +
        +
      • +

        RuntimeVisibleParameterAnnotationsAttribute

        +
        public RuntimeVisibleParameterAnnotationsAttribute​(int u2attributeNameIndex,
        +                                                   int u1parametersCount,
        +                                                   int[] u2parameterAnnotationsCount,
        +                                                   Annotation[][] parameterAnnotations)
        +
        Creates an initialized RuntimeVisibleParameterAnnotationsAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/RuntimeVisibleTypeAnnotationsAttribute.html b/api/proguard/classfile/attribute/annotation/RuntimeVisibleTypeAnnotationsAttribute.html new file mode 100644 index 000000000..317154783 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/RuntimeVisibleTypeAnnotationsAttribute.html @@ -0,0 +1,531 @@ + + + + + +RuntimeVisibleTypeAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RuntimeVisibleTypeAnnotationsAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RuntimeVisibleTypeAnnotationsAttribute

        +
        public RuntimeVisibleTypeAnnotationsAttribute()
        +
        Creates an uninitialized RuntimeVisibleTypeAnnotationsAttribute.
        +
      • +
      + + + +
        +
      • +

        RuntimeVisibleTypeAnnotationsAttribute

        +
        public RuntimeVisibleTypeAnnotationsAttribute​(int u2attributeNameIndex,
        +                                              int u2annotationsCount,
        +                                              TypeAnnotation[] annotations)
        +
        Creates an initialized RuntimeVisibleTypeAnnotationsAttribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/TypeAnnotation.html b/api/proguard/classfile/attribute/annotation/TypeAnnotation.html new file mode 100644 index 000000000..5622afb7e --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/TypeAnnotation.html @@ -0,0 +1,590 @@ + + + + + +TypeAnnotation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypeAnnotation

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class TypeAnnotation
    +extends Annotation
    +
    Representation of a type annotation.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TypeAnnotation

        +
        public TypeAnnotation()
        +
        Creates an uninitialized TypeAnnotation.
        +
      • +
      + + + +
        +
      • +

        TypeAnnotation

        +
        public TypeAnnotation​(int u2typeIndex,
        +                      int u2elementValuesCount,
        +                      ElementValue[] elementValues,
        +                      TargetInfo targetInfo,
        +                      TypePathInfo[] typePath)
        +
        Creates an initialized TypeAnnotation.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        targetInfoAccept

        +
        public void targetInfoAccept​(Clazz clazz,
        +                             TargetInfoVisitor targetInfoVisitor)
        +
        Applies the given visitor to the target info.
        +
      • +
      + + + +
        +
      • +

        targetInfoAccept

        +
        public void targetInfoAccept​(Clazz clazz,
        +                             Field field,
        +                             TargetInfoVisitor targetInfoVisitor)
        +
        Applies the given visitor to the target info.
        +
      • +
      + + + +
        +
      • +

        targetInfoAccept

        +
        public void targetInfoAccept​(Clazz clazz,
        +                             Method method,
        +                             TargetInfoVisitor targetInfoVisitor)
        +
        Applies the given visitor to the target info.
        +
      • +
      + + + +
        +
      • +

        targetInfoAccept

        +
        public void targetInfoAccept​(Clazz clazz,
        +                             Method method,
        +                             CodeAttribute codeAttribute,
        +                             TargetInfoVisitor targetInfoVisitor)
        +
        Applies the given visitor to the target info.
        +
      • +
      + + + +
        +
      • +

        typePathInfosAccept

        +
        public void typePathInfosAccept​(Clazz clazz,
        +                                TypePathInfoVisitor typePathVisitor)
        +
        Applies the given visitor to all type path elements.
        +
      • +
      + + + +
        +
      • +

        typePathInfosAccept

        +
        public void typePathInfosAccept​(Clazz clazz,
        +                                Field field,
        +                                TypePathInfoVisitor typePathVisitor)
        +
        Applies the given visitor to all type path elements.
        +
      • +
      + + + +
        +
      • +

        typePathInfosAccept

        +
        public void typePathInfosAccept​(Clazz clazz,
        +                                Method method,
        +                                TypePathInfoVisitor typePathVisitor)
        +
        Applies the given visitor to all type path elements.
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/TypeAnnotationsAttribute.html b/api/proguard/classfile/attribute/annotation/TypeAnnotationsAttribute.html new file mode 100644 index 000000000..15ea0acd5 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/TypeAnnotationsAttribute.html @@ -0,0 +1,480 @@ + + + + + +TypeAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypeAnnotationsAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TypeAnnotationsAttribute

        +
        protected TypeAnnotationsAttribute()
        +
        Creates an uninitialized TypeAnnotationsAttribute.
        +
      • +
      + + + +
        +
      • +

        TypeAnnotationsAttribute

        +
        protected TypeAnnotationsAttribute​(int u2attributeNameIndex,
        +                                   int u2annotationsCount,
        +                                   TypeAnnotation[] annotations)
        +
        Creates an initialized TypeAnnotationsAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        typeAnnotationsAccept

        +
        public void typeAnnotationsAccept​(Clazz clazz,
        +                                  TypeAnnotationVisitor typeAnnotationVisitor)
        +
        Applies the given visitor to all class annotations.
        +
      • +
      + + + +
        +
      • +

        typeAnnotationsAccept

        +
        public void typeAnnotationsAccept​(Clazz clazz,
        +                                  Field field,
        +                                  TypeAnnotationVisitor typeAnnotationVisitor)
        +
        Applies the given visitor to all field annotations.
        +
      • +
      + + + +
        +
      • +

        typeAnnotationsAccept

        +
        public void typeAnnotationsAccept​(Clazz clazz,
        +                                  Method method,
        +                                  TypeAnnotationVisitor typeAnnotationVisitor)
        +
        Applies the given visitor to all method annotations.
        +
      • +
      + + + +
        +
      • +

        typeAnnotationsAccept

        +
        public void typeAnnotationsAccept​(Clazz clazz,
        +                                  Method method,
        +                                  CodeAttribute codeAttribute,
        +                                  TypeAnnotationVisitor typeAnnotationVisitor)
        +
        Applies the given visitor to all code attribute annotations.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/TypePathInfo.html b/api/proguard/classfile/attribute/annotation/TypePathInfo.html new file mode 100644 index 000000000..b4ce1c4a8 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/TypePathInfo.html @@ -0,0 +1,416 @@ + + + + + +TypePathInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypePathInfo

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.annotation.TypePathInfo
    • +
    +
  • +
+
+
    +
  • +
    +
    public class TypePathInfo
    +extends java.lang.Object
    +
    Representation of a path element in a type annotation.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      TypePathInfo() +
      Creates an uninitialized TypePathInfo.
      +
      TypePathInfo​(int u1typePathKind, + int u1typeArgumentIndex) +
      Creates an initialized TypePathInfo.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + + + + + +
        +
      • +

        KIND_TypeArgumentBound

        +
        public static final int KIND_TypeArgumentBound
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        KIND_TypeArgument

        +
        public static final int KIND_TypeArgument
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        u1typePathKind

        +
        public int u1typePathKind
        +
      • +
      + + + +
        +
      • +

        u1typeArgumentIndex

        +
        public int u1typeArgumentIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TypePathInfo

        +
        public TypePathInfo()
        +
        Creates an uninitialized TypePathInfo.
        +
      • +
      + + + +
        +
      • +

        TypePathInfo

        +
        public TypePathInfo​(int u1typePathKind,
        +                    int u1typeArgumentIndex)
        +
        Creates an initialized TypePathInfo.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/package-summary.html b/api/proguard/classfile/attribute/annotation/package-summary.html new file mode 100644 index 000000000..637aad677 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/package-summary.html @@ -0,0 +1,275 @@ + + + + + +proguard.classfile.attribute.annotation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.attribute.annotation

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/attribute/annotation/package-tree.html b/api/proguard/classfile/attribute/annotation/package-tree.html new file mode 100644 index 000000000..b7167ccc6 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/package-tree.html @@ -0,0 +1,202 @@ + + + + + +proguard.classfile.attribute.annotation Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.attribute.annotation

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/attribute/annotation/target/CatchTargetInfo.html b/api/proguard/classfile/attribute/annotation/target/CatchTargetInfo.html new file mode 100644 index 000000000..889937060 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/CatchTargetInfo.html @@ -0,0 +1,444 @@ + + + + + +CatchTargetInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CatchTargetInfo

+
+
+ +
+
    +
  • +
    +
    public class CatchTargetInfo
    +extends TargetInfo
    +
    Representation of a 'catch' annotation target.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2exceptionTableIndex

        +
        public int u2exceptionTableIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CatchTargetInfo

        +
        public CatchTargetInfo()
        +
        Creates an uninitialized CatchTargetInfo.
        +
      • +
      + + + +
        +
      • +

        CatchTargetInfo

        +
        public CatchTargetInfo​(byte u1targetType)
        +
        Creates a partially initialized CatchTargetInfo.
        +
      • +
      + + + +
        +
      • +

        CatchTargetInfo

        +
        public CatchTargetInfo​(byte u1targetType,
        +                       int u2exceptionTableIndex)
        +
        Creates an initialized CatchTargetInfo.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/target/EmptyTargetInfo.html b/api/proguard/classfile/attribute/annotation/target/EmptyTargetInfo.html new file mode 100644 index 000000000..a0b56bae3 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/EmptyTargetInfo.html @@ -0,0 +1,420 @@ + + + + + +EmptyTargetInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class EmptyTargetInfo

+
+
+ +
+
    +
  • +
    +
    public class EmptyTargetInfo
    +extends TargetInfo
    +
    Representation of an empty annotation target.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        EmptyTargetInfo

        +
        public EmptyTargetInfo()
        +
        Creates an uninitialized EmptyTargetInfo.
        +
      • +
      + + + +
        +
      • +

        EmptyTargetInfo

        +
        public EmptyTargetInfo​(byte u1targetType)
        +
        Creates an initialized EmptyTargetInfo.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/target/FormalParameterTargetInfo.html b/api/proguard/classfile/attribute/annotation/target/FormalParameterTargetInfo.html new file mode 100644 index 000000000..670276d2e --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/FormalParameterTargetInfo.html @@ -0,0 +1,442 @@ + + + + + +FormalParameterTargetInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FormalParameterTargetInfo

+
+
+ +
+
    +
  • +
    +
    public class FormalParameterTargetInfo
    +extends TargetInfo
    +
    Representation of a formal parameter annotation target.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u1formalParameterIndex

        +
        public int u1formalParameterIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FormalParameterTargetInfo

        +
        public FormalParameterTargetInfo()
        +
        Creates an uninitialized FormalParameterTargetInfo.
        +
      • +
      + + + +
        +
      • +

        FormalParameterTargetInfo

        +
        public FormalParameterTargetInfo​(byte u1targetType)
        +
        Creates a partially initialized FormalParameterTargetInfo.
        +
      • +
      + + + +
        +
      • +

        FormalParameterTargetInfo

        +
        public FormalParameterTargetInfo​(byte u1targetType,
        +                                 int u1formalParameterIndex)
        +
        Creates an initialized FormalParameterTargetInfo.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/target/LocalVariableTargetElement.html b/api/proguard/classfile/attribute/annotation/target/LocalVariableTargetElement.html new file mode 100644 index 000000000..e95afb3b6 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/LocalVariableTargetElement.html @@ -0,0 +1,360 @@ + + + + + +LocalVariableTargetElement (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LocalVariableTargetElement

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.annotation.target.LocalVariableTargetElement
    • +
    +
  • +
+
+
    +
  • +
    +
    public class LocalVariableTargetElement
    +extends java.lang.Object
    +
    Representation of an local variable target table entry.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      intu2index 
      intu2length 
      intu2startPC 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      LocalVariableTargetElement() +
      Creates an uninitialized LocalVariableTargetElement.
      +
      LocalVariableTargetElement​(int u2startPC, + int u2length, + int u2index) +
      Creates an initialized LocalVariableTargetElement.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2startPC

        +
        public int u2startPC
        +
      • +
      + + + +
        +
      • +

        u2length

        +
        public int u2length
        +
      • +
      + + + +
        +
      • +

        u2index

        +
        public int u2index
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LocalVariableTargetElement

        +
        public LocalVariableTargetElement()
        +
        Creates an uninitialized LocalVariableTargetElement.
        +
      • +
      + + + +
        +
      • +

        LocalVariableTargetElement

        +
        public LocalVariableTargetElement​(int u2startPC,
        +                                  int u2length,
        +                                  int u2index)
        +
        Creates an initialized LocalVariableTargetElement.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/target/LocalVariableTargetInfo.html b/api/proguard/classfile/attribute/annotation/target/LocalVariableTargetInfo.html new file mode 100644 index 000000000..fa0835f79 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/LocalVariableTargetInfo.html @@ -0,0 +1,485 @@ + + + + + +LocalVariableTargetInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LocalVariableTargetInfo

+
+
+ +
+
    +
  • +
    +
    public class LocalVariableTargetInfo
    +extends TargetInfo
    +
    Representation of a local variable annotation target.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LocalVariableTargetInfo

        +
        public LocalVariableTargetInfo()
        +
        Creates an uninitialized LocalVariableTargetInfo.
        +
      • +
      + + + +
        +
      • +

        LocalVariableTargetInfo

        +
        public LocalVariableTargetInfo​(byte u1targetType)
        +
        Creates a partially initialized LocalVariableTargetInfo.
        +
      • +
      + + + +
        +
      • +

        LocalVariableTargetInfo

        +
        public LocalVariableTargetInfo​(byte u1targetType,
        +                               int u2tableLength,
        +                               LocalVariableTargetElement[] table)
        +
        Creates an initialized LocalVariableTargetInfo.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/target/OffsetTargetInfo.html b/api/proguard/classfile/attribute/annotation/target/OffsetTargetInfo.html new file mode 100644 index 000000000..436fb3c0e --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/OffsetTargetInfo.html @@ -0,0 +1,444 @@ + + + + + +OffsetTargetInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class OffsetTargetInfo

+
+
+ +
+
    +
  • +
    +
    public class OffsetTargetInfo
    +extends TargetInfo
    +
    Representation of an offset annotation target.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2offset

        +
        public int u2offset
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        OffsetTargetInfo

        +
        public OffsetTargetInfo()
        +
        Creates an uninitialized OffsetTargetInfo.
        +
      • +
      + + + +
        +
      • +

        OffsetTargetInfo

        +
        public OffsetTargetInfo​(byte u1targetType)
        +
        Creates a partially initialized OffsetTargetInfo.
        +
      • +
      + + + +
        +
      • +

        OffsetTargetInfo

        +
        public OffsetTargetInfo​(byte u1targetType,
        +                        int u2offset)
        +
        Creates an initialized OffsetTargetInfo.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/target/SuperTypeTargetInfo.html b/api/proguard/classfile/attribute/annotation/target/SuperTypeTargetInfo.html new file mode 100644 index 000000000..024fe9414 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/SuperTypeTargetInfo.html @@ -0,0 +1,433 @@ + + + + + +SuperTypeTargetInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SuperTypeTargetInfo

+
+
+ +
+
    +
  • +
    +
    public class SuperTypeTargetInfo
    +extends TargetInfo
    +
    Representation of a super type annotation target.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + +
        +
      • +

        u2superTypeIndex

        +
        public int u2superTypeIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SuperTypeTargetInfo

        +
        public SuperTypeTargetInfo()
        +
        Creates an uninitialized SuperTypeTargetInfo.
        +
      • +
      + + + +
        +
      • +

        SuperTypeTargetInfo

        +
        public SuperTypeTargetInfo​(byte u1targetType)
        +
        Creates a partially initialized SuperTypeTargetInfo.
        +
      • +
      + + + +
        +
      • +

        SuperTypeTargetInfo

        +
        public SuperTypeTargetInfo​(byte u1targetType,
        +                           int u2superTypeIndex)
        +
        Creates an initialized SuperTypeTargetInfo.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/target/TargetInfo.html b/api/proguard/classfile/attribute/annotation/target/TargetInfo.html new file mode 100644 index 000000000..0231eb81f --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/TargetInfo.html @@ -0,0 +1,864 @@ + + + + + +TargetInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TargetInfo

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.annotation.target.TargetInfo
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        TARGET_TYPE_PARAMETER_GENERIC_CLASS

        +
        public static final byte TARGET_TYPE_PARAMETER_GENERIC_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_PARAMETER_GENERIC_METHOD

        +
        public static final byte TARGET_TYPE_PARAMETER_GENERIC_METHOD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_EXTENDS

        +
        public static final byte TARGET_TYPE_EXTENDS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_BOUND_GENERIC_CLASS

        +
        public static final byte TARGET_TYPE_BOUND_GENERIC_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_BOUND_GENERIC_METHOD

        +
        public static final byte TARGET_TYPE_BOUND_GENERIC_METHOD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_FIELD

        +
        public static final byte TARGET_TYPE_FIELD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_RETURN

        +
        public static final byte TARGET_TYPE_RETURN
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_RECEIVER

        +
        public static final byte TARGET_TYPE_RECEIVER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_PARAMETER

        +
        public static final byte TARGET_TYPE_PARAMETER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_THROWS

        +
        public static final byte TARGET_TYPE_THROWS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_LOCAL_VARIABLE

        +
        public static final byte TARGET_TYPE_LOCAL_VARIABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_RESOURCE_VARIABLE

        +
        public static final byte TARGET_TYPE_RESOURCE_VARIABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_CATCH

        +
        public static final byte TARGET_TYPE_CATCH
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_INSTANCE_OF

        +
        public static final byte TARGET_TYPE_INSTANCE_OF
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        TARGET_TYPE_METHOD_REFERENCE_NEW

        +
        public static final byte TARGET_TYPE_METHOD_REFERENCE_NEW
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_METHOD_REFERENCE

        +
        public static final byte TARGET_TYPE_METHOD_REFERENCE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_CAST

        +
        public static final byte TARGET_TYPE_CAST
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_ARGUMENT_GENERIC_METHODNew

        +
        public static final byte TARGET_TYPE_ARGUMENT_GENERIC_METHODNew
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_ARGUMENT_GENERIC_METHOD

        +
        public static final byte TARGET_TYPE_ARGUMENT_GENERIC_METHOD
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_ARGUMENT_GENERIC_METHODReferenceNew

        +
        public static final byte TARGET_TYPE_ARGUMENT_GENERIC_METHODReferenceNew
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TARGET_TYPE_ARGUMENT_GENERIC_METHODReference

        +
        public static final byte TARGET_TYPE_ARGUMENT_GENERIC_METHODReference
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        u1targetType

        +
        public byte u1targetType
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TargetInfo

        +
        protected TargetInfo()
        +
        Creates an uninitialized TargetInfo.
        +
      • +
      + + + +
        +
      • +

        TargetInfo

        +
        protected TargetInfo​(byte u1targetType)
        +
        Creates an initialized TargetInfo.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getTargetType

        +
        public byte getTargetType()
        +
        Returns the type of the target.
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   TypeAnnotation typeAnnotation,
        +                   TargetInfoVisitor targetInfoVisitor)
        +
        Accepts the given visitor, in the context of a type annotation on a class.
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   Field field,
        +                   TypeAnnotation typeAnnotation,
        +                   TargetInfoVisitor targetInfoVisitor)
        +
        Accepts the given visitor, in the context of a type annotation on a field.
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public void accept​(Clazz clazz,
        +                   Method method,
        +                   TypeAnnotation typeAnnotation,
        +                   TargetInfoVisitor targetInfoVisitor)
        +
        Accepts the given visitor, in the context of a type annotation on a method.
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/target/ThrowsTargetInfo.html b/api/proguard/classfile/attribute/annotation/target/ThrowsTargetInfo.html new file mode 100644 index 000000000..d8f131988 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/ThrowsTargetInfo.html @@ -0,0 +1,442 @@ + + + + + +ThrowsTargetInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ThrowsTargetInfo

+
+
+ +
+
    +
  • +
    +
    public class ThrowsTargetInfo
    +extends TargetInfo
    +
    Representation of a 'throws' annotation target.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2throwsTypeIndex

        +
        public int u2throwsTypeIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ThrowsTargetInfo

        +
        public ThrowsTargetInfo()
        +
        Creates an uninitialized ThrowsTargetInfo.
        +
      • +
      + + + +
        +
      • +

        ThrowsTargetInfo

        +
        public ThrowsTargetInfo​(byte u1targetType)
        +
        Creates a partially initialized ThrowsTargetInfo.
        +
      • +
      + + + +
        +
      • +

        ThrowsTargetInfo

        +
        public ThrowsTargetInfo​(byte u1targetType,
        +                        int u2throwsTypeIndex)
        +
        Creates an initialized ThrowsTargetInfo.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/target/TypeArgumentTargetInfo.html b/api/proguard/classfile/attribute/annotation/target/TypeArgumentTargetInfo.html new file mode 100644 index 000000000..de5970015 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/TypeArgumentTargetInfo.html @@ -0,0 +1,460 @@ + + + + + +TypeArgumentTargetInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypeArgumentTargetInfo

+
+
+ +
+
    +
  • +
    +
    public class TypeArgumentTargetInfo
    +extends TargetInfo
    +
    Representation of an offset annotation target.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2offset

        +
        public int u2offset
        +
      • +
      + + + +
        +
      • +

        u1typeArgumentIndex

        +
        public int u1typeArgumentIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TypeArgumentTargetInfo

        +
        public TypeArgumentTargetInfo()
        +
        Creates an uninitialized TypeArgumentTargetInfo.
        +
      • +
      + + + +
        +
      • +

        TypeArgumentTargetInfo

        +
        public TypeArgumentTargetInfo​(byte u1targetType)
        +
        Creates a partially initialized TypeArgumentTargetInfo.
        +
      • +
      + + + +
        +
      • +

        TypeArgumentTargetInfo

        +
        public TypeArgumentTargetInfo​(byte u1targetType,
        +                              int u2offset,
        +                              int u1typeArgumentIndex)
        +
        Creates an initialized TypeArgumentTargetInfo.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/target/TypeParameterBoundTargetInfo.html b/api/proguard/classfile/attribute/annotation/target/TypeParameterBoundTargetInfo.html new file mode 100644 index 000000000..89a64404e --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/TypeParameterBoundTargetInfo.html @@ -0,0 +1,487 @@ + + + + + +TypeParameterBoundTargetInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypeParameterBoundTargetInfo

+
+
+ +
+
    +
  • +
    +
    public class TypeParameterBoundTargetInfo
    +extends TargetInfo
    +
    Representation of a type parameter bound annotation target.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u1typeParameterIndex

        +
        public int u1typeParameterIndex
        +
      • +
      + + + +
        +
      • +

        u1boundIndex

        +
        public int u1boundIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TypeParameterBoundTargetInfo

        +
        public TypeParameterBoundTargetInfo()
        +
        Creates an uninitialized TypeParameterBoundTargetInfo.
        +
      • +
      + + + +
        +
      • +

        TypeParameterBoundTargetInfo

        +
        public TypeParameterBoundTargetInfo​(byte u1targetType)
        +
        Creates a partially initialized TypeParameterBoundTargetInfo.
        +
      • +
      + + + +
        +
      • +

        TypeParameterBoundTargetInfo

        +
        public TypeParameterBoundTargetInfo​(byte u1targetType,
        +                                    int u1typeParameterIndex,
        +                                    int u1boundIndex)
        +
        Creates an initialized TypeParameterBoundTargetInfo.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/target/TypeParameterTargetInfo.html b/api/proguard/classfile/attribute/annotation/target/TypeParameterTargetInfo.html new file mode 100644 index 000000000..6fb646f58 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/TypeParameterTargetInfo.html @@ -0,0 +1,443 @@ + + + + + +TypeParameterTargetInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypeParameterTargetInfo

+
+
+ +
+
    +
  • +
    +
    public class TypeParameterTargetInfo
    +extends TargetInfo
    +
    Representation of a type parameter annotation target.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u1typeParameterIndex

        +
        public int u1typeParameterIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TypeParameterTargetInfo

        +
        public TypeParameterTargetInfo()
        +
        Creates an uninitialized TypeParameterTargetInfo.
        +
      • +
      + + + +
        +
      • +

        TypeParameterTargetInfo

        +
        public TypeParameterTargetInfo​(byte u1targetType)
        +
        Creates a partially initialized TypeParameterTargetInfo.
        +
      • +
      + + + +
        +
      • +

        TypeParameterTargetInfo

        +
        public TypeParameterTargetInfo​(byte u1targetType,
        +                               int u1typeParameterIndex)
        +
        Creates an initialized TypeParameterTargetInfo.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/target/package-summary.html b/api/proguard/classfile/attribute/annotation/target/package-summary.html new file mode 100644 index 000000000..9426b3379 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/package-summary.html @@ -0,0 +1,232 @@ + + + + + +proguard.classfile.attribute.annotation.target (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.attribute.annotation.target

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/attribute/annotation/target/package-tree.html b/api/proguard/classfile/attribute/annotation/target/package-tree.html new file mode 100644 index 000000000..bf7806a12 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/package-tree.html @@ -0,0 +1,175 @@ + + + + + +proguard.classfile.attribute.annotation.target Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.attribute.annotation.target

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/attribute/annotation/target/visitor/LocalVariableTargetElementVisitor.html b/api/proguard/classfile/attribute/annotation/target/visitor/LocalVariableTargetElementVisitor.html new file mode 100644 index 000000000..75007eb97 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/visitor/LocalVariableTargetElementVisitor.html @@ -0,0 +1,264 @@ + + + + + +LocalVariableTargetElementVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface LocalVariableTargetElementVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/annotation/target/visitor/TargetInfoVisitor.html b/api/proguard/classfile/attribute/annotation/target/visitor/TargetInfoVisitor.html new file mode 100644 index 000000000..f463950e1 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/visitor/TargetInfoVisitor.html @@ -0,0 +1,583 @@ + + + + + +TargetInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface TargetInfoVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/annotation/target/visitor/package-summary.html b/api/proguard/classfile/attribute/annotation/target/visitor/package-summary.html new file mode 100644 index 000000000..783d9b3c9 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/visitor/package-summary.html @@ -0,0 +1,173 @@ + + + + + +proguard.classfile.attribute.annotation.target.visitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.attribute.annotation.target.visitor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/attribute/annotation/target/visitor/package-tree.html b/api/proguard/classfile/attribute/annotation/target/visitor/package-tree.html new file mode 100644 index 000000000..c5961eefb --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/visitor/package-tree.html @@ -0,0 +1,158 @@ + + + + + +proguard.classfile.attribute.annotation.target.visitor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.attribute.annotation.target.visitor

+Package Hierarchies: + +
+
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/attribute/annotation/visitor/AllAnnotationVisitor.html b/api/proguard/classfile/attribute/annotation/visitor/AllAnnotationVisitor.html new file mode 100644 index 000000000..9c65ca1c1 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/AllAnnotationVisitor.html @@ -0,0 +1,667 @@ + + + + + +AllAnnotationVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllAnnotationVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/visitor/AllElementValueVisitor.html b/api/proguard/classfile/attribute/annotation/visitor/AllElementValueVisitor.html new file mode 100644 index 000000000..f924644bf --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/AllElementValueVisitor.html @@ -0,0 +1,778 @@ + + + + + +AllElementValueVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllElementValueVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/visitor/AnnotationToAnnotatedClassVisitor.html b/api/proguard/classfile/attribute/annotation/visitor/AnnotationToAnnotatedClassVisitor.html new file mode 100644 index 000000000..dba5a4fa1 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/AnnotationToAnnotatedClassVisitor.html @@ -0,0 +1,329 @@ + + + + + +AnnotationToAnnotatedClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AnnotationToAnnotatedClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.annotation.visitor.AnnotationToAnnotatedClassVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AnnotationVisitor
    +
    +
    +
    public class AnnotationToAnnotatedClassVisitor
    +extends java.lang.Object
    +implements AnnotationVisitor
    +
    This AnnotationVisitor delegates all visits to a given ClassVisitor. The latter + visits the class of each visited annotation, although never twice in a row.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AnnotationToAnnotatedClassVisitor

        +
        public AnnotationToAnnotatedClassVisitor​(ClassVisitor classVisitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnnotation

        +
        public void visitAnnotation​(Clazz clazz,
        +                            Annotation annotation)
        +
        Description copied from interface: AnnotationVisitor
        +
        Visits any Annotation instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnnotation in interface AnnotationVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/visitor/AnnotationToAnnotatedMemberVisitor.html b/api/proguard/classfile/attribute/annotation/visitor/AnnotationToAnnotatedMemberVisitor.html new file mode 100644 index 000000000..a92206e5d --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/AnnotationToAnnotatedMemberVisitor.html @@ -0,0 +1,327 @@ + + + + + +AnnotationToAnnotatedMemberVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AnnotationToAnnotatedMemberVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.annotation.visitor.AnnotationToAnnotatedMemberVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AnnotationVisitor
    +
    +
    +
    public class AnnotationToAnnotatedMemberVisitor
    +extends java.lang.Object
    +implements AnnotationVisitor
    +
    This AnnotationVisitor delegates all visits to a given MemberVisitor. The latter + visits the class member of each visited class member annotation or method parameter annotation, + although never twice in a row.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/visitor/AnnotationTypeFilter.html b/api/proguard/classfile/attribute/annotation/visitor/AnnotationTypeFilter.html new file mode 100644 index 000000000..d6b5b6124 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/AnnotationTypeFilter.html @@ -0,0 +1,482 @@ + + + + + +AnnotationTypeFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AnnotationTypeFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.annotation.visitor.AnnotationTypeFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AnnotationTypeFilter

        +
        public AnnotationTypeFilter​(java.lang.String regularExpression,
        +                            AnnotationVisitor annotationVisitor)
        +
        Creates a new AnnotationTypeFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which annotation type names will be + matched.
        +
        annotationVisitor - the annotation visitor to which visits will be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        AnnotationTypeFilter

        +
        public AnnotationTypeFilter​(java.lang.String regularExpression,
        +                            WildcardManager wildcardManager,
        +                            AnnotationVisitor annotationVisitor)
        +
        Creates a new AnnotationTypeFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which annotation type names will be + matched.
        +
        wildcardManager - an optional scope for StringMatcher instances that match wildcards.
        +
        annotationVisitor - the annotation visitor to which visits will be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        AnnotationTypeFilter

        +
        public AnnotationTypeFilter​(StringMatcher stringMatcher,
        +                            AnnotationVisitor annotationVisitor)
        +
        Creates a new AnnotationTypeFilter.
        +
        +
        Parameters:
        +
        stringMatcher - the matcher against which annotation type names will be matched.
        +
        annotationVisitor - the annotationVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/visitor/AnnotationVisitor.html b/api/proguard/classfile/attribute/annotation/visitor/AnnotationVisitor.html new file mode 100644 index 000000000..4e6f99346 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/AnnotationVisitor.html @@ -0,0 +1,355 @@ + + + + + +AnnotationVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface AnnotationVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnnotation

        +
        default void visitAnnotation​(Clazz clazz,
        +                             Annotation annotation)
        +
        Visits any Annotation instance. The more specific default implementations of this interface + delegate to this method.
        +
      • +
      + + + +
        +
      • +

        visitAnnotation

        +
        default void visitAnnotation​(Clazz clazz,
        +                             Member member,
        +                             Annotation annotation)
        +
      • +
      + + + +
        +
      • +

        visitAnnotation

        +
        default void visitAnnotation​(Clazz clazz,
        +                             Field field,
        +                             Annotation annotation)
        +
      • +
      + + + +
        +
      • +

        visitAnnotation

        +
        default void visitAnnotation​(Clazz clazz,
        +                             Method method,
        +                             Annotation annotation)
        +
      • +
      + + + +
        +
      • +

        visitAnnotation

        +
        default void visitAnnotation​(Clazz clazz,
        +                             Method method,
        +                             int parameterIndex,
        +                             Annotation annotation)
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/annotation/visitor/ElementValueVisitor.html b/api/proguard/classfile/attribute/annotation/visitor/ElementValueVisitor.html new file mode 100644 index 000000000..f2d87836e --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/ElementValueVisitor.html @@ -0,0 +1,351 @@ + + + + + +ElementValueVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ElementValueVisitor

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyElementValue

        +
        default void visitAnyElementValue​(Clazz clazz,
        +                                  Annotation annotation,
        +                                  ElementValue elementValue)
        +
        Visits any ElementValue instance. The more specific default implementations of this interface + delegate to this method.
        +
      • +
      + + + + + + + + + + + + + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/annotation/visitor/MultiAnnotationVisitor.html b/api/proguard/classfile/attribute/annotation/visitor/MultiAnnotationVisitor.html new file mode 100644 index 000000000..54abf3524 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/MultiAnnotationVisitor.html @@ -0,0 +1,448 @@ + + + + + +MultiAnnotationVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiAnnotationVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/annotation/visitor/TypeAnnotationVisitor.html b/api/proguard/classfile/attribute/annotation/visitor/TypeAnnotationVisitor.html new file mode 100644 index 000000000..efce57b82 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/TypeAnnotationVisitor.html @@ -0,0 +1,355 @@ + + + + + +TypeAnnotationVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface TypeAnnotationVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitTypeAnnotation

        +
        default void visitTypeAnnotation​(Clazz clazz,
        +                                 TypeAnnotation typeAnnotation)
        +
        Visits any TypeAnnotation instance. The more specific default implementations of this interface + delegate to this method.
        +
      • +
      + + + +
        +
      • +

        visitTypeAnnotation

        +
        default void visitTypeAnnotation​(Clazz clazz,
        +                                 Member member,
        +                                 TypeAnnotation typeAnnotation)
        +
      • +
      + + + +
        +
      • +

        visitTypeAnnotation

        +
        default void visitTypeAnnotation​(Clazz clazz,
        +                                 Field field,
        +                                 TypeAnnotation typeAnnotation)
        +
      • +
      + + + +
        +
      • +

        visitTypeAnnotation

        +
        default void visitTypeAnnotation​(Clazz clazz,
        +                                 Method method,
        +                                 TypeAnnotation typeAnnotation)
        +
      • +
      + + + +
        +
      • +

        visitTypeAnnotation

        +
        default void visitTypeAnnotation​(Clazz clazz,
        +                                 Method method,
        +                                 int parameterIndex,
        +                                 TypeAnnotation typeAnnotation)
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/annotation/visitor/TypePathInfoVisitor.html b/api/proguard/classfile/attribute/annotation/visitor/TypePathInfoVisitor.html new file mode 100644 index 000000000..aa4dbd6fe --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/TypePathInfoVisitor.html @@ -0,0 +1,345 @@ + + + + + +TypePathInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface TypePathInfoVisitor

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    ClassPrinter, ProgramClassReader
    +
    +
    +
    public interface TypePathInfoVisitor
    +
    This interface specifies the methods for a visitor of TypePathInfo instances. Note that + there is only a single implementation of TypePathInfo, such that this interface is not + strictly necessary as a visitor.
    +
  • +
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/annotation/visitor/package-summary.html b/api/proguard/classfile/attribute/annotation/visitor/package-summary.html new file mode 100644 index 000000000..b42330455 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/package-summary.html @@ -0,0 +1,235 @@ + + + + + +proguard.classfile.attribute.annotation.visitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.attribute.annotation.visitor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/attribute/annotation/visitor/package-tree.html b/api/proguard/classfile/attribute/annotation/visitor/package-tree.html new file mode 100644 index 000000000..b7925bdb3 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/package-tree.html @@ -0,0 +1,175 @@ + + + + + +proguard.classfile.attribute.annotation.visitor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.attribute.annotation.visitor

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/attribute/module/ExportsInfo.html b/api/proguard/classfile/attribute/module/ExportsInfo.html new file mode 100644 index 000000000..3a01cd5e1 --- /dev/null +++ b/api/proguard/classfile/attribute/module/ExportsInfo.html @@ -0,0 +1,465 @@ + + + + + +ExportsInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExportsInfo

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class ExportsInfo
    +extends SimpleProcessable
    +
    Representation of an Exports entry in a Module attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2exportsIndex

        +
        public int u2exportsIndex
        +
      • +
      + + + +
        +
      • +

        u2exportsFlags

        +
        public int u2exportsFlags
        +
      • +
      + + + +
        +
      • +

        u2exportsToCount

        +
        public int u2exportsToCount
        +
      • +
      + + + +
        +
      • +

        u2exportsToIndex

        +
        public int[] u2exportsToIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExportsInfo

        +
        public ExportsInfo()
        +
        Creates an uninitialized ExportsInfo.
        +
      • +
      + + + +
        +
      • +

        ExportsInfo

        +
        public ExportsInfo​(int u2exportsIndex,
        +                   int u2exportsFlags,
        +                   int u2exportsToCount,
        +                   int[] u2exportsToIndex)
        +
        Creates an initialized ExportsInfo.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        packageAccept

        +
        public void packageAccept​(Clazz clazz,
        +                          ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the package constant of the package, if any.
        +
      • +
      + + + +
        +
      • +

        exportsToIndexAccept

        +
        public void exportsToIndexAccept​(Clazz clazz,
        +                                 ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to all exportsToIndex.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/module/ModuleAttribute.html b/api/proguard/classfile/attribute/module/ModuleAttribute.html new file mode 100644 index 000000000..3a177803f --- /dev/null +++ b/api/proguard/classfile/attribute/module/ModuleAttribute.html @@ -0,0 +1,749 @@ + + + + + +ModuleAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ModuleAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2moduleNameIndex

        +
        public int u2moduleNameIndex
        +
      • +
      + + + +
        +
      • +

        u2moduleFlags

        +
        public int u2moduleFlags
        +
      • +
      + + + +
        +
      • +

        u2moduleVersionIndex

        +
        public int u2moduleVersionIndex
        +
      • +
      + + + +
        +
      • +

        u2requiresCount

        +
        public int u2requiresCount
        +
      • +
      + + + + + + + +
        +
      • +

        u2exportsCount

        +
        public int u2exportsCount
        +
      • +
      + + + + + + + +
        +
      • +

        u2opensCount

        +
        public int u2opensCount
        +
      • +
      + + + + + + + +
        +
      • +

        u2usesCount

        +
        public int u2usesCount
        +
      • +
      + + + +
        +
      • +

        u2uses

        +
        public int[] u2uses
        +
      • +
      + + + +
        +
      • +

        u2providesCount

        +
        public int u2providesCount
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ModuleAttribute

        +
        public ModuleAttribute()
        +
        Creates an uninitialized ModuleAttribute.
        +
      • +
      + + + +
        +
      • +

        ModuleAttribute

        +
        public ModuleAttribute​(int u2attributeNameIndex,
        +                       int u2moduleNameIndex,
        +                       int u2moduleFlags,
        +                       int u2moduleVersionIndex,
        +                       int u2requiresCount,
        +                       RequiresInfo[] requires,
        +                       int u2exportsCount,
        +                       ExportsInfo[] exports,
        +                       int u2opensCount,
        +                       OpensInfo[] opens,
        +                       int u2usesCount,
        +                       int[] u2uses,
        +                       int u2ProvidesCount,
        +                       ProvidesInfo[] provides)
        +
        Creates an initialized ModuleAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        nameAccept

        +
        public void nameAccept​(Clazz clazz,
        +                       ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the Utf8 constant of the name, if any.
        +
      • +
      + + + +
        +
      • +

        versionAccept

        +
        public void versionAccept​(Clazz clazz,
        +                          ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the Utf8 constant of the version, if any.
        +
      • +
      + + + +
        +
      • +

        requiresAccept

        +
        public void requiresAccept​(Clazz clazz,
        +                           RequiresInfoVisitor requiresInfoVisitor)
        +
        Applies the given visitor to all requires.
        +
      • +
      + + + +
        +
      • +

        exportsAccept

        +
        public void exportsAccept​(Clazz clazz,
        +                          ExportsInfoVisitor exportsInfoVisitor)
        +
        Applies the given visitor to all exports.
        +
      • +
      + + + +
        +
      • +

        opensAccept

        +
        public void opensAccept​(Clazz clazz,
        +                        OpensInfoVisitor opensInfoVisitor)
        +
        Applies the given visitor to all exports.
        +
      • +
      + + + +
        +
      • +

        usesAccept

        +
        public void usesAccept​(Clazz clazz,
        +                       ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to all uses.
        +
      • +
      + + + +
        +
      • +

        providesAccept

        +
        public void providesAccept​(Clazz clazz,
        +                           ProvidesInfoVisitor providesInfoVisitor)
        +
        Applies the given visitor to all provides.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/module/ModuleMainClassAttribute.html b/api/proguard/classfile/attribute/module/ModuleMainClassAttribute.html new file mode 100644 index 000000000..265c4c7b5 --- /dev/null +++ b/api/proguard/classfile/attribute/module/ModuleMainClassAttribute.html @@ -0,0 +1,460 @@ + + + + + +ModuleMainClassAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ModuleMainClassAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2mainClass

        +
        public int u2mainClass
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ModuleMainClassAttribute

        +
        public ModuleMainClassAttribute()
        +
        Creates an uninitialized ModuleMainClassAttribute.
        +
      • +
      + + + +
        +
      • +

        ModuleMainClassAttribute

        +
        public ModuleMainClassAttribute​(int u2attributeNameIndex,
        +                                int u2mainClass)
        +
        Creates an initialized ModuleMainClassAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getMainClassName

        +
        public java.lang.String getMainClassName​(Clazz clazz)
        +
        Returns the main class name.
        +
      • +
      + + + + + + + +
        +
      • +

        mainClassAccept

        +
        public void mainClassAccept​(Clazz clazz,
        +                            ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the class constant of the main class, if any.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/module/ModulePackagesAttribute.html b/api/proguard/classfile/attribute/module/ModulePackagesAttribute.html new file mode 100644 index 000000000..a35da4475 --- /dev/null +++ b/api/proguard/classfile/attribute/module/ModulePackagesAttribute.html @@ -0,0 +1,459 @@ + + + + + +ModulePackagesAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ModulePackagesAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class ModulePackagesAttribute
    +extends Attribute
    +
    This Attribute represents a module packages attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2packagesCount

        +
        public int u2packagesCount
        +
      • +
      + + + +
        +
      • +

        u2packages

        +
        public int[] u2packages
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ModulePackagesAttribute

        +
        public ModulePackagesAttribute()
        +
        Creates an uninitialized ModulePackagesAttribute.
        +
      • +
      + + + +
        +
      • +

        ModulePackagesAttribute

        +
        public ModulePackagesAttribute​(int u2attributeNameIndex,
        +                               int u2packagesCount,
        +                               int[] u2packages)
        +
        Creates an initialized ModulePackagesAttribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        packagesAccept

        +
        public void packagesAccept​(Clazz clazz,
        +                           ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to all packages.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/module/OpensInfo.html b/api/proguard/classfile/attribute/module/OpensInfo.html new file mode 100644 index 000000000..117135060 --- /dev/null +++ b/api/proguard/classfile/attribute/module/OpensInfo.html @@ -0,0 +1,465 @@ + + + + + +OpensInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class OpensInfo

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class OpensInfo
    +extends SimpleProcessable
    +
    Representation of a Opens entry in a Module attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2opensIndex

        +
        public int u2opensIndex
        +
      • +
      + + + +
        +
      • +

        u2opensFlags

        +
        public int u2opensFlags
        +
      • +
      + + + +
        +
      • +

        u2opensToCount

        +
        public int u2opensToCount
        +
      • +
      + + + +
        +
      • +

        u2opensToIndex

        +
        public int[] u2opensToIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        OpensInfo

        +
        public OpensInfo()
        +
        Creates an uninitialized OpensInfo.
        +
      • +
      + + + +
        +
      • +

        OpensInfo

        +
        public OpensInfo​(int u2opensIndex,
        +                 int u2opensFlags,
        +                 int u2opensToCount,
        +                 int[] u2opensToIndex)
        +
        Creates an initialized OpensInfo.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        packageAccept

        +
        public void packageAccept​(Clazz clazz,
        +                          ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the package constant of the package, if any.
        +
      • +
      + + + +
        +
      • +

        targetsAccept

        +
        public void targetsAccept​(Clazz clazz,
        +                          ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to all targets.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/module/ProvidesInfo.html b/api/proguard/classfile/attribute/module/ProvidesInfo.html new file mode 100644 index 000000000..8e66e6c08 --- /dev/null +++ b/api/proguard/classfile/attribute/module/ProvidesInfo.html @@ -0,0 +1,449 @@ + + + + + +ProvidesInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProvidesInfo

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class ProvidesInfo
    +extends SimpleProcessable
    +
    Representation of a Provides entry in a Module attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2providesIndex

        +
        public int u2providesIndex
        +
      • +
      + + + +
        +
      • +

        u2providesWithCount

        +
        public int u2providesWithCount
        +
      • +
      + + + +
        +
      • +

        u2providesWithIndex

        +
        public int[] u2providesWithIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ProvidesInfo

        +
        public ProvidesInfo()
        +
        Creates an uninitialized ProvidesInfo.
        +
      • +
      + + + +
        +
      • +

        ProvidesInfo

        +
        public ProvidesInfo​(int u2providesIndex,
        +                    int u2providesWithCount,
        +                    int[] u2providesWithIndex)
        +
        Creates an initialized ProvidesInfo.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        providesAccept

        +
        public void providesAccept​(Clazz clazz,
        +                           ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the class constant of the provides, if any.
        +
      • +
      + + + +
        +
      • +

        withAccept

        +
        public void withAccept​(Clazz clazz,
        +                       ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to all with entries.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/module/RequiresInfo.html b/api/proguard/classfile/attribute/module/RequiresInfo.html new file mode 100644 index 000000000..0bdb148e6 --- /dev/null +++ b/api/proguard/classfile/attribute/module/RequiresInfo.html @@ -0,0 +1,449 @@ + + + + + +RequiresInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RequiresInfo

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class RequiresInfo
    +extends SimpleProcessable
    +
    Representation of a Requires entry in a Module attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2requiresIndex

        +
        public int u2requiresIndex
        +
      • +
      + + + +
        +
      • +

        u2requiresFlags

        +
        public int u2requiresFlags
        +
      • +
      + + + +
        +
      • +

        u2requiresVersionIndex

        +
        public int u2requiresVersionIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RequiresInfo

        +
        public RequiresInfo()
        +
        Creates an uninitialized RequiresInfo.
        +
      • +
      + + + +
        +
      • +

        RequiresInfo

        +
        public RequiresInfo​(int u2requiresIndex,
        +                    int u2requiresFlags,
        +                    int u2requiresVersionIndex)
        +
        Creates an uninitialized RequiresInfo.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        moduleAccept

        +
        public void moduleAccept​(Clazz clazz,
        +                         ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the module constant of the module, if any.
        +
      • +
      + + + +
        +
      • +

        versionAccept

        +
        public void versionAccept​(Clazz clazz,
        +                          ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the Utf8 constant of the version, if any.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/module/package-summary.html b/api/proguard/classfile/attribute/module/package-summary.html new file mode 100644 index 000000000..53087a4f9 --- /dev/null +++ b/api/proguard/classfile/attribute/module/package-summary.html @@ -0,0 +1,202 @@ + + + + + +proguard.classfile.attribute.module (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.attribute.module

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/attribute/module/package-tree.html b/api/proguard/classfile/attribute/module/package-tree.html new file mode 100644 index 000000000..b3cdfd03c --- /dev/null +++ b/api/proguard/classfile/attribute/module/package-tree.html @@ -0,0 +1,175 @@ + + + + + +proguard.classfile.attribute.module Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.attribute.module

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/attribute/module/visitor/AllExportsInfoVisitor.html b/api/proguard/classfile/attribute/module/visitor/AllExportsInfoVisitor.html new file mode 100644 index 000000000..0f2b07ef4 --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/AllExportsInfoVisitor.html @@ -0,0 +1,348 @@ + + + + + +AllExportsInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllExportsInfoVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.module.visitor.AllExportsInfoVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/module/visitor/AllOpensInfoVisitor.html b/api/proguard/classfile/attribute/module/visitor/AllOpensInfoVisitor.html new file mode 100644 index 000000000..18242b549 --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/AllOpensInfoVisitor.html @@ -0,0 +1,349 @@ + + + + + +AllOpensInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllOpensInfoVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.module.visitor.AllOpensInfoVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/module/visitor/AllProvidesInfoVisitor.html b/api/proguard/classfile/attribute/module/visitor/AllProvidesInfoVisitor.html new file mode 100644 index 000000000..c9f270f32 --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/AllProvidesInfoVisitor.html @@ -0,0 +1,348 @@ + + + + + +AllProvidesInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllProvidesInfoVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.module.visitor.AllProvidesInfoVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/module/visitor/AllRequiresInfoVisitor.html b/api/proguard/classfile/attribute/module/visitor/AllRequiresInfoVisitor.html new file mode 100644 index 000000000..c681de557 --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/AllRequiresInfoVisitor.html @@ -0,0 +1,348 @@ + + + + + +AllRequiresInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllRequiresInfoVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.module.visitor.AllRequiresInfoVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/module/visitor/ExportsInfoVisitor.html b/api/proguard/classfile/attribute/module/visitor/ExportsInfoVisitor.html new file mode 100644 index 000000000..d08c6308a --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/ExportsInfoVisitor.html @@ -0,0 +1,257 @@ + + + + + +ExportsInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ExportsInfoVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitExportsInfo

        +
        void visitExportsInfo​(Clazz clazz,
        +                      ExportsInfo exportsInfo)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/module/visitor/OpensInfoVisitor.html b/api/proguard/classfile/attribute/module/visitor/OpensInfoVisitor.html new file mode 100644 index 000000000..c26110d9a --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/OpensInfoVisitor.html @@ -0,0 +1,257 @@ + + + + + +OpensInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface OpensInfoVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitOpensInfo

        +
        void visitOpensInfo​(Clazz clazz,
        +                    OpensInfo opensInfo)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/module/visitor/ProvidesInfoVisitor.html b/api/proguard/classfile/attribute/module/visitor/ProvidesInfoVisitor.html new file mode 100644 index 000000000..f01ba2787 --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/ProvidesInfoVisitor.html @@ -0,0 +1,257 @@ + + + + + +ProvidesInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ProvidesInfoVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitProvidesInfo

        +
        void visitProvidesInfo​(Clazz clazz,
        +                       ProvidesInfo providesInfo)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/module/visitor/RequiresInfoVisitor.html b/api/proguard/classfile/attribute/module/visitor/RequiresInfoVisitor.html new file mode 100644 index 000000000..2db2f6d21 --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/RequiresInfoVisitor.html @@ -0,0 +1,257 @@ + + + + + +RequiresInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface RequiresInfoVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitRequiresInfo

        +
        void visitRequiresInfo​(Clazz clazz,
        +                       RequiresInfo requiresInfo)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/module/visitor/package-summary.html b/api/proguard/classfile/attribute/module/visitor/package-summary.html new file mode 100644 index 000000000..d7403dd03 --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/package-summary.html @@ -0,0 +1,220 @@ + + + + + +proguard.classfile.attribute.module.visitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.attribute.module.visitor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/attribute/module/visitor/package-tree.html b/api/proguard/classfile/attribute/module/visitor/package-tree.html new file mode 100644 index 000000000..8b9192aab --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/package-tree.html @@ -0,0 +1,173 @@ + + + + + +proguard.classfile.attribute.module.visitor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.attribute.module.visitor

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/attribute/package-summary.html b/api/proguard/classfile/attribute/package-summary.html new file mode 100644 index 000000000..a329fab32 --- /dev/null +++ b/api/proguard/classfile/attribute/package-summary.html @@ -0,0 +1,347 @@ + + + + + +proguard.classfile.attribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.attribute

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/attribute/package-tree.html b/api/proguard/classfile/attribute/package-tree.html new file mode 100644 index 000000000..70fcb6b44 --- /dev/null +++ b/api/proguard/classfile/attribute/package-tree.html @@ -0,0 +1,201 @@ + + + + + +proguard.classfile.attribute Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.attribute

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/attribute/preverification/DoubleType.html b/api/proguard/classfile/attribute/preverification/DoubleType.html new file mode 100644 index 000000000..f31e29041 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/DoubleType.html @@ -0,0 +1,483 @@ + + + + + +DoubleType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DoubleType

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/FloatType.html b/api/proguard/classfile/attribute/preverification/FloatType.html new file mode 100644 index 000000000..adc32840e --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/FloatType.html @@ -0,0 +1,483 @@ + + + + + +FloatType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FloatType

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/FullFrame.html b/api/proguard/classfile/attribute/preverification/FullFrame.html new file mode 100644 index 000000000..6a2803ab9 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/FullFrame.html @@ -0,0 +1,624 @@ + + + + + +FullFrame (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FullFrame

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FullFrame

        +
        public FullFrame()
        +
        Creates an uninitialized FullFrame.
        +
      • +
      + + + +
        +
      • +

        FullFrame

        +
        public FullFrame​(int offsetDelta,
        +                 VerificationType[] variables,
        +                 VerificationType[] stack)
        +
        Creates a FullFrame with the given variables and stack.
        +
      • +
      + + + +
        +
      • +

        FullFrame

        +
        public FullFrame​(int offsetDelta,
        +                 int variablesCount,
        +                 VerificationType[] variables,
        +                 int stackCount,
        +                 VerificationType[] stack)
        +
        Creates a FullFrame with the given variables and stack.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/IntegerType.html b/api/proguard/classfile/attribute/preverification/IntegerType.html new file mode 100644 index 000000000..7873a1d55 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/IntegerType.html @@ -0,0 +1,483 @@ + + + + + +IntegerType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IntegerType

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/LessZeroFrame.html b/api/proguard/classfile/attribute/preverification/LessZeroFrame.html new file mode 100644 index 000000000..540dd0d63 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/LessZeroFrame.html @@ -0,0 +1,520 @@ + + + + + +LessZeroFrame (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LessZeroFrame

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        choppedVariablesCount

        +
        public int choppedVariablesCount
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LessZeroFrame

        +
        public LessZeroFrame()
        +
        Creates an uninitialized LessZeroFrame.
        +
      • +
      + + + +
        +
      • +

        LessZeroFrame

        +
        public LessZeroFrame​(int tag)
        +
        Creates a LessZeroFrame with the given tag.
        +
      • +
      + + + +
        +
      • +

        LessZeroFrame

        +
        public LessZeroFrame​(byte choppedVariablesCount)
        +
        Creates a LessZeroFrame with the given number of chopped variables.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/LongType.html b/api/proguard/classfile/attribute/preverification/LongType.html new file mode 100644 index 000000000..701fe63f3 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/LongType.html @@ -0,0 +1,483 @@ + + + + + +LongType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/MoreZeroFrame.html b/api/proguard/classfile/attribute/preverification/MoreZeroFrame.html new file mode 100644 index 000000000..dd19992fb --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/MoreZeroFrame.html @@ -0,0 +1,577 @@ + + + + + +MoreZeroFrame (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MoreZeroFrame

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        additionalVariablesCount

        +
        public int additionalVariablesCount
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MoreZeroFrame

        +
        public MoreZeroFrame()
        +
        Creates an uninitialized MoreZeroFrame.
        +
      • +
      + + + +
        +
      • +

        MoreZeroFrame

        +
        public MoreZeroFrame​(int tag)
        +
        Creates a MoreZeroFrame with the given tag.
        +
      • +
      + + + +
        +
      • +

        MoreZeroFrame

        +
        public MoreZeroFrame​(VerificationType[] additionalVariables)
        +
        Creates a MoreZeroFrame with the given additional variables.
        +
      • +
      + + + +
        +
      • +

        MoreZeroFrame

        +
        public MoreZeroFrame​(int additionalVariablesCount,
        +                     VerificationType[] additionalVariables)
        +
        Creates a MoreZeroFrame with the given additional variables.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/NullType.html b/api/proguard/classfile/attribute/preverification/NullType.html new file mode 100644 index 000000000..7710f58b8 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/NullType.html @@ -0,0 +1,483 @@ + + + + + +NullType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/ObjectType.html b/api/proguard/classfile/attribute/preverification/ObjectType.html new file mode 100644 index 000000000..df4cc8953 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/ObjectType.html @@ -0,0 +1,563 @@ + + + + + +ObjectType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ObjectType

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2classIndex

        +
        public int u2classIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ObjectType

        +
        public ObjectType()
        +
        Creates an uninitialized ObjectType.
        +
      • +
      + + + +
        +
      • +

        ObjectType

        +
        public ObjectType​(int u2classIndex)
        +
        Creates an ObjectType that points to the given class constant.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/SameOneFrame.html b/api/proguard/classfile/attribute/preverification/SameOneFrame.html new file mode 100644 index 000000000..0f8ce101e --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/SameOneFrame.html @@ -0,0 +1,546 @@ + + + + + +SameOneFrame (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SameOneFrame

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class SameOneFrame
    +extends StackMapFrame
    +
    This StackMapFrame represents a "same locals 1 stack item frame" or a "same locals 1 + stack item frame extended".
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SameOneFrame

        +
        public SameOneFrame()
        +
        Creates an uninitialized SameOneFrame.
        +
      • +
      + + + +
        +
      • +

        SameOneFrame

        +
        public SameOneFrame​(int tag)
        +
        Creates a SameOneFrame with the given tag.
        +
      • +
      + + + +
        +
      • +

        SameOneFrame

        +
        public SameOneFrame​(VerificationType stackItem)
        +
        Creates a SameOneFrame with the given stack verification type.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/SameZeroFrame.html b/api/proguard/classfile/attribute/preverification/SameZeroFrame.html new file mode 100644 index 000000000..99fb2e0a3 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/SameZeroFrame.html @@ -0,0 +1,436 @@ + + + + + +SameZeroFrame (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SameZeroFrame

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SameZeroFrame

        +
        public SameZeroFrame()
        +
        Creates an uninitialized SameZeroFrame.
        +
      • +
      + + + +
        +
      • +

        SameZeroFrame

        +
        public SameZeroFrame​(int tag)
        +
        Creates a SameZeroFrame with the given tag.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/StackMapAttribute.html b/api/proguard/classfile/attribute/preverification/StackMapAttribute.html new file mode 100644 index 000000000..03499c4b9 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/StackMapAttribute.html @@ -0,0 +1,481 @@ + + + + + +StackMapAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StackMapAttribute

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2stackMapFramesCount

        +
        public int u2stackMapFramesCount
        +
      • +
      + + + +
        +
      • +

        stackMapFrames

        +
        public FullFrame[] stackMapFrames
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StackMapAttribute

        +
        public StackMapAttribute()
        +
        Creates an uninitialized ExceptionsAttribute.
        +
      • +
      + + + +
        +
      • +

        StackMapAttribute

        +
        public StackMapAttribute​(FullFrame[] stackMapFrames)
        +
        Creates a StackMapTableAttribute with the given stack map frames.
        +
      • +
      + + + +
        +
      • +

        StackMapAttribute

        +
        public StackMapAttribute​(int stackMapFramesCount,
        +                         FullFrame[] stackMapFrames)
        +
        Creates a StackMapTableAttribute with the given stack map frames.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/StackMapFrame.html b/api/proguard/classfile/attribute/preverification/StackMapFrame.html new file mode 100644 index 000000000..c1eada3ad --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/StackMapFrame.html @@ -0,0 +1,604 @@ + + + + + +StackMapFrame (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StackMapFrame

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StackMapFrame

        +
        public StackMapFrame()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getOffsetDelta

        +
        public int getOffsetDelta()
        +
        Returns the bytecode offset delta relative to the previous stack map frame.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public abstract int getTag()
        +
        Returns the stack map frame tag that specifies the entry type.
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/StackMapTableAttribute.html b/api/proguard/classfile/attribute/preverification/StackMapTableAttribute.html new file mode 100644 index 000000000..defef901a --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/StackMapTableAttribute.html @@ -0,0 +1,481 @@ + + + + + +StackMapTableAttribute (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StackMapTableAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class StackMapTableAttribute
    +extends Attribute
    +
    This Attribute represents a stack map table attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2stackMapFramesCount

        +
        public int u2stackMapFramesCount
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StackMapTableAttribute

        +
        public StackMapTableAttribute()
        +
        Creates an uninitialized StackMapTableAttribute.
        +
      • +
      + + + +
        +
      • +

        StackMapTableAttribute

        +
        public StackMapTableAttribute​(StackMapFrame[] stackMapFrames)
        +
        Creates a StackMapTableAttribute with the given stack map frames.
        +
      • +
      + + + +
        +
      • +

        StackMapTableAttribute

        +
        public StackMapTableAttribute​(int stackMapFramesCount,
        +                              StackMapFrame[] stackMapFrames)
        +
        Creates a StackMapTableAttribute with the given stack map frames.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/TopType.html b/api/proguard/classfile/attribute/preverification/TopType.html new file mode 100644 index 000000000..0c633c95f --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/TopType.html @@ -0,0 +1,483 @@ + + + + + +TopType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/UninitializedThisType.html b/api/proguard/classfile/attribute/preverification/UninitializedThisType.html new file mode 100644 index 000000000..7baaa89c3 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/UninitializedThisType.html @@ -0,0 +1,483 @@ + + + + + +UninitializedThisType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UninitializedThisType

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/UninitializedType.html b/api/proguard/classfile/attribute/preverification/UninitializedType.html new file mode 100644 index 000000000..cd536dee1 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/UninitializedType.html @@ -0,0 +1,563 @@ + + + + + +UninitializedType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UninitializedType

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2newInstructionOffset

        +
        public int u2newInstructionOffset
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UninitializedType

        +
        public UninitializedType()
        +
        Creates an uninitialized UninitializedType.
        +
      • +
      + + + +
        +
      • +

        UninitializedType

        +
        public UninitializedType​(int u2newInstructionOffset)
        +
        Creates an UninitializedType pointing to the given 'new' instruction.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/VerificationType.html b/api/proguard/classfile/attribute/preverification/VerificationType.html new file mode 100644 index 000000000..abafbb5ff --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/VerificationType.html @@ -0,0 +1,647 @@ + + + + + +VerificationType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VerificationType

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        VerificationType

        +
        public VerificationType()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getTag

        +
        public abstract int getTag()
        +
        Returns the tag of the verification type.
        +
      • +
      + + + +
        +
      • +

        accept

        +
        public abstract void accept​(Clazz clazz,
        +                            Method method,
        +                            CodeAttribute codeAttribute,
        +                            int instructionOffset,
        +                            VerificationTypeVisitor verificationTypeVisitor)
        +
        Accepts the given visitor in the context of a method's code, either on a stack or as a + variable.
        +
      • +
      + + + +
        +
      • +

        stackAccept

        +
        public abstract void stackAccept​(Clazz clazz,
        +                                 Method method,
        +                                 CodeAttribute codeAttribute,
        +                                 int instructionOffset,
        +                                 int stackIndex,
        +                                 VerificationTypeVisitor verificationTypeVisitor)
        +
        Accepts the given visitor in the context of a stack in a method's code .
        +
      • +
      + + + +
        +
      • +

        variablesAccept

        +
        public abstract void variablesAccept​(Clazz clazz,
        +                                     Method method,
        +                                     CodeAttribute codeAttribute,
        +                                     int instructionOffset,
        +                                     int variableIndex,
        +                                     VerificationTypeVisitor verificationTypeVisitor)
        +
        Accepts the given visitor in the context of a variable in a method's code.
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/VerificationTypeFactory.html b/api/proguard/classfile/attribute/preverification/VerificationTypeFactory.html new file mode 100644 index 000000000..92506f634 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/VerificationTypeFactory.html @@ -0,0 +1,444 @@ + + + + + +VerificationTypeFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VerificationTypeFactory

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.preverification.VerificationTypeFactory
    • +
    +
  • +
+
+
    +
  • +
    +
    public class VerificationTypeFactory
    +extends java.lang.Object
    +
    This class provides methods to create and reuse IntegerType instances.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        VerificationTypeFactory

        +
        public VerificationTypeFactory()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createIntegerType

        +
        public static IntegerType createIntegerType()
        +
        Creates a new IntegerType.
        +
      • +
      + + + +
        +
      • +

        createLongType

        +
        public static LongType createLongType()
        +
        Creates a new LongType.
        +
      • +
      + + + +
        +
      • +

        createFloatType

        +
        public static FloatType createFloatType()
        +
        Creates a new FloatType.
        +
      • +
      + + + +
        +
      • +

        createDoubleType

        +
        public static DoubleType createDoubleType()
        +
        Creates a new DoubleType.
        +
      • +
      + + + +
        +
      • +

        createTopType

        +
        public static TopType createTopType()
        +
        Creates a new TopType.
        +
      • +
      + + + +
        +
      • +

        createNullType

        +
        public static NullType createNullType()
        +
        Creates a new NullType.
        +
      • +
      + + + +
        +
      • +

        createUninitializedThisType

        +
        public static UninitializedThisType createUninitializedThisType()
        +
        Creates a new UninitializedThisType.
        +
      • +
      + + + +
        +
      • +

        createUninitializedType

        +
        public static UninitializedType createUninitializedType​(int newInstructionOffset)
        +
        Creates a new UninitializedType for an instance that was created at the given offset.
        +
      • +
      + + + +
        +
      • +

        createObjectType

        +
        public static ObjectType createObjectType​(int classIndex)
        +
        Creates a new ObjectType of the given type.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/preverification/package-summary.html b/api/proguard/classfile/attribute/preverification/package-summary.html new file mode 100644 index 000000000..d5038a7a6 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/package-summary.html @@ -0,0 +1,275 @@ + + + + + +proguard.classfile.attribute.preverification (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.attribute.preverification

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/attribute/preverification/package-tree.html b/api/proguard/classfile/attribute/preverification/package-tree.html new file mode 100644 index 000000000..3fb3d7e05 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/package-tree.html @@ -0,0 +1,193 @@ + + + + + +proguard.classfile.attribute.preverification Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.attribute.preverification

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/attribute/preverification/visitor/StackMapFrameVisitor.html b/api/proguard/classfile/attribute/preverification/visitor/StackMapFrameVisitor.html new file mode 100644 index 000000000..dea42db27 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/visitor/StackMapFrameVisitor.html @@ -0,0 +1,375 @@ + + + + + +StackMapFrameVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface StackMapFrameVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyStackMapFrame

        +
        default void visitAnyStackMapFrame​(Clazz clazz,
        +                                   Method method,
        +                                   CodeAttribute codeAttribute,
        +                                   int offset,
        +                                   StackMapFrame stackMapFrame)
        +
        Visits any StackMapFrame instance. The more specific default implementations of this interface + delegate to this method.
        +
      • +
      + + + + + + + + + + + + + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/preverification/visitor/VerificationTypeVisitor.html b/api/proguard/classfile/attribute/preverification/visitor/VerificationTypeVisitor.html new file mode 100644 index 000000000..cd556ef5e --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/visitor/VerificationTypeVisitor.html @@ -0,0 +1,896 @@ + + + + + +VerificationTypeVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface VerificationTypeVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyVerificationType

        +
        default void visitAnyVerificationType​(Clazz clazz,
        +                                      Method method,
        +                                      CodeAttribute codeAttribute,
        +                                      int offset,
        +                                      VerificationType verificationType)
        +
        Visits any VerificationType instance. The more specific default implementations of this + interface delegate to this method.
        +
      • +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        visitStackIntegerType

        +
        default void visitStackIntegerType​(Clazz clazz,
        +                                   Method method,
        +                                   CodeAttribute codeAttribute,
        +                                   int offset,
        +                                   int index,
        +                                   IntegerType integerType)
        +
      • +
      + + + +
        +
      • +

        visitStackFloatType

        +
        default void visitStackFloatType​(Clazz clazz,
        +                                 Method method,
        +                                 CodeAttribute codeAttribute,
        +                                 int offset,
        +                                 int index,
        +                                 FloatType floatType)
        +
      • +
      + + + +
        +
      • +

        visitStackLongType

        +
        default void visitStackLongType​(Clazz clazz,
        +                                Method method,
        +                                CodeAttribute codeAttribute,
        +                                int offset,
        +                                int index,
        +                                LongType longType)
        +
      • +
      + + + +
        +
      • +

        visitStackDoubleType

        +
        default void visitStackDoubleType​(Clazz clazz,
        +                                  Method method,
        +                                  CodeAttribute codeAttribute,
        +                                  int offset,
        +                                  int index,
        +                                  DoubleType doubleType)
        +
      • +
      + + + +
        +
      • +

        visitStackTopType

        +
        default void visitStackTopType​(Clazz clazz,
        +                               Method method,
        +                               CodeAttribute codeAttribute,
        +                               int offset,
        +                               int index,
        +                               TopType topType)
        +
      • +
      + + + +
        +
      • +

        visitStackObjectType

        +
        default void visitStackObjectType​(Clazz clazz,
        +                                  Method method,
        +                                  CodeAttribute codeAttribute,
        +                                  int offset,
        +                                  int index,
        +                                  ObjectType objectType)
        +
      • +
      + + + +
        +
      • +

        visitStackNullType

        +
        default void visitStackNullType​(Clazz clazz,
        +                                Method method,
        +                                CodeAttribute codeAttribute,
        +                                int offset,
        +                                int index,
        +                                NullType nullType)
        +
      • +
      + + + +
        +
      • +

        visitStackUninitializedType

        +
        default void visitStackUninitializedType​(Clazz clazz,
        +                                         Method method,
        +                                         CodeAttribute codeAttribute,
        +                                         int offset,
        +                                         int index,
        +                                         UninitializedType uninitializedType)
        +
      • +
      + + + +
        +
      • +

        visitStackUninitializedThisType

        +
        default void visitStackUninitializedThisType​(Clazz clazz,
        +                                             Method method,
        +                                             CodeAttribute codeAttribute,
        +                                             int offset,
        +                                             int index,
        +                                             UninitializedThisType uninitializedThisType)
        +
      • +
      + + + +
        +
      • +

        visitVariablesIntegerType

        +
        default void visitVariablesIntegerType​(Clazz clazz,
        +                                       Method method,
        +                                       CodeAttribute codeAttribute,
        +                                       int offset,
        +                                       int index,
        +                                       IntegerType integerType)
        +
      • +
      + + + +
        +
      • +

        visitVariablesFloatType

        +
        default void visitVariablesFloatType​(Clazz clazz,
        +                                     Method method,
        +                                     CodeAttribute codeAttribute,
        +                                     int offset,
        +                                     int index,
        +                                     FloatType floatType)
        +
      • +
      + + + +
        +
      • +

        visitVariablesLongType

        +
        default void visitVariablesLongType​(Clazz clazz,
        +                                    Method method,
        +                                    CodeAttribute codeAttribute,
        +                                    int offset,
        +                                    int index,
        +                                    LongType longType)
        +
      • +
      + + + +
        +
      • +

        visitVariablesDoubleType

        +
        default void visitVariablesDoubleType​(Clazz clazz,
        +                                      Method method,
        +                                      CodeAttribute codeAttribute,
        +                                      int offset,
        +                                      int index,
        +                                      DoubleType doubleType)
        +
      • +
      + + + +
        +
      • +

        visitVariablesTopType

        +
        default void visitVariablesTopType​(Clazz clazz,
        +                                   Method method,
        +                                   CodeAttribute codeAttribute,
        +                                   int offset,
        +                                   int index,
        +                                   TopType topType)
        +
      • +
      + + + +
        +
      • +

        visitVariablesObjectType

        +
        default void visitVariablesObjectType​(Clazz clazz,
        +                                      Method method,
        +                                      CodeAttribute codeAttribute,
        +                                      int offset,
        +                                      int index,
        +                                      ObjectType objectType)
        +
      • +
      + + + +
        +
      • +

        visitVariablesNullType

        +
        default void visitVariablesNullType​(Clazz clazz,
        +                                    Method method,
        +                                    CodeAttribute codeAttribute,
        +                                    int offset,
        +                                    int index,
        +                                    NullType nullType)
        +
      • +
      + + + +
        +
      • +

        visitVariablesUninitializedType

        +
        default void visitVariablesUninitializedType​(Clazz clazz,
        +                                             Method method,
        +                                             CodeAttribute codeAttribute,
        +                                             int offset,
        +                                             int index,
        +                                             UninitializedType uninitializedType)
        +
      • +
      + + + +
        +
      • +

        visitVariablesUninitializedThisType

        +
        default void visitVariablesUninitializedThisType​(Clazz clazz,
        +                                                 Method method,
        +                                                 CodeAttribute codeAttribute,
        +                                                 int offset,
        +                                                 int index,
        +                                                 UninitializedThisType uninitializedThisType)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/preverification/visitor/package-summary.html b/api/proguard/classfile/attribute/preverification/visitor/package-summary.html new file mode 100644 index 000000000..7b05d8b3e --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/visitor/package-summary.html @@ -0,0 +1,172 @@ + + + + + +proguard.classfile.attribute.preverification.visitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.attribute.preverification.visitor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/attribute/preverification/visitor/package-tree.html b/api/proguard/classfile/attribute/preverification/visitor/package-tree.html new file mode 100644 index 000000000..6759f6f72 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/visitor/package-tree.html @@ -0,0 +1,158 @@ + + + + + +proguard.classfile.attribute.preverification.visitor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.attribute.preverification.visitor

+Package Hierarchies: + +
+
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/attribute/visitor/AllAttributeVisitor.html b/api/proguard/classfile/attribute/visitor/AllAttributeVisitor.html new file mode 100644 index 000000000..6de93ecaa --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AllAttributeVisitor.html @@ -0,0 +1,517 @@ + + + + + +AllAttributeVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllAttributeVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.AllAttributeVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/AllBootstrapMethodInfoVisitor.html b/api/proguard/classfile/attribute/visitor/AllBootstrapMethodInfoVisitor.html new file mode 100644 index 000000000..602d4b3a9 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AllBootstrapMethodInfoVisitor.html @@ -0,0 +1,349 @@ + + + + + +AllBootstrapMethodInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllBootstrapMethodInfoVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.AllBootstrapMethodInfoVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/AllExceptionInfoVisitor.html b/api/proguard/classfile/attribute/visitor/AllExceptionInfoVisitor.html new file mode 100644 index 000000000..bd668997b --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AllExceptionInfoVisitor.html @@ -0,0 +1,351 @@ + + + + + +AllExceptionInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllExceptionInfoVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.AllExceptionInfoVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/AllInnerClassesInfoVisitor.html b/api/proguard/classfile/attribute/visitor/AllInnerClassesInfoVisitor.html new file mode 100644 index 000000000..e90f93c20 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AllInnerClassesInfoVisitor.html @@ -0,0 +1,348 @@ + + + + + +AllInnerClassesInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllInnerClassesInfoVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.AllInnerClassesInfoVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/AllLineNumberInfoVisitor.html b/api/proguard/classfile/attribute/visitor/AllLineNumberInfoVisitor.html new file mode 100644 index 000000000..8b58693ca --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AllLineNumberInfoVisitor.html @@ -0,0 +1,353 @@ + + + + + +AllLineNumberInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllLineNumberInfoVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.AllLineNumberInfoVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/AllRecordComponentInfoVisitor.html b/api/proguard/classfile/attribute/visitor/AllRecordComponentInfoVisitor.html new file mode 100644 index 000000000..25ce88aa4 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AllRecordComponentInfoVisitor.html @@ -0,0 +1,348 @@ + + + + + +AllRecordComponentInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllRecordComponentInfoVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.AllRecordComponentInfoVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/AttributeConstantVisitor.html b/api/proguard/classfile/attribute/visitor/AttributeConstantVisitor.html new file mode 100644 index 000000000..33ca39020 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AttributeConstantVisitor.html @@ -0,0 +1,358 @@ + + + + + +AttributeConstantVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AttributeConstantVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.AttributeConstantVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class AttributeConstantVisitor
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor lets a given ConstantVisitor visit all constants of the constant value + attributes it visits.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AttributeConstantVisitor

        +
        public AttributeConstantVisitor​(ConstantVisitor constantVisitor)
        +
        Creates a new InstructionConstantVisitor.
        +
        +
        Parameters:
        +
        constantVisitor - the ConstantVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/AttributeCounter.html b/api/proguard/classfile/attribute/visitor/AttributeCounter.html new file mode 100644 index 000000000..ed61d0cf5 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AttributeCounter.html @@ -0,0 +1,349 @@ + + + + + +AttributeCounter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AttributeCounter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.AttributeCounter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AttributeCounter

        +
        public AttributeCounter()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getCount

        +
        public int getCount()
        +
        Returns the number of class members that has been visited so far.
        +
        +
        Specified by:
        +
        getCount in interface Counter
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyAttribute

        +
        public void visitAnyAttribute​(Clazz clazz,
        +                              Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/AttributeNameFilter.html b/api/proguard/classfile/attribute/visitor/AttributeNameFilter.html new file mode 100644 index 000000000..6254abd06 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AttributeNameFilter.html @@ -0,0 +1,1521 @@ + + + + + +AttributeNameFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AttributeNameFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.AttributeNameFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/AttributeProcessingFlagFilter.html b/api/proguard/classfile/attribute/visitor/AttributeProcessingFlagFilter.html new file mode 100644 index 000000000..a15f9030f --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AttributeProcessingFlagFilter.html @@ -0,0 +1,364 @@ + + + + + +AttributeProcessingFlagFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AttributeProcessingFlagFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.AttributeProcessingFlagFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AttributeProcessingFlagFilter

        +
        public AttributeProcessingFlagFilter​(int requiredSetProcessingFlags,
        +                                     int requiredUnsetProcessingFlags,
        +                                     AttributeVisitor attributeVisitor)
        +
        Creates a new AttributeProcessingFlagFilter.
        +
        +
        Parameters:
        +
        requiredSetProcessingFlags - the attribute processing flags that should be set.
        +
        requiredUnsetProcessingFlags - the attribute processing flags that should beunset.
        +
        attributeVisitor - the AttributeVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/AttributeToClassVisitor.html b/api/proguard/classfile/attribute/visitor/AttributeToClassVisitor.html new file mode 100644 index 000000000..54024eaf9 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AttributeToClassVisitor.html @@ -0,0 +1,331 @@ + + + + + +AttributeToClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AttributeToClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.AttributeToClassVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AttributeToClassVisitor

        +
        public AttributeToClassVisitor​(ClassVisitor classVisitor)
        +
        Creates a new AttributeToClassVisitor.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyAttribute

        +
        public void visitAnyAttribute​(Clazz clazz,
        +                              Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/AttributeVisitor.html b/api/proguard/classfile/attribute/visitor/AttributeVisitor.html new file mode 100644 index 000000000..948121875 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AttributeVisitor.html @@ -0,0 +1,1395 @@ + + + + + +AttributeVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface AttributeVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/visitor/BootstrapMethodInfoVisitor.html b/api/proguard/classfile/attribute/visitor/BootstrapMethodInfoVisitor.html new file mode 100644 index 000000000..eae68c691 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/BootstrapMethodInfoVisitor.html @@ -0,0 +1,257 @@ + + + + + +BootstrapMethodInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface BootstrapMethodInfoVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/visitor/CodeAttributeToMethodVisitor.html b/api/proguard/classfile/attribute/visitor/CodeAttributeToMethodVisitor.html new file mode 100644 index 000000000..e9773caa9 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/CodeAttributeToMethodVisitor.html @@ -0,0 +1,354 @@ + + + + + +CodeAttributeToMethodVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CodeAttributeToMethodVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.CodeAttributeToMethodVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CodeAttributeToMethodVisitor

        +
        public CodeAttributeToMethodVisitor​(MemberVisitor memberVisitor)
        +
        Creates a new CodeAttributeToMethodVisitor.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/DebugAttributeVisitor.html b/api/proguard/classfile/attribute/visitor/DebugAttributeVisitor.html new file mode 100644 index 000000000..1cb4fd388 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/DebugAttributeVisitor.html @@ -0,0 +1,1534 @@ + + + + + +DebugAttributeVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DebugAttributeVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.DebugAttributeVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/ExceptionInfoVisitor.html b/api/proguard/classfile/attribute/visitor/ExceptionInfoVisitor.html new file mode 100644 index 000000000..d550b2a6c --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/ExceptionInfoVisitor.html @@ -0,0 +1,261 @@ + + + + + +ExceptionInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ExceptionInfoVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/visitor/InnerClassesInfoVisitor.html b/api/proguard/classfile/attribute/visitor/InnerClassesInfoVisitor.html new file mode 100644 index 000000000..ec2623e90 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/InnerClassesInfoVisitor.html @@ -0,0 +1,257 @@ + + + + + +InnerClassesInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface InnerClassesInfoVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitInnerClassesInfo

        +
        void visitInnerClassesInfo​(Clazz clazz,
        +                           InnerClassesInfo innerClassesInfo)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/visitor/InstructionToAttributeVisitor.html b/api/proguard/classfile/attribute/visitor/InstructionToAttributeVisitor.html new file mode 100644 index 000000000..ea08df53b --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/InstructionToAttributeVisitor.html @@ -0,0 +1,337 @@ + + + + + +InstructionToAttributeVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionToAttributeVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.InstructionToAttributeVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InstructionToAttributeVisitor

        +
        public InstructionToAttributeVisitor​(AttributeVisitor attributeVisitor)
        +
        Creates a new InstructionToAttributeVisitor.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/LineNumberInfoVisitor.html b/api/proguard/classfile/attribute/visitor/LineNumberInfoVisitor.html new file mode 100644 index 000000000..ce3c831a2 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/LineNumberInfoVisitor.html @@ -0,0 +1,261 @@ + + + + + +LineNumberInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface LineNumberInfoVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/visitor/LineNumberRangeFinder.html b/api/proguard/classfile/attribute/visitor/LineNumberRangeFinder.html new file mode 100644 index 000000000..cec32fb85 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/LineNumberRangeFinder.html @@ -0,0 +1,372 @@ + + + + + +LineNumberRangeFinder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LineNumberRangeFinder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.LineNumberRangeFinder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    LineNumberInfoVisitor
    +
    +
    +
    public class LineNumberRangeFinder
    +extends java.lang.Object
    +implements LineNumberInfoVisitor
    +
    This LineNumberInfoVisitor remembers the lowest and the highest line numbers that it + finds in all the line numbers that it visits. It ignores the sources of the line numbers.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LineNumberRangeFinder

        +
        public LineNumberRangeFinder()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getLowestLineNumber

        +
        public int getLowestLineNumber()
        +
        Returns the lowest line number that has been visited so far.
        +
      • +
      + + + +
        +
      • +

        getHighestLineNumber

        +
        public int getHighestLineNumber()
        +
        Returns the highest line number that has been visited so far.
        +
      • +
      + + + +
        +
      • +

        hasSource

        +
        public boolean hasSource()
        +
        Returns whether any of the visited line numbers has a non-null source.
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/LocalVariableInfoVisitor.html b/api/proguard/classfile/attribute/visitor/LocalVariableInfoVisitor.html new file mode 100644 index 000000000..8b0bb7700 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/LocalVariableInfoVisitor.html @@ -0,0 +1,261 @@ + + + + + +LocalVariableInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface LocalVariableInfoVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/visitor/LocalVariableTypeInfoVisitor.html b/api/proguard/classfile/attribute/visitor/LocalVariableTypeInfoVisitor.html new file mode 100644 index 000000000..1000050cc --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/LocalVariableTypeInfoVisitor.html @@ -0,0 +1,261 @@ + + + + + +LocalVariableTypeInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface LocalVariableTypeInfoVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/visitor/MaxStackSizeComputer.StackSizeConsumer.html b/api/proguard/classfile/attribute/visitor/MaxStackSizeComputer.StackSizeConsumer.html new file mode 100644 index 000000000..f8156a8a8 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/MaxStackSizeComputer.StackSizeConsumer.html @@ -0,0 +1,257 @@ + + + + + +MaxStackSizeComputer.StackSizeConsumer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface MaxStackSizeComputer.StackSizeConsumer

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    MaxStackSizeComputer
    +
    +
    +
    public static interface MaxStackSizeComputer.StackSizeConsumer
    +
    A consumer of before/after stack sizes at each offset evaluated by the MaxStackSizeComputer.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      voidaccept​(int offset, + int stackSizeBefore, + int stackSizeAfter) 
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        accept

        +
        void accept​(int offset,
        +            int stackSizeBefore,
        +            int stackSizeAfter)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/visitor/MaxStackSizeComputer.html b/api/proguard/classfile/attribute/visitor/MaxStackSizeComputer.html new file mode 100644 index 000000000..8933bd7f6 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/MaxStackSizeComputer.html @@ -0,0 +1,650 @@ + + + + + +MaxStackSizeComputer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MaxStackSizeComputer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.MaxStackSizeComputer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/MultiAttributeVisitor.html b/api/proguard/classfile/attribute/visitor/MultiAttributeVisitor.html new file mode 100644 index 000000000..a0d5f7939 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/MultiAttributeVisitor.html @@ -0,0 +1,1491 @@ + + + + + +MultiAttributeVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiAttributeVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.MultiAttributeVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/NonEmptyAttributeFilter.html b/api/proguard/classfile/attribute/visitor/NonEmptyAttributeFilter.html new file mode 100644 index 000000000..97adced60 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/NonEmptyAttributeFilter.html @@ -0,0 +1,1472 @@ + + + + + +NonEmptyAttributeFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NonEmptyAttributeFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class NonEmptyAttributeFilter
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor delegates its visits another AttributeVisitor, but only + when the visited attribute is not empty. For instance, a local variable table without variables + is empty.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/ParameterInfoVisitor.html b/api/proguard/classfile/attribute/visitor/ParameterInfoVisitor.html new file mode 100644 index 000000000..f40eccaf7 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/ParameterInfoVisitor.html @@ -0,0 +1,261 @@ + + + + + +ParameterInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ParameterInfoVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitParameterInfo

        +
        void visitParameterInfo​(Clazz clazz,
        +                        Method method,
        +                        int parameterIndex,
        +                        ParameterInfo parameterInfo)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/visitor/RecordComponentInfoVisitor.html b/api/proguard/classfile/attribute/visitor/RecordComponentInfoVisitor.html new file mode 100644 index 000000000..296c9b33b --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/RecordComponentInfoVisitor.html @@ -0,0 +1,257 @@ + + + + + +RecordComponentInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface RecordComponentInfoVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/attribute/visitor/RequiredAttributeFilter.html b/api/proguard/classfile/attribute/visitor/RequiredAttributeFilter.html new file mode 100644 index 000000000..222ea6fe3 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/RequiredAttributeFilter.html @@ -0,0 +1,1496 @@ + + + + + +RequiredAttributeFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RequiredAttributeFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.RequiredAttributeFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class RequiredAttributeFilter
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor delegates its visits to one of two other AttributeVisitor + instances, depending on whether the visited attribute is strictly required or not. + +

    Stack map attributes and stack map table attributes are treated as optional.

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/SingleTimeAttributeVisitor.html b/api/proguard/classfile/attribute/visitor/SingleTimeAttributeVisitor.html new file mode 100644 index 000000000..7d87366a2 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/SingleTimeAttributeVisitor.html @@ -0,0 +1,1467 @@ + + + + + +SingleTimeAttributeVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SingleTimeAttributeVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class SingleTimeAttributeVisitor
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor delegates all visits to a given AttributeVisitor, although + only once to the same attribute in a row. + +

    It can for example be used to lazily apply a visitor in a place where it would be called + multiple times.

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/StackSizeComputer.html b/api/proguard/classfile/attribute/visitor/StackSizeComputer.html new file mode 100644 index 000000000..ff8d43921 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/StackSizeComputer.html @@ -0,0 +1,431 @@ + + + + + +StackSizeComputer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StackSizeComputer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.attribute.visitor.StackSizeComputer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class StackSizeComputer
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor computes the stack sizes at all instruction offsets of the code + attributes that it visits. + +

    If only the maximum stack size is required, then prefer MaxStackSizeComputer since + this class uses more memory because it stores the sizes for each offset.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StackSizeComputer

        +
        public StackSizeComputer()
        +
        Construct a StackSizeComputer that keeps track of sizes at each offset.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isReachable

        +
        public boolean isReachable​(int instructionOffset)
        +
        Returns whether the instruction at the given offset is reachable in the most recently visited + code attribute.
        +
      • +
      + + + +
        +
      • +

        getStackSizeBefore

        +
        public int getStackSizeBefore​(int instructionOffset)
        +
        Returns the stack size before the given instruction offset of the most recently visited code + attribute.
        +
      • +
      + + + +
        +
      • +

        getStackSizeAfter

        +
        public int getStackSizeAfter​(int instructionOffset)
        +
        Returns the stack size after the given instruction offset of the most recently visited code + attribute.
        +
      • +
      + + + +
        +
      • +

        getMaxStackSize

        +
        public int getMaxStackSize()
        +
        Returns the maximum stack size of the most recently visited code attribute.
        +
      • +
      + + + +
        +
      • +

        visitAnyAttribute

        +
        public void visitAnyAttribute​(Clazz clazz,
        +                              Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/attribute/visitor/package-summary.html b/api/proguard/classfile/attribute/visitor/package-summary.html new file mode 100644 index 000000000..6fceff399 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/package-summary.html @@ -0,0 +1,373 @@ + + + + + +proguard.classfile.attribute.visitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.attribute.visitor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/attribute/visitor/package-tree.html b/api/proguard/classfile/attribute/visitor/package-tree.html new file mode 100644 index 000000000..892af6694 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/package-tree.html @@ -0,0 +1,196 @@ + + + + + +proguard.classfile.attribute.visitor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.attribute.visitor

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/constant/AnyMethodrefConstant.html b/api/proguard/classfile/constant/AnyMethodrefConstant.html new file mode 100644 index 000000000..f26a708c5 --- /dev/null +++ b/api/proguard/classfile/constant/AnyMethodrefConstant.html @@ -0,0 +1,477 @@ + + + + + +AnyMethodrefConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AnyMethodrefConstant

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        referencedMethod

        +
        public Method referencedMethod
        +
        An extra field optionally pointing to the referenced Method object. This field is typically + filled out by the ClassReferenceInitializer.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AnyMethodrefConstant

        +
        public AnyMethodrefConstant()
        +
        Creates an uninitialized AnyMethodrefConstant.
        +
      • +
      + + + +
        +
      • +

        AnyMethodrefConstant

        +
        public AnyMethodrefConstant​(int u2classIndex,
        +                            int u2nameAndTypeIndex,
        +                            Clazz referencedClass,
        +                            Method referencedMethod)
        +
        Creates a new AnyMethodrefConstant with the given name and type indices.
        +
        +
        Parameters:
        +
        u2classIndex - the index of the class in the constant pool.
        +
        u2nameAndTypeIndex - the index of the name and type entry in the constant pool.
        +
        referencedClass - the referenced class.
        +
        referencedMethod - the referenced method.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        referencedMethodAccept

        +
        public void referencedMethodAccept​(MemberVisitor memberVisitor)
        +
        Lets the referenced class method accept the given visitor.
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/ClassConstant.html b/api/proguard/classfile/constant/ClassConstant.html new file mode 100644 index 000000000..58c827433 --- /dev/null +++ b/api/proguard/classfile/constant/ClassConstant.html @@ -0,0 +1,591 @@ + + + + + +ClassConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class ClassConstant
    +extends Constant
    +
    This Constant represents a class constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2nameIndex

        +
        public int u2nameIndex
        +
      • +
      + + + +
        +
      • +

        referencedClass

        +
        public Clazz referencedClass
        +
        An extra field pointing to the referenced Clazz object. This field is filled out by the + ClassReferenceInitializer.
        +
      • +
      + + + +
        +
      • +

        javaLangClassClass

        +
        public Clazz javaLangClassClass
        +
        An extra field pointing to the java.lang.Class Clazz object. This field is typically filled out + by the ClassReferenceInitializer..
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassConstant

        +
        public ClassConstant()
        +
        Creates an uninitialized ClassConstant.
        +
      • +
      + + + +
        +
      • +

        ClassConstant

        +
        public ClassConstant​(int u2nameIndex,
        +                     Clazz referencedClass)
        +
        Creates a new ClassConstant with the given name index.
        +
        +
        Parameters:
        +
        u2nameIndex - the index of the name in the constant pool.
        +
        referencedClass - the referenced class.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Returns the name.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        referencedClassAccept

        +
        public void referencedClassAccept​(ClassVisitor classVisitor)
        +
        Lets the referenced class accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/Constant.html b/api/proguard/classfile/constant/Constant.html new file mode 100644 index 000000000..0e0107c15 --- /dev/null +++ b/api/proguard/classfile/constant/Constant.html @@ -0,0 +1,729 @@ + + + + + +Constant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Constant

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/constant/DoubleConstant.html b/api/proguard/classfile/constant/DoubleConstant.html new file mode 100644 index 000000000..076915c09 --- /dev/null +++ b/api/proguard/classfile/constant/DoubleConstant.html @@ -0,0 +1,548 @@ + + + + + +DoubleConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DoubleConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class DoubleConstant
    +extends Constant
    +
    This Constant represents a double constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        f8value

        +
        public double f8value
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DoubleConstant

        +
        public DoubleConstant()
        +
        Creates an uninitialized DoubleConstant.
        +
      • +
      + + + +
        +
      • +

        DoubleConstant

        +
        public DoubleConstant​(double value)
        +
        Creates a new DoubleConstant with the given double value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getValue

        +
        public double getValue()
        +
        Returns the double value of this DoubleConstant.
        +
      • +
      + + + +
        +
      • +

        setValue

        +
        public void setValue​(double value)
        +
        Sets the double value of this DoubleConstant.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/DynamicConstant.html b/api/proguard/classfile/constant/DynamicConstant.html new file mode 100644 index 000000000..ecdae0ce7 --- /dev/null +++ b/api/proguard/classfile/constant/DynamicConstant.html @@ -0,0 +1,662 @@ + + + + + +DynamicConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DynamicConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class DynamicConstant
    +extends Constant
    +
    This Constant represents a dynamic constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2bootstrapMethodAttributeIndex

        +
        public int u2bootstrapMethodAttributeIndex
        +
      • +
      + + + +
        +
      • +

        u2nameAndTypeIndex

        +
        public int u2nameAndTypeIndex
        +
      • +
      + + + +
        +
      • +

        referencedClasses

        +
        public Clazz[] referencedClasses
        +
        An extra field pointing to the Clazz objects referenced in the descriptor string. This field is + filled out by the ClassReferenceInitializer. References + to primitive types are ignored.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DynamicConstant

        +
        public DynamicConstant()
        +
        Creates an uninitialized InvokeDynamicConstant.
        +
      • +
      + + + +
        +
      • +

        DynamicConstant

        +
        public DynamicConstant​(int u2bootstrapMethodAttributeIndex,
        +                       int u2nameAndTypeIndex,
        +                       Clazz[] referencedClasses)
        +
        Creates a new InvokeDynamicConstant with the given bootstrap method and name-and-type indices.
        +
        +
        Parameters:
        +
        u2bootstrapMethodAttributeIndex - the index of the bootstrap method entry in the bootstrap + methods attribute.
        +
        u2nameAndTypeIndex - the index of the name and type entry in the constant pool.
        +
        referencedClasses - the classes referenced by the type.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getBootstrapMethodAttributeIndex

        +
        public int getBootstrapMethodAttributeIndex()
        +
        Returns the index of the bootstrap method in the bootstrap methods attribute of the class.
        +
      • +
      + + + +
        +
      • +

        getNameAndTypeIndex

        +
        public int getNameAndTypeIndex()
        +
        Returns the name-and-type index.
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Returns the method name.
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public java.lang.String getType​(Clazz clazz)
        +
        Returns the method type.
        +
      • +
      + + + +
        +
      • +

        referencedClassesAccept

        +
        public void referencedClassesAccept​(ClassVisitor classVisitor)
        +
        Lets the Clazz objects referenced in the descriptor string accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        bootstrapMethodHandleAccept

        +
        public void bootstrapMethodHandleAccept​(Clazz clazz,
        +                                        ConstantVisitor constantVisitor)
        +
        Lets the bootstrap method handle constant accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/FieldrefConstant.html b/api/proguard/classfile/constant/FieldrefConstant.html new file mode 100644 index 000000000..2fd4932d0 --- /dev/null +++ b/api/proguard/classfile/constant/FieldrefConstant.html @@ -0,0 +1,552 @@ + + + + + +FieldrefConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FieldrefConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class FieldrefConstant
    +extends RefConstant
    +
    This Constant represents a field reference constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        referencedField

        +
        public Field referencedField
        +
        An extra field optionally pointing to the referenced Field object. This field is typically + filled out by the ClassReferenceInitializer.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FieldrefConstant

        +
        public FieldrefConstant()
        +
        Creates an uninitialized FieldrefConstant.
        +
      • +
      + + + +
        +
      • +

        FieldrefConstant

        +
        public FieldrefConstant​(int u2classIndex,
        +                        int u2nameAndTypeIndex,
        +                        Clazz referencedClass,
        +                        Field referencedField)
        +
        Creates a new FieldrefConstant with the given name and type indices.
        +
        +
        Parameters:
        +
        u2classIndex - the index of the class in the constant pool.
        +
        u2nameAndTypeIndex - the index of the name and type entry in the constant pool.
        +
        referencedClass - the referenced class.
        +
        referencedField - the referenced field.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        referencedFieldAccept

        +
        public void referencedFieldAccept​(MemberVisitor memberVisitor)
        +
        Lets the referenced class field accept the given visitor.
        +
      • +
      + + + + + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class RefConstant
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/FloatConstant.html b/api/proguard/classfile/constant/FloatConstant.html new file mode 100644 index 000000000..6a922c29c --- /dev/null +++ b/api/proguard/classfile/constant/FloatConstant.html @@ -0,0 +1,548 @@ + + + + + +FloatConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FloatConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class FloatConstant
    +extends Constant
    +
    This Constant represents a float constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        f4value

        +
        public float f4value
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FloatConstant

        +
        public FloatConstant()
        +
        Creates an uninitialized FloatConstant.
        +
      • +
      + + + +
        +
      • +

        FloatConstant

        +
        public FloatConstant​(float value)
        +
        Creates a new FloatConstant with the given float value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getValue

        +
        public float getValue()
        +
        Returns the float value of this FloatConstant.
        +
      • +
      + + + +
        +
      • +

        setValue

        +
        public void setValue​(float value)
        +
        Sets the float value of this FloatConstant.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/IntegerConstant.html b/api/proguard/classfile/constant/IntegerConstant.html new file mode 100644 index 000000000..20cbe04e2 --- /dev/null +++ b/api/proguard/classfile/constant/IntegerConstant.html @@ -0,0 +1,548 @@ + + + + + +IntegerConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IntegerConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class IntegerConstant
    +extends Constant
    +
    This Constant represents a integer constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u4value

        +
        public int u4value
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        IntegerConstant

        +
        public IntegerConstant()
        +
        Creates an uninitialized IntegerConstant.
        +
      • +
      + + + +
        +
      • +

        IntegerConstant

        +
        public IntegerConstant​(int value)
        +
        Creates a new IntegerConstant with the given integer value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getValue

        +
        public int getValue()
        +
        Returns the integer value of this IntegerConstant.
        +
      • +
      + + + +
        +
      • +

        setValue

        +
        public void setValue​(int value)
        +
        Sets the integer value of this IntegerConstant.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/InterfaceMethodrefConstant.html b/api/proguard/classfile/constant/InterfaceMethodrefConstant.html new file mode 100644 index 000000000..bccd1f32f --- /dev/null +++ b/api/proguard/classfile/constant/InterfaceMethodrefConstant.html @@ -0,0 +1,497 @@ + + + + + +InterfaceMethodrefConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InterfaceMethodrefConstant

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InterfaceMethodrefConstant

        +
        public InterfaceMethodrefConstant()
        +
        Creates an uninitialized InterfaceMethodrefConstant.
        +
      • +
      + + + +
        +
      • +

        InterfaceMethodrefConstant

        +
        public InterfaceMethodrefConstant​(int u2classIndex,
        +                                  int u2nameAndTypeIndex,
        +                                  Clazz referencedClass,
        +                                  Method referencedMethod)
        +
        Creates a new InterfaceMethodrefConstant with the given name and type indices.
        +
        +
        Parameters:
        +
        u2classIndex - the index of the class in the constant pool.
        +
        u2nameAndTypeIndex - the index of the name and type entry in the constant pool.
        +
        referencedClass - the referenced class.
        +
        referencedMethod - the referenced method.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class RefConstant
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/InvokeDynamicConstant.html b/api/proguard/classfile/constant/InvokeDynamicConstant.html new file mode 100644 index 000000000..3d40a853b --- /dev/null +++ b/api/proguard/classfile/constant/InvokeDynamicConstant.html @@ -0,0 +1,662 @@ + + + + + +InvokeDynamicConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InvokeDynamicConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class InvokeDynamicConstant
    +extends Constant
    +
    This Constant represents an invoke dynamic constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2bootstrapMethodAttributeIndex

        +
        public int u2bootstrapMethodAttributeIndex
        +
      • +
      + + + +
        +
      • +

        u2nameAndTypeIndex

        +
        public int u2nameAndTypeIndex
        +
      • +
      + + + +
        +
      • +

        referencedClasses

        +
        public Clazz[] referencedClasses
        +
        An extra field pointing to the Clazz objects referenced in the descriptor string. This field is + filled out by the ClassReferenceInitializer. References + to primitive types are ignored.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InvokeDynamicConstant

        +
        public InvokeDynamicConstant()
        +
        Creates an uninitialized InvokeDynamicConstant.
        +
      • +
      + + + +
        +
      • +

        InvokeDynamicConstant

        +
        public InvokeDynamicConstant​(int u2bootstrapMethodAttributeIndex,
        +                             int u2nameAndTypeIndex,
        +                             Clazz[] referencedClasses)
        +
        Creates a new InvokeDynamicConstant with the given bootstrap method and name-and-type indices.
        +
        +
        Parameters:
        +
        u2bootstrapMethodAttributeIndex - the index of the bootstrap method entry in the bootstrap + methods attribute.
        +
        u2nameAndTypeIndex - the index of the name and type entry in the constant pool.
        +
        referencedClasses - the classes referenced by the type.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getBootstrapMethodAttributeIndex

        +
        public int getBootstrapMethodAttributeIndex()
        +
        Returns the index of the bootstrap method in the bootstrap methods attribute of the class.
        +
      • +
      + + + +
        +
      • +

        getNameAndTypeIndex

        +
        public int getNameAndTypeIndex()
        +
        Returns the name-and-type index.
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Returns the method name.
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public java.lang.String getType​(Clazz clazz)
        +
        Returns the method type.
        +
      • +
      + + + +
        +
      • +

        referencedClassesAccept

        +
        public void referencedClassesAccept​(ClassVisitor classVisitor)
        +
        Lets the Clazz objects referenced in the descriptor string accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        bootstrapMethodHandleAccept

        +
        public void bootstrapMethodHandleAccept​(Clazz clazz,
        +                                        ConstantVisitor constantVisitor)
        +
        Lets the bootstrap method handle constant accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/LongConstant.html b/api/proguard/classfile/constant/LongConstant.html new file mode 100644 index 000000000..f9bf1225d --- /dev/null +++ b/api/proguard/classfile/constant/LongConstant.html @@ -0,0 +1,548 @@ + + + + + +LongConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LongConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class LongConstant
    +extends Constant
    +
    This Constant represents a long constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u8value

        +
        public long u8value
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LongConstant

        +
        public LongConstant()
        +
        Creates an uninitialized LongConstant.
        +
      • +
      + + + +
        +
      • +

        LongConstant

        +
        public LongConstant​(long value)
        +
        Creates a new LongConstant with the given long value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getValue

        +
        public long getValue()
        +
        Returns the long value of this LongConstant.
        +
      • +
      + + + +
        +
      • +

        setValue

        +
        public void setValue​(long value)
        +
        Sets the long value of this LongConstant.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/MethodHandleConstant.html b/api/proguard/classfile/constant/MethodHandleConstant.html new file mode 100644 index 000000000..b054cc71d --- /dev/null +++ b/api/proguard/classfile/constant/MethodHandleConstant.html @@ -0,0 +1,825 @@ + + + + + +MethodHandleConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodHandleConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class MethodHandleConstant
    +extends Constant
    +
    This Constant represents a method handle constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + + + + + + + + + + + + + +
        +
      • +

        REF_INVOKE_VIRTUAL

        +
        public static final int REF_INVOKE_VIRTUAL
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        REF_INVOKE_STATIC

        +
        public static final int REF_INVOKE_STATIC
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        REF_INVOKE_SPECIAL

        +
        public static final int REF_INVOKE_SPECIAL
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        REF_NEW_INVOKE_SPECIAL

        +
        public static final int REF_NEW_INVOKE_SPECIAL
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        REF_INVOKE_INTERFACE

        +
        public static final int REF_INVOKE_INTERFACE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        u1referenceKind

        +
        public int u1referenceKind
        +
      • +
      + + + +
        +
      • +

        u2referenceIndex

        +
        public int u2referenceIndex
        +
      • +
      + + + +
        +
      • +

        javaLangInvokeMethodHandleClass

        +
        public Clazz javaLangInvokeMethodHandleClass
        +
        An extra field pointing to the java.lang.invoke.MethodHandle Clazz object. This field is + typically filled out by the ClassReferenceInitializer.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodHandleConstant

        +
        public MethodHandleConstant()
        +
        Creates an uninitialized MethodHandleConstant.
        +
      • +
      + + + +
        +
      • +

        MethodHandleConstant

        +
        public MethodHandleConstant​(int u1referenceKind,
        +                            int u2referenceIndex)
        +
        Creates a new MethodHandleConstant with the given type and method ref index.
        +
        +
        Parameters:
        +
        u1referenceKind - the reference kind.
        +
        u2referenceIndex - the index of the field ref constant, interface method ref constant, or + method ref constant in the constant pool.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        getReferenceIndex

        +
        public int getReferenceIndex()
        +
        Returns the field ref, interface method ref, or method ref index.
        +
      • +
      + + + +
        +
      • +

        getClassName

        +
        public java.lang.String getClassName​(Clazz clazz)
        +
        Returns the class name.
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Returns the method/field name.
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public java.lang.String getType​(Clazz clazz)
        +
        Returns the type.
        +
      • +
      + + + +
        +
      • +

        referenceAccept

        +
        public void referenceAccept​(Clazz clazz,
        +                            ConstantVisitor constantVisitor)
        +
        Applies the given constant pool visitor to the reference.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/MethodTypeConstant.html b/api/proguard/classfile/constant/MethodTypeConstant.html new file mode 100644 index 000000000..1f389f49a --- /dev/null +++ b/api/proguard/classfile/constant/MethodTypeConstant.html @@ -0,0 +1,609 @@ + + + + + +MethodTypeConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodTypeConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class MethodTypeConstant
    +extends Constant
    +
    This Constant represents a method handle constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2descriptorIndex

        +
        public int u2descriptorIndex
        +
      • +
      + + + +
        +
      • +

        javaLangInvokeMethodTypeClass

        +
        public Clazz javaLangInvokeMethodTypeClass
        +
        An extra field pointing to the java.lang.invoke.MethodType Clazz object. This field is + typically filled out by the ClassReferenceInitializer..
        +
      • +
      + + + +
        +
      • +

        referencedClasses

        +
        public Clazz[] referencedClasses
        +
        An extra field pointing to the Clazz objects referenced in the descriptor string. This field is + filled out by the ClassReferenceInitializer. References + to primitive types are ignored.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodTypeConstant

        +
        public MethodTypeConstant()
        +
        Creates an uninitialized MethodTypeConstant.
        +
      • +
      + + + +
        +
      • +

        MethodTypeConstant

        +
        public MethodTypeConstant​(int u2descriptorIndex,
        +                          Clazz[] referencedClasses)
        +
        Creates a new MethodTypeConstant with the given descriptor index.
        +
        +
        Parameters:
        +
        u2descriptorIndex - the index of the descriptor in the constant pool.
        +
        referencedClasses - the classes referenced by the descriptor.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getDescriptorIndex

        +
        public int getDescriptorIndex()
        +
        Returns the descriptor index.
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public java.lang.String getType​(Clazz clazz)
        +
        Returns the type.
        +
      • +
      + + + +
        +
      • +

        referencedClassesAccept

        +
        public void referencedClassesAccept​(ClassVisitor classVisitor)
        +
        Lets the Clazz objects referenced in the descriptor string accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/MethodrefConstant.html b/api/proguard/classfile/constant/MethodrefConstant.html new file mode 100644 index 000000000..6af89ce01 --- /dev/null +++ b/api/proguard/classfile/constant/MethodrefConstant.html @@ -0,0 +1,497 @@ + + + + + +MethodrefConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodrefConstant

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodrefConstant

        +
        public MethodrefConstant()
        +
        Creates an uninitialized MethodrefConstant.
        +
      • +
      + + + +
        +
      • +

        MethodrefConstant

        +
        public MethodrefConstant​(int u2classIndex,
        +                         int u2nameAndTypeIndex,
        +                         Clazz referencedClass,
        +                         Method referencedMethod)
        +
        Creates a new MethodrefConstant with the given name and type indices.
        +
        +
        Parameters:
        +
        u2classIndex - the index of the class in the constant pool.
        +
        u2nameAndTypeIndex - the index of the name and type entry in the constant pool.
        +
        referencedClass - the referenced class.
        +
        referencedMethod - the referenced method.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class RefConstant
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/ModuleConstant.html b/api/proguard/classfile/constant/ModuleConstant.html new file mode 100644 index 000000000..1535e62aa --- /dev/null +++ b/api/proguard/classfile/constant/ModuleConstant.html @@ -0,0 +1,535 @@ + + + + + +ModuleConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ModuleConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class ModuleConstant
    +extends Constant
    +
    This Constant represents a module constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2nameIndex

        +
        public int u2nameIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ModuleConstant

        +
        public ModuleConstant()
        +
        Creates an uninitialized ModuleConstant.
        +
      • +
      + + + +
        +
      • +

        ModuleConstant

        +
        public ModuleConstant​(int u2nameIndex)
        +
        Creates a new ModuleConstant with the given name index.
        +
        +
        Parameters:
        +
        u2nameIndex - the index of the name in the constant pool.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Returns the name.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/NameAndTypeConstant.html b/api/proguard/classfile/constant/NameAndTypeConstant.html new file mode 100644 index 000000000..059ba5f0e --- /dev/null +++ b/api/proguard/classfile/constant/NameAndTypeConstant.html @@ -0,0 +1,637 @@ + + + + + +NameAndTypeConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NameAndTypeConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class NameAndTypeConstant
    +extends Constant
    +
    This Constant represents a name and type constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2nameIndex

        +
        public int u2nameIndex
        +
      • +
      + + + +
        +
      • +

        u2descriptorIndex

        +
        public int u2descriptorIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NameAndTypeConstant

        +
        public NameAndTypeConstant()
        +
        Creates an uninitialized NameAndTypeConstant.
        +
      • +
      + + + +
        +
      • +

        NameAndTypeConstant

        +
        public NameAndTypeConstant​(int u2nameIndex,
        +                           int u2descriptorIndex)
        +
        Creates a new NameAndTypeConstant with the given name and type indices.
        +
        +
        Parameters:
        +
        u2nameIndex - the index of the name in the constant pool.
        +
        u2descriptorIndex - the index of the descriptor in the constant pool.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getNameIndex

        +
        protected int getNameIndex()
        +
        Returns the name index.
        +
      • +
      + + + +
        +
      • +

        setNameIndex

        +
        protected void setNameIndex​(int index)
        +
        Sets the name index.
        +
      • +
      + + + +
        +
      • +

        getDescriptorIndex

        +
        protected int getDescriptorIndex()
        +
        Returns the descriptor index.
        +
      • +
      + + + +
        +
      • +

        setDescriptorIndex

        +
        protected void setDescriptorIndex​(int index)
        +
        Sets the descriptor index.
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Returns the name.
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public java.lang.String getType​(Clazz clazz)
        +
        Returns the type.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/PackageConstant.html b/api/proguard/classfile/constant/PackageConstant.html new file mode 100644 index 000000000..1abe86cb4 --- /dev/null +++ b/api/proguard/classfile/constant/PackageConstant.html @@ -0,0 +1,535 @@ + + + + + +PackageConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PackageConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class PackageConstant
    +extends Constant
    +
    This Constant represents a package constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2nameIndex

        +
        public int u2nameIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PackageConstant

        +
        public PackageConstant()
        +
        Creates an uninitialized PackageConstant.
        +
      • +
      + + + +
        +
      • +

        PackageConstant

        +
        public PackageConstant​(int u2nameIndex)
        +
        Creates a new PackageConstant with the given name index.
        +
        +
        Parameters:
        +
        u2nameIndex - the index of the name in the constant pool.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Returns the name.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/PrimitiveArrayConstant.html b/api/proguard/classfile/constant/PrimitiveArrayConstant.html new file mode 100644 index 000000000..34d23acb8 --- /dev/null +++ b/api/proguard/classfile/constant/PrimitiveArrayConstant.html @@ -0,0 +1,623 @@ + + + + + +PrimitiveArrayConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PrimitiveArrayConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class PrimitiveArrayConstant
    +extends Constant
    +
    This unofficial Constant represents an array of primitives in the constant pool. It is not + supported by any Java specification and therefore only for internal use.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        values

        +
        public java.lang.Object values
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PrimitiveArrayConstant

        +
        public PrimitiveArrayConstant()
        +
        Creates an uninitialized PrimitiveArrayConstant.
        +
      • +
      + + + +
        +
      • +

        PrimitiveArrayConstant

        +
        public PrimitiveArrayConstant​(java.lang.Object values)
        +
        Creates a new PrimitiveArrayConstant with the given array of values.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getPrimitiveType

        +
        public char getPrimitiveType()
        +
        Returns the type of the elements of the primitive array.
        +
      • +
      + + + +
        +
      • +

        getLength

        +
        public int getLength()
        +
        Returns the length of the primitive array.
        +
      • +
      + + + +
        +
      • +

        getValues

        +
        public java.lang.Object getValues()
        +
        Returns the values.
        +
      • +
      + + + +
        +
      • +

        primitiveArrayAccept

        +
        public void primitiveArrayAccept​(Clazz clazz,
        +                                 PrimitiveArrayConstantVisitor primitiveArrayConstantVisitor)
        +
        Applies the given PrimitiveArrayConstantVisitor to the primitive array.
        +
      • +
      + + + +
        +
      • +

        primitiveArrayElementsAccept

        +
        public void primitiveArrayElementsAccept​(Clazz clazz,
        +                                         PrimitiveArrayConstantElementVisitor primitiveArrayConstantElementVisitor)
        +
        Applies the given PrimitiveArrayConstantElementVisitor to all elements of the primitive array.
        +
      • +
      + + + +
        +
      • +

        contentEquals

        +
        public boolean contentEquals​(PrimitiveArrayConstant other)
        +
        Returns whether all elements of the primitive array are equal to the elements of the given + primitive array.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/RefConstant.html b/api/proguard/classfile/constant/RefConstant.html new file mode 100644 index 000000000..a908745d5 --- /dev/null +++ b/api/proguard/classfile/constant/RefConstant.html @@ -0,0 +1,610 @@ + + + + + +RefConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RefConstant

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2classIndex

        +
        public int u2classIndex
        +
      • +
      + + + +
        +
      • +

        u2nameAndTypeIndex

        +
        public int u2nameAndTypeIndex
        +
      • +
      + + + +
        +
      • +

        referencedClass

        +
        public Clazz referencedClass
        +
        An extra field pointing to the referenced Clazz object. This field is typically filled out by + the ClassReferenceInitializer.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RefConstant

        +
        protected RefConstant()
        +
        Creates an uninitialized RefConstant.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getClassIndex

        +
        public int getClassIndex()
        +
        Returns the class index.
        +
      • +
      + + + +
        +
      • +

        getNameAndTypeIndex

        +
        public int getNameAndTypeIndex()
        +
        Returns the name-and-type index.
        +
      • +
      + + + +
        +
      • +

        setNameAndTypeIndex

        +
        public void setNameAndTypeIndex​(int index)
        +
        Sets the name-and-type index.
        +
      • +
      + + + +
        +
      • +

        getClassName

        +
        public java.lang.String getClassName​(Clazz clazz)
        +
        Returns the class name.
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName​(Clazz clazz)
        +
        Returns the method/field name.
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public java.lang.String getType​(Clazz clazz)
        +
        Returns the type.
        +
      • +
      + + + +
        +
      • +

        referencedClassAccept

        +
        public void referencedClassAccept​(ClassVisitor classVisitor)
        +
        Lets the referenced class accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        referencedMemberAccept

        +
        public abstract void referencedMemberAccept​(MemberVisitor memberVisitor)
        +
        Lets the referenced class member accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/StringConstant.html b/api/proguard/classfile/constant/StringConstant.html new file mode 100644 index 000000000..846fb461b --- /dev/null +++ b/api/proguard/classfile/constant/StringConstant.html @@ -0,0 +1,742 @@ + + + + + +StringConstant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StringConstant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class StringConstant
    +extends Constant
    +
    This Constant represents a string constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        u2stringIndex

        +
        public int u2stringIndex
        +
      • +
      + + + + + + + +
        +
      • +

        referencedMember

        +
        public Member referencedMember
        +
        An extra field pointing to the referenced Member object, if this string is being used in + Class.getDeclaredField/Method constructs. This field is typically filled out by the + DynamicMemberReferenceInitializer.
        +
      • +
      + + + +
        +
      • +

        javaLangStringClass

        +
        public Clazz javaLangStringClass
        +
        An extra field pointing to the java.lang.String Clazz object. This field is typically filled + out by the ClassReferenceInitializer..
        +
      • +
      + + + +
        +
      • +

        referencedResourceId

        +
        public int referencedResourceId
        +
        An extra field pointing to the referenced resource ID, if this string references an Android + resource. Limitation: a String may point to multiple resources with the same name but a + different type - only one can be cached.
        +
      • +
      + + + +
        +
      • +

        referencedResourceFile

        +
        public ResourceFile referencedResourceFile
        +
        An extra field pointing to the referenced resource file, if this string references one.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StringConstant

        +
        public StringConstant()
        +
        Creates an uninitialized StringConstant.
        +
      • +
      + + + +
        +
      • +

        StringConstant

        +
        public StringConstant​(int u2stringIndex,
        +                      Clazz referencedClass,
        +                      Member referencedMember)
        +
        Creates a new StringConstant with the given string index.
        +
        +
        Parameters:
        +
        u2stringIndex - the index of the string in the constant pool.
        +
        referencedClass - the referenced class, if any.
        +
        referencedMember - the referenced class member, if any.
        +
        +
      • +
      + + + +
        +
      • +

        StringConstant

        +
        public StringConstant​(int u2stringIndex,
        +                      ResourceFile referencedResourceFile)
        +
        Creates a new StringConstant with the given string index.
        +
        +
        Parameters:
        +
        u2stringIndex - the index of the string in the constant pool.
        +
        referencedResourceFile - the referenced resource filename, if any.
        +
        +
      • +
      + + + +
        +
      • +

        StringConstant

        +
        public StringConstant​(int u2stringIndex,
        +                      Clazz referencedClass,
        +                      Member referencedMember,
        +                      int referencedResourceId,
        +                      ResourceFile referencedResourceFile)
        +
        Creates a new StringConstant with the given string index.
        +
        +
        Parameters:
        +
        u2stringIndex - the index of the string in the constant pool.
        +
        referencedClass - the referenced class, if any.
        +
        referencedMember - the referenced class member, if any.
        +
        referencedResourceId - the referenced resource id, if any, 0 otherwise.
        +
        referencedResourceFile - the referenced resource filename, if any.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getString

        +
        public java.lang.String getString​(Clazz clazz)
        +
        Returns the string value.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        referencedClassAccept

        +
        public void referencedClassAccept​(ClassVisitor classVisitor)
        +
        Lets the referenced class accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        referencedMemberAccept

        +
        public void referencedMemberAccept​(MemberVisitor memberVisitor)
        +
        Lets the referenced member accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        referencedResourceFileAccept

        +
        public void referencedResourceFileAccept​(ResourceFileVisitor resourceFileVisitor)
        +
        Lets the referenced resource file accept the given visitor.
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/Utf8Constant.html b/api/proguard/classfile/constant/Utf8Constant.html new file mode 100644 index 000000000..e204238b0 --- /dev/null +++ b/api/proguard/classfile/constant/Utf8Constant.html @@ -0,0 +1,550 @@ + + + + + +Utf8Constant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Utf8Constant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class Utf8Constant
    +extends Constant
    +
    This Constant represents a UTF-8 constant in the constant pool.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Utf8Constant

        +
        public Utf8Constant()
        +
        Creates an uninitialized Utf8Constant.
        +
      • +
      + + + +
        +
      • +

        Utf8Constant

        +
        public Utf8Constant​(java.lang.String string)
        +
        Creates a Utf8Constant containing the given string.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setBytes

        +
        public void setBytes​(byte[] bytes)
        +
        Initializes the UTF-8 data with an array of bytes.
        +
      • +
      + + + +
        +
      • +

        getBytes

        +
        public byte[] getBytes()
        +
        Returns the UTF-8 data as an array of bytes.
        +
      • +
      + + + +
        +
      • +

        setString

        +
        public void setString​(java.lang.String utf8String)
        +
        Initializes the UTF-8 data with a String.
        +
      • +
      + + + +
        +
      • +

        getString

        +
        public java.lang.String getString()
        +
        Returns the UTF-8 data as a String.
        +
      • +
      + + + +
        +
      • +

        getTag

        +
        public int getTag()
        +
        Description copied from class: Constant
        +
        Returns the constant pool info tag that specifies the entry type.
        +
        +
        Specified by:
        +
        getTag in class Constant
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Constant
        +
        Returns whether the constant is of category 2. This means that it takes up the space of two + category 1 types in the constant pool or on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Constant
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/package-summary.html b/api/proguard/classfile/constant/package-summary.html new file mode 100644 index 000000000..2ad7a16a8 --- /dev/null +++ b/api/proguard/classfile/constant/package-summary.html @@ -0,0 +1,286 @@ + + + + + +proguard.classfile.constant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.constant

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/constant/package-tree.html b/api/proguard/classfile/constant/package-tree.html new file mode 100644 index 000000000..d5bb79ad1 --- /dev/null +++ b/api/proguard/classfile/constant/package-tree.html @@ -0,0 +1,194 @@ + + + + + +proguard.classfile.constant Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.constant

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/constant/visitor/AllBootstrapMethodArgumentVisitor.html b/api/proguard/classfile/constant/visitor/AllBootstrapMethodArgumentVisitor.html new file mode 100644 index 000000000..77b542d28 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/AllBootstrapMethodArgumentVisitor.html @@ -0,0 +1,322 @@ + + + + + +AllBootstrapMethodArgumentVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllBootstrapMethodArgumentVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.constant.visitor.AllBootstrapMethodArgumentVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AllBootstrapMethodArgumentVisitor

        +
        public AllBootstrapMethodArgumentVisitor​(ConstantVisitor constantVisitor)
        +
        Creates a new AllBootstrapMethodArgumentVisitor that will delegate to the given constant + visitor.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/visitor/AllConstantVisitor.html b/api/proguard/classfile/constant/visitor/AllConstantVisitor.html new file mode 100644 index 000000000..3eccc3809 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/AllConstantVisitor.html @@ -0,0 +1,345 @@ + + + + + +AllConstantVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllConstantVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.constant.visitor.AllConstantVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class AllConstantVisitor
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor lets a given ConstantVisitor visit all constant pool entries of + the program classes it visits.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AllConstantVisitor

        +
        public AllConstantVisitor​(ConstantVisitor constantVisitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/visitor/BootstrapMethodHandleTraveler.html b/api/proguard/classfile/constant/visitor/BootstrapMethodHandleTraveler.html new file mode 100644 index 000000000..cd9133cbc --- /dev/null +++ b/api/proguard/classfile/constant/visitor/BootstrapMethodHandleTraveler.html @@ -0,0 +1,445 @@ + + + + + +BootstrapMethodHandleTraveler (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BootstrapMethodHandleTraveler

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.constant.visitor.BootstrapMethodHandleTraveler
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/constant/visitor/ConstantCounter.html b/api/proguard/classfile/constant/visitor/ConstantCounter.html new file mode 100644 index 000000000..204973617 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/ConstantCounter.html @@ -0,0 +1,349 @@ + + + + + +ConstantCounter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantCounter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.constant.visitor.ConstantCounter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConstantCounter

        +
        public ConstantCounter()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getCount

        +
        public int getCount()
        +
        Returns the number of class members that has been visited so far.
        +
        +
        Specified by:
        +
        getCount in interface Counter
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyConstant

        +
        public void visitAnyConstant​(Clazz clazz,
        +                             Constant constant)
        +
        Description copied from interface: ConstantVisitor
        +
        Visits any Constant instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyConstant in interface ConstantVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/visitor/ConstantStringBuilder.html b/api/proguard/classfile/constant/visitor/ConstantStringBuilder.html new file mode 100644 index 000000000..d9227dd4f --- /dev/null +++ b/api/proguard/classfile/constant/visitor/ConstantStringBuilder.html @@ -0,0 +1,696 @@ + + + + + +ConstantStringBuilder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantStringBuilder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.constant.visitor.ConstantStringBuilder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor
    +
    +
    +
    public class ConstantStringBuilder
    +extends java.lang.Object
    +implements ConstantVisitor
    +
    This ConstantVisitor collects the constants that it visits in a readable form, in a given + string builder.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/constant/visitor/ConstantTagFilter.html b/api/proguard/classfile/constant/visitor/ConstantTagFilter.html new file mode 100644 index 000000000..82e70c730 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/ConstantTagFilter.html @@ -0,0 +1,361 @@ + + + + + +ConstantTagFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantTagFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.constant.visitor.ConstantTagFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor
    +
    +
    +
    public class ConstantTagFilter
    +extends java.lang.Object
    +implements ConstantVisitor
    +
    This ConstantVisitor delegates its visits to one or more specified types of constants.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConstantTagFilter

        +
        public ConstantTagFilter​(int constantTag,
        +                         ConstantVisitor constantVisitor)
        +
        Creates a new ConstantTagFilter.
        +
        +
        Parameters:
        +
        constantTag - the type of constants for which visits will be delegated.
        +
        constantVisitor - the ConstantVisitor to which visits will be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        ConstantTagFilter

        +
        public ConstantTagFilter​(int[] constantTags,
        +                         ConstantVisitor constantVisitor)
        +
        Creates a new ConstantTagFilter.
        +
        +
        Parameters:
        +
        constantTags - the types of constants for which visits will be delegated.
        +
        constantVisitor - the ConstantVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyConstant

        +
        public void visitAnyConstant​(Clazz clazz,
        +                             Constant constant)
        +
        Description copied from interface: ConstantVisitor
        +
        Visits any Constant instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyConstant in interface ConstantVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/visitor/ConstantVisitor.html b/api/proguard/classfile/constant/visitor/ConstantVisitor.html new file mode 100644 index 000000000..f0f3003d3 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/ConstantVisitor.html @@ -0,0 +1,591 @@ + + + + + +ConstantVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ConstantVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyConstant

        +
        default void visitAnyConstant​(Clazz clazz,
        +                              Constant constant)
        +
        Visits any Constant instance. The more specific default implementations of this interface + delegate to this method.
        +
      • +
      + + + +
        +
      • +

        visitIntegerConstant

        +
        default void visitIntegerConstant​(Clazz clazz,
        +                                  IntegerConstant integerConstant)
        +
      • +
      + + + +
        +
      • +

        visitLongConstant

        +
        default void visitLongConstant​(Clazz clazz,
        +                               LongConstant longConstant)
        +
      • +
      + + + +
        +
      • +

        visitFloatConstant

        +
        default void visitFloatConstant​(Clazz clazz,
        +                                FloatConstant floatConstant)
        +
      • +
      + + + +
        +
      • +

        visitDoubleConstant

        +
        default void visitDoubleConstant​(Clazz clazz,
        +                                 DoubleConstant doubleConstant)
        +
      • +
      + + + +
        +
      • +

        visitPrimitiveArrayConstant

        +
        default void visitPrimitiveArrayConstant​(Clazz clazz,
        +                                         PrimitiveArrayConstant primitiveArrayConstant)
        +
      • +
      + + + +
        +
      • +

        visitStringConstant

        +
        default void visitStringConstant​(Clazz clazz,
        +                                 StringConstant stringConstant)
        +
      • +
      + + + +
        +
      • +

        visitUtf8Constant

        +
        default void visitUtf8Constant​(Clazz clazz,
        +                               Utf8Constant utf8Constant)
        +
      • +
      + + + +
        +
      • +

        visitDynamicConstant

        +
        default void visitDynamicConstant​(Clazz clazz,
        +                                  DynamicConstant dynamicConstant)
        +
      • +
      + + + +
        +
      • +

        visitInvokeDynamicConstant

        +
        default void visitInvokeDynamicConstant​(Clazz clazz,
        +                                        InvokeDynamicConstant invokeDynamicConstant)
        +
      • +
      + + + +
        +
      • +

        visitMethodHandleConstant

        +
        default void visitMethodHandleConstant​(Clazz clazz,
        +                                       MethodHandleConstant methodHandleConstant)
        +
      • +
      + + + +
        +
      • +

        visitModuleConstant

        +
        default void visitModuleConstant​(Clazz clazz,
        +                                 ModuleConstant moduleConstant)
        +
      • +
      + + + +
        +
      • +

        visitPackageConstant

        +
        default void visitPackageConstant​(Clazz clazz,
        +                                  PackageConstant packageConstant)
        +
      • +
      + + + +
        +
      • +

        visitAnyRefConstant

        +
        default void visitAnyRefConstant​(Clazz clazz,
        +                                 RefConstant refConstant)
        +
        Visits any RefConstant instance. The more specific default implementations of this interface + delegate to this method.
        +
      • +
      + + + +
        +
      • +

        visitFieldrefConstant

        +
        default void visitFieldrefConstant​(Clazz clazz,
        +                                   FieldrefConstant fieldrefConstant)
        +
      • +
      + + + +
        +
      • +

        visitAnyMethodrefConstant

        +
        default void visitAnyMethodrefConstant​(Clazz clazz,
        +                                       AnyMethodrefConstant anyMethodrefConstant)
        +
        Visits any RefConstant instance. The more specific default implementations of this interface + delegate to this method.
        +
      • +
      + + + +
        +
      • +

        visitInterfaceMethodrefConstant

        +
        default void visitInterfaceMethodrefConstant​(Clazz clazz,
        +                                             InterfaceMethodrefConstant interfaceMethodrefConstant)
        +
      • +
      + + + +
        +
      • +

        visitMethodrefConstant

        +
        default void visitMethodrefConstant​(Clazz clazz,
        +                                    MethodrefConstant methodrefConstant)
        +
      • +
      + + + +
        +
      • +

        visitClassConstant

        +
        default void visitClassConstant​(Clazz clazz,
        +                                ClassConstant classConstant)
        +
      • +
      + + + +
        +
      • +

        visitMethodTypeConstant

        +
        default void visitMethodTypeConstant​(Clazz clazz,
        +                                     MethodTypeConstant methodTypeConstant)
        +
      • +
      + + + +
        +
      • +

        visitNameAndTypeConstant

        +
        default void visitNameAndTypeConstant​(Clazz clazz,
        +                                      NameAndTypeConstant nameAndTypeConstant)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/constant/visitor/ExceptClassConstantFilter.html b/api/proguard/classfile/constant/visitor/ExceptClassConstantFilter.html new file mode 100644 index 000000000..39ecf912c --- /dev/null +++ b/api/proguard/classfile/constant/visitor/ExceptClassConstantFilter.html @@ -0,0 +1,333 @@ + + + + + +ExceptClassConstantFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptClassConstantFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.constant.visitor.ExceptClassConstantFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptClassConstantFilter

        +
        public ExceptClassConstantFilter​(java.lang.String exceptClassName,
        +                                 ConstantVisitor constantVisitor)
        +
        Creates a new ExceptClassConstantFilter.
        +
        +
        Parameters:
        +
        exceptClassName - the name of the class that will not be visited.
        +
        constantVisitor - the ConstantVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/visitor/MethodrefTraveler.html b/api/proguard/classfile/constant/visitor/MethodrefTraveler.html new file mode 100644 index 000000000..8a2820631 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/MethodrefTraveler.html @@ -0,0 +1,352 @@ + + + + + +MethodrefTraveler (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodrefTraveler

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.constant.visitor.MethodrefTraveler
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor
    +
    +
    +
    public class MethodrefTraveler
    +extends java.lang.Object
    +implements ConstantVisitor
    +
    This ConstantVisitor travels from any method handle constants that it visits to their + methodref constants, and applies a given constant visitor.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodrefTraveler

        +
        public MethodrefTraveler​(ConstantVisitor methodrefConstantVisitor)
        +
        Creates a new v that will delegate to the given constant visitor.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/visitor/PrimitiveArrayConstantElementVisitor.html b/api/proguard/classfile/constant/visitor/PrimitiveArrayConstantElementVisitor.html new file mode 100644 index 000000000..1a847a8e8 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/PrimitiveArrayConstantElementVisitor.html @@ -0,0 +1,421 @@ + + + + + +PrimitiveArrayConstantElementVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface PrimitiveArrayConstantElementVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyPrimitiveArrayConstantElement

        +
        default void visitAnyPrimitiveArrayConstantElement​(Clazz clazz,
        +                                                   PrimitiveArrayConstant primitiveArrayConstant,
        +                                                   int index)
        +
        Visits any PrimitiveArrayConstant instance. The more specific default implementations of this + interface delegate to this method.
        +
      • +
      + + + +
        +
      • +

        visitBooleanArrayConstantElement

        +
        default void visitBooleanArrayConstantElement​(Clazz clazz,
        +                                              PrimitiveArrayConstant primitiveArrayConstant,
        +                                              int index,
        +                                              boolean value)
        +
      • +
      + + + +
        +
      • +

        visitByteArrayConstantElement

        +
        default void visitByteArrayConstantElement​(Clazz clazz,
        +                                           PrimitiveArrayConstant primitiveArrayConstant,
        +                                           int index,
        +                                           byte value)
        +
      • +
      + + + +
        +
      • +

        visitCharArrayConstantElement

        +
        default void visitCharArrayConstantElement​(Clazz clazz,
        +                                           PrimitiveArrayConstant primitiveArrayConstant,
        +                                           int index,
        +                                           char value)
        +
      • +
      + + + +
        +
      • +

        visitShortArrayConstantElement

        +
        default void visitShortArrayConstantElement​(Clazz clazz,
        +                                            PrimitiveArrayConstant primitiveArrayConstant,
        +                                            int index,
        +                                            short value)
        +
      • +
      + + + +
        +
      • +

        visitIntArrayConstantElement

        +
        default void visitIntArrayConstantElement​(Clazz clazz,
        +                                          PrimitiveArrayConstant primitiveArrayConstant,
        +                                          int index,
        +                                          int value)
        +
      • +
      + + + +
        +
      • +

        visitFloatArrayConstantElement

        +
        default void visitFloatArrayConstantElement​(Clazz clazz,
        +                                            PrimitiveArrayConstant primitiveArrayConstant,
        +                                            int index,
        +                                            float value)
        +
      • +
      + + + +
        +
      • +

        visitLongArrayConstantElement

        +
        default void visitLongArrayConstantElement​(Clazz clazz,
        +                                           PrimitiveArrayConstant primitiveArrayConstant,
        +                                           int index,
        +                                           long value)
        +
      • +
      + + + +
        +
      • +

        visitDoubleArrayConstantElement

        +
        default void visitDoubleArrayConstantElement​(Clazz clazz,
        +                                             PrimitiveArrayConstant primitiveArrayConstant,
        +                                             int index,
        +                                             double value)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/constant/visitor/PrimitiveArrayConstantVisitor.html b/api/proguard/classfile/constant/visitor/PrimitiveArrayConstantVisitor.html new file mode 100644 index 000000000..5daa4b9c1 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/PrimitiveArrayConstantVisitor.html @@ -0,0 +1,402 @@ + + + + + +PrimitiveArrayConstantVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface PrimitiveArrayConstantVisitor

+
+
+
+
    +
  • +
    +
    public interface PrimitiveArrayConstantVisitor
    +
    This interface specifies the methods for a visitor of PrimitiveArrayConstant instances + containing different types of arrays.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyPrimitiveArrayConstant

        +
        default void visitAnyPrimitiveArrayConstant​(Clazz clazz,
        +                                            PrimitiveArrayConstant primitiveArrayConstant,
        +                                            java.lang.Object values)
        +
        Visits any Object instance. The more specific default implementations of this interface + delegate to this method.
        +
      • +
      + + + +
        +
      • +

        visitBooleanArrayConstant

        +
        default void visitBooleanArrayConstant​(Clazz clazz,
        +                                       PrimitiveArrayConstant primitiveArrayConstant,
        +                                       boolean[] values)
        +
      • +
      + + + +
        +
      • +

        visitByteArrayConstant

        +
        default void visitByteArrayConstant​(Clazz clazz,
        +                                    PrimitiveArrayConstant primitiveArrayConstant,
        +                                    byte[] values)
        +
      • +
      + + + +
        +
      • +

        visitCharArrayConstant

        +
        default void visitCharArrayConstant​(Clazz clazz,
        +                                    PrimitiveArrayConstant primitiveArrayConstant,
        +                                    char[] values)
        +
      • +
      + + + +
        +
      • +

        visitShortArrayConstant

        +
        default void visitShortArrayConstant​(Clazz clazz,
        +                                     PrimitiveArrayConstant primitiveArrayConstant,
        +                                     short[] values)
        +
      • +
      + + + +
        +
      • +

        visitIntArrayConstant

        +
        default void visitIntArrayConstant​(Clazz clazz,
        +                                   PrimitiveArrayConstant primitiveArrayConstant,
        +                                   int[] values)
        +
      • +
      + + + +
        +
      • +

        visitFloatArrayConstant

        +
        default void visitFloatArrayConstant​(Clazz clazz,
        +                                     PrimitiveArrayConstant primitiveArrayConstant,
        +                                     float[] values)
        +
      • +
      + + + +
        +
      • +

        visitLongArrayConstant

        +
        default void visitLongArrayConstant​(Clazz clazz,
        +                                    PrimitiveArrayConstant primitiveArrayConstant,
        +                                    long[] values)
        +
      • +
      + + + +
        +
      • +

        visitDoubleArrayConstant

        +
        default void visitDoubleArrayConstant​(Clazz clazz,
        +                                      PrimitiveArrayConstant primitiveArrayConstant,
        +                                      double[] values)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/constant/visitor/SuperClassConstantVisitor.html b/api/proguard/classfile/constant/visitor/SuperClassConstantVisitor.html new file mode 100644 index 000000000..6373c8701 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/SuperClassConstantVisitor.html @@ -0,0 +1,352 @@ + + + + + +SuperClassConstantVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SuperClassConstantVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.constant.visitor.SuperClassConstantVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class SuperClassConstantVisitor
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor lets a given ConstantVisitor visit all the constant pool + entries of the super class and interfaces of the program classes it visits.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SuperClassConstantVisitor

        +
        public SuperClassConstantVisitor​(boolean visitSuperClassConstants,
        +                                 boolean visitInterfaceConstants,
        +                                 ConstantVisitor constantVisitor)
        +
        Creates a new SuperClassConstantVisitor.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/constant/visitor/package-summary.html b/api/proguard/classfile/constant/visitor/package-summary.html new file mode 100644 index 000000000..67d02670d --- /dev/null +++ b/api/proguard/classfile/constant/visitor/package-summary.html @@ -0,0 +1,251 @@ + + + + + +proguard.classfile.constant.visitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.constant.visitor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/constant/visitor/package-tree.html b/api/proguard/classfile/constant/visitor/package-tree.html new file mode 100644 index 000000000..d8f2dd7f4 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/package-tree.html @@ -0,0 +1,177 @@ + + + + + +proguard.classfile.constant.visitor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.constant.visitor

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/editor/AccessFixer.html b/api/proguard/classfile/editor/AccessFixer.html new file mode 100644 index 000000000..e5e369313 --- /dev/null +++ b/api/proguard/classfile/editor/AccessFixer.html @@ -0,0 +1,345 @@ + + + + + +AccessFixer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AccessFixer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.AccessFixer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class AccessFixer
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor fixes the access modifiers of all classes and class members that are + referenced by the classes that it visits.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AccessFixer

        +
        public AccessFixer()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/AnnotationAdder.html b/api/proguard/classfile/editor/AnnotationAdder.html new file mode 100644 index 000000000..5e03b4152 --- /dev/null +++ b/api/proguard/classfile/editor/AnnotationAdder.html @@ -0,0 +1,400 @@ + + + + + +AnnotationAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AnnotationAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.AnnotationAdder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AnnotationVisitor
    +
    +
    +
    public class AnnotationAdder
    +extends java.lang.Object
    +implements AnnotationVisitor
    +
    This AnnotationVisitor adds all annotations that it visits to the given target annotation + element value, target annotation attribute, or target parameter annotation attribute.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AnnotationAdder

        +
        public AnnotationAdder​(ProgramClass targetClass,
        +                       AnnotationElementValue targetAnnotationElementValue)
        +
        Creates a new AnnotationAdder that will copy annotations into the given target annotation + element value.
        +
      • +
      + + + +
        +
      • +

        AnnotationAdder

        +
        public AnnotationAdder​(ProgramClass targetClass,
        +                       AnnotationsAttribute targetAnnotationsAttribute)
        +
        Creates a new AnnotationAdder that will copy annotations into the given target annotations + attribute.
        +
      • +
      + + + +
        +
      • +

        AnnotationAdder

        +
        public AnnotationAdder​(ProgramClass targetClass,
        +                       ParameterAnnotationsAttribute targetParameterAnnotationsAttribute)
        +
        Creates a new AnnotationAdder that will copy annotations into the given target parameter + annotations attribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/AnnotationsAttributeEditor.html b/api/proguard/classfile/editor/AnnotationsAttributeEditor.html new file mode 100644 index 000000000..0af92f83a --- /dev/null +++ b/api/proguard/classfile/editor/AnnotationsAttributeEditor.html @@ -0,0 +1,348 @@ + + + + + +AnnotationsAttributeEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AnnotationsAttributeEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.AnnotationsAttributeEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class AnnotationsAttributeEditor
    +extends java.lang.Object
    +
    This class can add annotations to a given annotations attribute. Annotations to be added must + have been filled out beforehand.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      AnnotationsAttributeEditor​(AnnotationsAttribute targetAnnotationsAttribute) +
      Creates a new AnnotationsAttributeEditor that will edit annotations in the given annotations + attribute.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddAnnotation​(Annotation annotation) +
      Adds a given annotation to the annotations attribute.
      +
      voiddeleteAnnotation​(int index) +
      Deletes the annotation at the given idnex from the annotations attribute.
      +
      voiddeleteAnnotation​(Annotation annotation) +
      Deletes a given annotation from the annotations attribute.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AnnotationsAttributeEditor

        +
        public AnnotationsAttributeEditor​(AnnotationsAttribute targetAnnotationsAttribute)
        +
        Creates a new AnnotationsAttributeEditor that will edit annotations in the given annotations + attribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addAnnotation

        +
        public void addAnnotation​(Annotation annotation)
        +
        Adds a given annotation to the annotations attribute.
        +
      • +
      + + + +
        +
      • +

        deleteAnnotation

        +
        public void deleteAnnotation​(Annotation annotation)
        +
        Deletes a given annotation from the annotations attribute.
        +
      • +
      + + + +
        +
      • +

        deleteAnnotation

        +
        public void deleteAnnotation​(int index)
        +
        Deletes the annotation at the given idnex from the annotations attribute.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/AttributeAdder.html b/api/proguard/classfile/editor/AttributeAdder.html new file mode 100644 index 000000000..830874e79 --- /dev/null +++ b/api/proguard/classfile/editor/AttributeAdder.html @@ -0,0 +1,945 @@ + + + + + +AttributeAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AttributeAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.AttributeAdder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class AttributeAdder
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor adds all attributes that it visits to the given target class, class + member, or attribute.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/AttributeSorter.html b/api/proguard/classfile/editor/AttributeSorter.html new file mode 100644 index 000000000..1eeecfe11 --- /dev/null +++ b/api/proguard/classfile/editor/AttributeSorter.html @@ -0,0 +1,453 @@ + + + + + +AttributeSorter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AttributeSorter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.AttributeSorter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AttributeSorter

        +
        public AttributeSorter()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/AttributesEditor.html b/api/proguard/classfile/editor/AttributesEditor.html new file mode 100644 index 000000000..f952fc493 --- /dev/null +++ b/api/proguard/classfile/editor/AttributesEditor.html @@ -0,0 +1,391 @@ + + + + + +AttributesEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AttributesEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.AttributesEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class AttributesEditor
    +extends java.lang.Object
    +
    This class can add and delete attributes to and from classes, fields, methods, and code + attributes. Attributes to be added must be filled out beforehand, including their references to + the constant pool. Existing attributes of the same type are always replaced.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      AttributesEditor​(ProgramClass targetClass, + boolean replaceAttributes) +
      Creates a new AttributeAdder that will edit attributes in the given target class.
      +
      AttributesEditor​(ProgramClass targetClass, + ProgramMember targetMember, + boolean replaceAttributes) +
      Creates a new AttributeAdder that will edit attributes in the given target class member.
      +
      AttributesEditor​(ProgramClass targetClass, + ProgramMember targetMember, + CodeAttribute targetAttribute, + boolean replaceAttributes) +
      Creates a new AttributeAdder that will edit attributes in the given target code attribute.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddAttribute​(Attribute attribute) +
      Adds the given attribute to the target.
      +
      voiddeleteAttribute​(java.lang.String attributeName) +
      Deletes the specified attribute from the target.
      +
      AttributefindAttribute​(java.lang.String attributeName) +
      Finds the specified attribute in the target.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AttributesEditor

        +
        public AttributesEditor​(ProgramClass targetClass,
        +                        boolean replaceAttributes)
        +
        Creates a new AttributeAdder that will edit attributes in the given target class.
        +
      • +
      + + + +
        +
      • +

        AttributesEditor

        +
        public AttributesEditor​(ProgramClass targetClass,
        +                        ProgramMember targetMember,
        +                        boolean replaceAttributes)
        +
        Creates a new AttributeAdder that will edit attributes in the given target class member.
        +
      • +
      + + + +
        +
      • +

        AttributesEditor

        +
        public AttributesEditor​(ProgramClass targetClass,
        +                        ProgramMember targetMember,
        +                        CodeAttribute targetAttribute,
        +                        boolean replaceAttributes)
        +
        Creates a new AttributeAdder that will edit attributes in the given target code attribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        findAttribute

        +
        public Attribute findAttribute​(java.lang.String attributeName)
        +
        Finds the specified attribute in the target.
        +
      • +
      + + + +
        +
      • +

        addAttribute

        +
        public void addAttribute​(Attribute attribute)
        +
        Adds the given attribute to the target.
        +
      • +
      + + + +
        +
      • +

        deleteAttribute

        +
        public void deleteAttribute​(java.lang.String attributeName)
        +
        Deletes the specified attribute from the target.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/BootstrapMethodInfoAdder.html b/api/proguard/classfile/editor/BootstrapMethodInfoAdder.html new file mode 100644 index 000000000..6276bcedf --- /dev/null +++ b/api/proguard/classfile/editor/BootstrapMethodInfoAdder.html @@ -0,0 +1,341 @@ + + + + + +BootstrapMethodInfoAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BootstrapMethodInfoAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.BootstrapMethodInfoAdder
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BootstrapMethodInfoAdder

        +
        public BootstrapMethodInfoAdder​(ProgramClass targetClass,
        +                                BootstrapMethodsAttribute targetBootstrapMethodsAttribute)
        +
        Creates a new BootstrapMethodInfoAdder that will copy bootstrap methods into the given + bootstrap methods attribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/BootstrapMethodRemapper.html b/api/proguard/classfile/editor/BootstrapMethodRemapper.html new file mode 100644 index 000000000..d4f6a4a7b --- /dev/null +++ b/api/proguard/classfile/editor/BootstrapMethodRemapper.html @@ -0,0 +1,399 @@ + + + + + +BootstrapMethodRemapper (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BootstrapMethodRemapper

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.BootstrapMethodRemapper
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor
    +
    +
    +
    public class BootstrapMethodRemapper
    +extends java.lang.Object
    +implements ConstantVisitor
    +
    This ConstantVisitor remaps all possible indices of bootstrap methods of the constants + that it visits, based on a given index map.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BootstrapMethodRemapper

        +
        public BootstrapMethodRemapper()
        +
      • +
      + + + +
        +
      • +

        BootstrapMethodRemapper

        +
        public BootstrapMethodRemapper​(boolean ignoreDanglingConstants)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/BootstrapMethodsAttributeAdder.html b/api/proguard/classfile/editor/BootstrapMethodsAttributeAdder.html new file mode 100644 index 000000000..8869991e2 --- /dev/null +++ b/api/proguard/classfile/editor/BootstrapMethodsAttributeAdder.html @@ -0,0 +1,339 @@ + + + + + +BootstrapMethodsAttributeAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BootstrapMethodsAttributeAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.BootstrapMethodsAttributeAdder
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BootstrapMethodsAttributeAdder

        +
        public BootstrapMethodsAttributeAdder​(ProgramClass targetClass)
        +
        Creates a new BootstrapMethodsAttributeAdder that will copy bootstrap methods into the given + target class/
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/BootstrapMethodsAttributeEditor.html b/api/proguard/classfile/editor/BootstrapMethodsAttributeEditor.html new file mode 100644 index 000000000..c47752468 --- /dev/null +++ b/api/proguard/classfile/editor/BootstrapMethodsAttributeEditor.html @@ -0,0 +1,335 @@ + + + + + +BootstrapMethodsAttributeEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BootstrapMethodsAttributeEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.BootstrapMethodsAttributeEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class BootstrapMethodsAttributeEditor
    +extends java.lang.Object
    +
    This class can add/remove bootstrap methods to/from a given bootstrap methods attribute. + Bootstrap methods to be added must have been filled out beforehand.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BootstrapMethodsAttributeEditor

        +
        public BootstrapMethodsAttributeEditor​(BootstrapMethodsAttribute targetBootstrapMethodsAttribute)
        +
        Creates a new BootstrapMethodsAttributeEditor that will edit bootstrap methods in the given + bootstrap methods attribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addBootstrapMethodInfo

        +
        public int addBootstrapMethodInfo​(BootstrapMethodInfo bootstrapMethodInfo)
        +
        Adds a given bootstrap method to the bootstrap methods attribute.
        +
        +
        Returns:
        +
        the index of the bootstrap method.
        +
        +
      • +
      + + + +
        +
      • +

        removeBootstrapMethodInfo

        +
        public void removeBootstrapMethodInfo​(BootstrapMethodInfo bootstrapMethodInfo)
        +
        Removes the given bootstrap method from the bootstrap method attribute.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/BootstrapMethodsAttributeShrinker.html b/api/proguard/classfile/editor/BootstrapMethodsAttributeShrinker.html new file mode 100644 index 000000000..32fb11f71 --- /dev/null +++ b/api/proguard/classfile/editor/BootstrapMethodsAttributeShrinker.html @@ -0,0 +1,534 @@ + + + + + +BootstrapMethodsAttributeShrinker (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BootstrapMethodsAttributeShrinker

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.BootstrapMethodsAttributeShrinker
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/BridgeMethodFixer.html b/api/proguard/classfile/editor/BridgeMethodFixer.html new file mode 100644 index 000000000..2c4f08914 --- /dev/null +++ b/api/proguard/classfile/editor/BridgeMethodFixer.html @@ -0,0 +1,476 @@ + + + + + +BridgeMethodFixer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BridgeMethodFixer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.BridgeMethodFixer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ClassBuilder.CodeBuilder.html b/api/proguard/classfile/editor/ClassBuilder.CodeBuilder.html new file mode 100644 index 000000000..cb0075c1e --- /dev/null +++ b/api/proguard/classfile/editor/ClassBuilder.CodeBuilder.html @@ -0,0 +1,253 @@ + + + + + +ClassBuilder.CodeBuilder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ClassBuilder.CodeBuilder

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    ClassBuilder
    +
    +
    +
    public static interface ClassBuilder.CodeBuilder
    +
    This functional interface provides a code attribute composer to its implementation.
    +
  • +
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/editor/ClassBuilder.html b/api/proguard/classfile/editor/ClassBuilder.html new file mode 100644 index 000000000..376706f65 --- /dev/null +++ b/api/proguard/classfile/editor/ClassBuilder.html @@ -0,0 +1,842 @@ + + + + + +ClassBuilder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassBuilder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ClassBuilder
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ClassBuilder
    +extends java.lang.Object
    +
    This editor allows to build or extend classes (ProgramClass instances). It provides methods to + easily add interfaces, fields, and methods, optionally with method bodies. + +

    If you're adding many fields and methods, it is more efficient to reuse a single instance of + this builder for all fields and methods that you add.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Nested Class Summary

      + + + + + + + + + + + + +
      Nested Classes 
      Modifier and TypeClassDescription
      static interface ClassBuilder.CodeBuilder +
      This functional interface provides a code attribute composer to its implementation.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassBuilder​(int u4version, + int u2accessFlags, + java.lang.String className, + java.lang.String superclassName) +
      Creates a new ClassBuilder for the Java class with the given name and super class.
      +
      ClassBuilder​(int u4version, + int u2accessFlags, + java.lang.String className, + java.lang.String superclassName, + java.lang.String featureName, + int processingFlags, + java.lang.Object processingInfo) +
      Creates a new ClassBuilder for the Java class with the given name and super class.
      +
      ClassBuilder​(ProgramClass programClass) +
      Creates a new ClassBuilder for the given class.
      +
      ClassBuilder​(ProgramClass programClass, + ClassPool programClassPool, + ClassPool libraryClassPool) +
      Creates a new ClassBuilder for the given class, that automatically initializes class references + and class member references in new constants.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      ProgramFieldaddAndReturnField​(int u2accessFlags, + java.lang.String fieldName, + java.lang.String fieldDescriptor) +
      Adds a new field to the edited class, and returns it.
      +
      ProgramMethodaddAndReturnMethod​(int u2accessFlags, + java.lang.String methodName, + java.lang.String methodDescriptor) +
      Adds a new method to the edited class, and returns it.
      +
      ProgramMethodaddAndReturnMethod​(int u2accessFlags, + java.lang.String methodName, + java.lang.String methodDescriptor, + int maxCodeFragmentLength, + ClassBuilder.CodeBuilder codeBuilder) +
      Adds a new method with a code attribute to the edited class, and returns it.
      +
      ClassBuilderaddField​(int u2accessFlags, + java.lang.String fieldName, + java.lang.String fieldDescriptor) +
      Adds a new field to the edited class.
      +
      ClassBuilderaddField​(int u2accessFlags, + java.lang.String fieldName, + java.lang.String fieldDescriptor, + MemberVisitor extraMemberVisitor) +
      Adds a new field to the edited class.
      +
      ClassBuilderaddInterface​(java.lang.String interfaceName) +
      Adds a new interface to the edited class.
      +
      ClassBuilderaddInterface​(java.lang.String interfaceName, + Clazz referencedInterface) +
      Adds a new interface to the edited class.
      +
      ClassBuilderaddInterface​(Clazz interfaceClass) +
      Adds a new interface to the edited class.
      +
      ClassBuilderaddMethod​(int u2accessFlags, + java.lang.String methodName, + java.lang.String methodDescriptor) +
      Adds a new method to the edited class.
      +
      ClassBuilderaddMethod​(int u2accessFlags, + java.lang.String methodName, + java.lang.String methodDescriptor, + int maxCodeFragmentLength, + ClassBuilder.CodeBuilder codeBuilder) +
      Adds a new method with a code attribute to the edited class.
      +
      ClassBuilderaddMethod​(int u2accessFlags, + java.lang.String methodName, + java.lang.String methodDescriptor, + int maxCodeFragmentLength, + ClassBuilder.CodeBuilder codeBuilder, + MemberVisitor extraMemberVisitor) +
      Adds a new method with a code attribute to the edited class.
      +
      ClassBuilderaddMethod​(int u2accessFlags, + java.lang.String methodName, + java.lang.String methodDescriptor, + MemberVisitor extraMemberVisitor) +
      Adds a new method to the edited class.
      +
      ConstantPoolEditorgetConstantPoolEditor() +
      Returns a ConstantPoolEditor instance for the created or edited class instance.
      +
      ProgramClassgetProgramClass() +
      Returns the created or edited ProgramClass instance.
      +
      static voidmain​(java.lang.String[] args) +
      Small sample application that illustrates the use of this class.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassBuilder

        +
        public ClassBuilder​(int u4version,
        +                    int u2accessFlags,
        +                    java.lang.String className,
        +                    java.lang.String superclassName)
        +
        Creates a new ClassBuilder for the Java class with the given name and super class.
        +
        +
        Parameters:
        +
        u4version - the class version.
        +
        u2accessFlags - access flags for the new class.
        +
        className - the fully qualified name of the new class.
        +
        superclassName - the fully qualified name of the super class.
        +
        See Also:
        +
        VersionConstants, +AccessConstants
        +
        +
      • +
      + + + +
        +
      • +

        ClassBuilder

        +
        public ClassBuilder​(int u4version,
        +                    int u2accessFlags,
        +                    java.lang.String className,
        +                    java.lang.String superclassName,
        +                    java.lang.String featureName,
        +                    int processingFlags,
        +                    java.lang.Object processingInfo)
        +
        Creates a new ClassBuilder for the Java class with the given name and super class.
        +
        +
        Parameters:
        +
        u4version - the class version.
        +
        u2accessFlags - access flags for the new class.
        +
        className - the fully qualified name of the new class.
        +
        superclassName - the fully qualified name of the super class.
        +
        featureName - an optional feature name for the new class.
        +
        processingFlags - optional processing flags for the new class.
        +
        processingInfo - optional processing info for the new class.
        +
        See Also:
        +
        VersionConstants, +AccessConstants
        +
        +
      • +
      + + + +
        +
      • +

        ClassBuilder

        +
        public ClassBuilder​(ProgramClass programClass)
        +
        Creates a new ClassBuilder for the given class.
        +
        +
        Parameters:
        +
        programClass - the class to be edited.
        +
        +
      • +
      + + + +
        +
      • +

        ClassBuilder

        +
        public ClassBuilder​(ProgramClass programClass,
        +                    ClassPool programClassPool,
        +                    ClassPool libraryClassPool)
        +
        Creates a new ClassBuilder for the given class, that automatically initializes class references + and class member references in new constants.
        +
        +
        Parameters:
        +
        programClass - the class to be edited.
        +
        programClassPool - the program class pool from which new constants can be initialized.
        +
        libraryClassPool - the library class pool from which new constants can be initialized.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getProgramClass

        +
        public ProgramClass getProgramClass()
        +
        Returns the created or edited ProgramClass instance. This is a live instance; any later calls + to the builder will still affect the instance.
        +
      • +
      + + + +
        +
      • +

        getConstantPoolEditor

        +
        public ConstantPoolEditor getConstantPoolEditor()
        +
        Returns a ConstantPoolEditor instance for the created or edited class instance. Reusing this + instance is more efficient for newly created classes.
        +
      • +
      + + + +
        +
      • +

        addInterface

        +
        public ClassBuilder addInterface​(Clazz interfaceClass)
        +
        Adds a new interface to the edited class.
        +
        +
        Parameters:
        +
        interfaceClass - the interface class.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addInterface

        +
        public ClassBuilder addInterface​(java.lang.String interfaceName)
        +
        Adds a new interface to the edited class.
        +
        +
        Parameters:
        +
        interfaceName - the name of the interface.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addInterface

        +
        public ClassBuilder addInterface​(java.lang.String interfaceName,
        +                                 Clazz referencedInterface)
        +
        Adds a new interface to the edited class.
        +
        +
        Parameters:
        +
        interfaceName - the name of the interface.
        +
        referencedInterface - the referenced interface.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addField

        +
        public ClassBuilder addField​(int u2accessFlags,
        +                             java.lang.String fieldName,
        +                             java.lang.String fieldDescriptor)
        +
        Adds a new field to the edited class.
        +
        +
        Parameters:
        +
        u2accessFlags - access flags for the new field.
        +
        fieldName - name of the new field.
        +
        fieldDescriptor - descriptor of the new field.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addField

        +
        public ClassBuilder addField​(int u2accessFlags,
        +                             java.lang.String fieldName,
        +                             java.lang.String fieldDescriptor,
        +                             MemberVisitor extraMemberVisitor)
        +
        Adds a new field to the edited class.
        +
        +
        Parameters:
        +
        u2accessFlags - access flags for the new field.
        +
        fieldName - name of the new field.
        +
        fieldDescriptor - descriptor of the new field.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addAndReturnField

        +
        public ProgramField addAndReturnField​(int u2accessFlags,
        +                                      java.lang.String fieldName,
        +                                      java.lang.String fieldDescriptor)
        +
        Adds a new field to the edited class, and returns it.
        +
        +
        Parameters:
        +
        u2accessFlags - access flags for the new field.
        +
        fieldName - name of the new field.
        +
        fieldDescriptor - descriptor of the new field.
        +
        Returns:
        +
        the newly created field.
        +
        +
      • +
      + + + +
        +
      • +

        addMethod

        +
        public ClassBuilder addMethod​(int u2accessFlags,
        +                              java.lang.String methodName,
        +                              java.lang.String methodDescriptor)
        +
        Adds a new method to the edited class.
        +
        +
        Parameters:
        +
        u2accessFlags - the access flags of the new method.
        +
        methodName - the name of the new method.
        +
        methodDescriptor - the descriptor of the new method.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addMethod

        +
        public ClassBuilder addMethod​(int u2accessFlags,
        +                              java.lang.String methodName,
        +                              java.lang.String methodDescriptor,
        +                              MemberVisitor extraMemberVisitor)
        +
        Adds a new method to the edited class.
        +
        +
        Parameters:
        +
        u2accessFlags - the access flags of the new method.
        +
        methodName - the name of the new method.
        +
        methodDescriptor - the descriptor of the new method.
        +
        extraMemberVisitor - an optional visitor for the method after it has been created and + added to the class.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addAndReturnMethod

        +
        public ProgramMethod addAndReturnMethod​(int u2accessFlags,
        +                                        java.lang.String methodName,
        +                                        java.lang.String methodDescriptor)
        +
        Adds a new method to the edited class, and returns it.
        +
        +
        Parameters:
        +
        u2accessFlags - the access flags of the new method.
        +
        methodName - the name of the new method.
        +
        methodDescriptor - the descriptor of the new method.
        +
        Returns:
        +
        the newly created method.
        +
        +
      • +
      + + + +
        +
      • +

        addMethod

        +
        public ClassBuilder addMethod​(int u2accessFlags,
        +                              java.lang.String methodName,
        +                              java.lang.String methodDescriptor,
        +                              int maxCodeFragmentLength,
        +                              ClassBuilder.CodeBuilder codeBuilder)
        +
        Adds a new method with a code attribute to the edited class.
        +
        +
        Parameters:
        +
        u2accessFlags - the access flags of the new method.
        +
        methodName - the name of the new method.
        +
        methodDescriptor - the descriptor of the new method.
        +
        maxCodeFragmentLength - the maximum length for the code fragment.
        +
        codeBuilder - the provider of a composer to create code attributes.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addMethod

        +
        public ClassBuilder addMethod​(int u2accessFlags,
        +                              java.lang.String methodName,
        +                              java.lang.String methodDescriptor,
        +                              int maxCodeFragmentLength,
        +                              ClassBuilder.CodeBuilder codeBuilder,
        +                              MemberVisitor extraMemberVisitor)
        +
        Adds a new method with a code attribute to the edited class.
        +
        +
        Parameters:
        +
        u2accessFlags - the access flags of the new method.
        +
        methodName - the name of the new method.
        +
        methodDescriptor - the descriptor of the new method.
        +
        maxCodeFragmentLength - the maximum length for the code fragment.
        +
        codeBuilder - the provider of a composer to create code attributes.
        +
        extraMemberVisitor - an optional visitor for the method after it has been created and + added to the class.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addAndReturnMethod

        +
        public ProgramMethod addAndReturnMethod​(int u2accessFlags,
        +                                        java.lang.String methodName,
        +                                        java.lang.String methodDescriptor,
        +                                        int maxCodeFragmentLength,
        +                                        ClassBuilder.CodeBuilder codeBuilder)
        +
        Adds a new method with a code attribute to the edited class, and returns it.
        +
        +
        Parameters:
        +
        u2accessFlags - the access flags of the new method.
        +
        methodName - the name of the new method.
        +
        methodDescriptor - the descriptor of the new method.
        +
        maxCodeFragmentLength - the maximum length for the code fragment.
        +
        codeBuilder - the provider of a composer to create code attributes.
        +
        Returns:
        +
        the newly created method.
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        Small sample application that illustrates the use of this class.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ClassEditor.html b/api/proguard/classfile/editor/ClassEditor.html new file mode 100644 index 000000000..8e89cbbbc --- /dev/null +++ b/api/proguard/classfile/editor/ClassEditor.html @@ -0,0 +1,399 @@ + + + + + +ClassEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ClassEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ClassEditor
    +extends java.lang.Object
    +
    This class can add interfaces and class members to a given class. Elements to be added must be + filled out beforehand, including their references to the constant pool.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassEditor​(ProgramClass targetClass) +
      Creates a new ClassEditor that will edit elements in the given target class.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddField​(Field field) +
      Adds the given field.
      +
      voidaddInterface​(int interfaceConstantIndex) +
      Adds the given interface.
      +
      voidaddMethod​(Method method) +
      Adds the given method.
      +
      voidremoveField​(Field field) +
      Removes the given field.
      +
      voidremoveInterface​(int interfaceConstantIndex) +
      Removes the given interface.
      +
      voidremoveMethod​(Method method) +
      Removes the given method.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassEditor

        +
        public ClassEditor​(ProgramClass targetClass)
        +
        Creates a new ClassEditor that will edit elements in the given target class.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addInterface

        +
        public void addInterface​(int interfaceConstantIndex)
        +
        Adds the given interface.
        +
      • +
      + + + +
        +
      • +

        removeInterface

        +
        public void removeInterface​(int interfaceConstantIndex)
        +
        Removes the given interface.
        +
      • +
      + + + +
        +
      • +

        addField

        +
        public void addField​(Field field)
        +
        Adds the given field.
        +
      • +
      + + + +
        +
      • +

        removeField

        +
        public void removeField​(Field field)
        +
        Removes the given field. Note that removing a field that is still being referenced can cause + unpredictable effects.
        +
      • +
      + + + +
        +
      • +

        addMethod

        +
        public void addMethod​(Method method)
        +
        Adds the given method.
        +
      • +
      + + + +
        +
      • +

        removeMethod

        +
        public void removeMethod​(Method method)
        +
        Removes the given method. Note that removing a method that is still being referenced can cause + unpredictable effects.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ClassElementSorter.html b/api/proguard/classfile/editor/ClassElementSorter.html new file mode 100644 index 000000000..106a9af38 --- /dev/null +++ b/api/proguard/classfile/editor/ClassElementSorter.html @@ -0,0 +1,367 @@ + + + + + +ClassElementSorter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassElementSorter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ClassElementSorter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ClassElementSorter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor sorts the various elements of the classes that it visits: interfaces, + constants, fields, methods, and attributes.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassElementSorter() +
      Creates a default `ClassElementSorter` that sorts interfaces, constants and attributes.
      +
      ClassElementSorter​(boolean sortInterfaces, + boolean sortConstants, + boolean sortMembers, + boolean sortAttributes) 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassElementSorter

        +
        public ClassElementSorter()
        +
        Creates a default `ClassElementSorter` that sorts interfaces, constants and attributes.
        +
      • +
      + + + +
        +
      • +

        ClassElementSorter

        +
        public ClassElementSorter​(boolean sortInterfaces,
        +                          boolean sortConstants,
        +                          boolean sortMembers,
        +                          boolean sortAttributes)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ClassEstimates.html b/api/proguard/classfile/editor/ClassEstimates.html new file mode 100644 index 000000000..8d83d7c3a --- /dev/null +++ b/api/proguard/classfile/editor/ClassEstimates.html @@ -0,0 +1,476 @@ + + + + + +ClassEstimates (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassEstimates

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ClassEstimates
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ClassEstimates
    +extends java.lang.Object
    +
    Typical sizes, counts, and lengths for elements in class files. These can be useful as initial + sizes when creating or editing them.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        TYPICAL_CONSTANT_POOL_SIZE

        +
        public static final int TYPICAL_CONSTANT_POOL_SIZE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPICAL_FIELD_COUNT

        +
        public static final int TYPICAL_FIELD_COUNT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPICAL_METHOD_COUNT

        +
        public static final int TYPICAL_METHOD_COUNT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPICAL_PARAMETER_COUNT

        +
        public static final int TYPICAL_PARAMETER_COUNT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPICAL_CODE_LENGTH

        +
        public static final int TYPICAL_CODE_LENGTH
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPICAL_LINE_NUMBER_TABLE_LENGTH

        +
        public static final int TYPICAL_LINE_NUMBER_TABLE_LENGTH
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPICAL_EXCEPTION_TABLE_LENGTH

        +
        public static final int TYPICAL_EXCEPTION_TABLE_LENGTH
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPICAL_VARIABLES_SIZE

        +
        public static final int TYPICAL_VARIABLES_SIZE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPICAL_STACK_SIZE

        +
        public static final int TYPICAL_STACK_SIZE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPICAL_BOOTSTRAP_METHODS_ATTRIBUTE_SIZE

        +
        public static final int TYPICAL_BOOTSTRAP_METHODS_ATTRIBUTE_SIZE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassEstimates

        +
        public ClassEstimates()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ClassMemberSorter.html b/api/proguard/classfile/editor/ClassMemberSorter.html new file mode 100644 index 000000000..115d34252 --- /dev/null +++ b/api/proguard/classfile/editor/ClassMemberSorter.html @@ -0,0 +1,372 @@ + + + + + +ClassMemberSorter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassMemberSorter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ClassMemberSorter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.util.Comparator, ClassVisitor
    +
    +
    +
    public class ClassMemberSorter
    +extends java.lang.Object
    +implements ClassVisitor, java.util.Comparator
    +
    This ClassVisitor sorts the class members of the classes that it visits. The sorting + order is based on the access flags, the names, and the descriptors.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassMemberSorter() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      intcompare​(java.lang.Object object1, + java.lang.Object object2) 
      voidvisitAnyClass​(Clazz clazz) +
      Visits any Clazz instance.
      +
      voidvisitProgramClass​(ProgramClass programClass) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      + +
        +
      • + + +

        Methods inherited from interface java.util.Comparator

        +equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassMemberSorter

        +
        public ClassMemberSorter()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + + + + +
        +
      • +

        compare

        +
        public int compare​(java.lang.Object object1,
        +                   java.lang.Object object2)
        +
        +
        Specified by:
        +
        compare in interface java.util.Comparator
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ClassReferenceFixer.NameGenerationStrategy.html b/api/proguard/classfile/editor/ClassReferenceFixer.NameGenerationStrategy.html new file mode 100644 index 000000000..9822d2a3e --- /dev/null +++ b/api/proguard/classfile/editor/ClassReferenceFixer.NameGenerationStrategy.html @@ -0,0 +1,272 @@ + + + + + +ClassReferenceFixer.NameGenerationStrategy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ClassReferenceFixer.NameGenerationStrategy

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    ClassReferenceFixer
    +
    +
    +
    public static interface ClassReferenceFixer.NameGenerationStrategy
    +
    This interface provides an abstraction on how a Member should be renamed when its + descriptor need to be updated.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      java.lang.StringgetNewName​(ProgramClass programClass, + ProgramMember programMember, + java.lang.String originalName, + java.lang.String originalDescriptor) +
      A method for generating a new name for a program member.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getNewName

        +
        java.lang.String getNewName​(ProgramClass programClass,
        +                            ProgramMember programMember,
        +                            java.lang.String originalName,
        +                            java.lang.String originalDescriptor)
        +
        A method for generating a new name for a program member.
        +
        +
        Parameters:
        +
        programClass - The program class that the ClassReferenceFixer is visiting.
        +
        programMember - The program member that the ClassReferenceFixer is visiting.
        +
        originalName - The original name of the program member.
        +
        originalDescriptor - The original descriptor of the program member.
        +
        Returns:
        +
        The new name of the program member.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/editor/ClassReferenceFixer.html b/api/proguard/classfile/editor/ClassReferenceFixer.html new file mode 100644 index 000000000..91572d92d --- /dev/null +++ b/api/proguard/classfile/editor/ClassReferenceFixer.html @@ -0,0 +1,1150 @@ + + + + + +ClassReferenceFixer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassReferenceFixer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ClassReferenceFixer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/CodeAttributeComposer.html b/api/proguard/classfile/editor/CodeAttributeComposer.html new file mode 100644 index 000000000..9308d9dbd --- /dev/null +++ b/api/proguard/classfile/editor/CodeAttributeComposer.html @@ -0,0 +1,1566 @@ + + + + + +CodeAttributeComposer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CodeAttributeComposer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.CodeAttributeComposer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    LocalVariableTargetElementVisitor, TargetInfoVisitor, TypeAnnotationVisitor, StackMapFrameVisitor, VerificationTypeVisitor, AttributeVisitor, ExceptionInfoVisitor, LineNumberInfoVisitor, LocalVariableInfoVisitor, LocalVariableTypeInfoVisitor, InstructionVisitor
    +
    +
    +
    public class CodeAttributeComposer
    +extends java.lang.Object
    +implements AttributeVisitor, InstructionVisitor, ExceptionInfoVisitor, StackMapFrameVisitor, VerificationTypeVisitor, LineNumberInfoVisitor, LocalVariableInfoVisitor, LocalVariableTypeInfoVisitor, TypeAnnotationVisitor, TargetInfoVisitor, LocalVariableTargetElementVisitor
    +
    This AttributeVisitor accumulates instructions, exceptions and line numbers, and then + adds them to a method or copies them into code attributes that it visits. + +

    The class supports composing instructions (appendInstruction(Instruction)), labels + (appendLabel(int)), exception handlers (appendException(ExceptionInfo)), and + line numbers (appendLineNumber(LineNumberInfo)). + +

    The labels are numeric labels that you can choose freely, for example instruction offsets from + existing code that you are copying. You can then refer to them in branches and exception + handlers. You can compose the code as a hierarchy of code fragments with their own local labels. + +

    You should provide an estimated maximum size (expressed in number of bytes in the bytecode), + so the implementation can efficiently allocate the necessary internal buffers without + reallocating them as the code grows. + +

    For example: + +

    +     ProgramClass  programClass  = ...
    +     ProgramMethod programMethod = ...
    +
    +     // Create any constants for the code.
    +     ConstantPoolEditor constantPoolEditor =
    +         new ConstantPoolEditor(programClass);
    +
    +     int exceptionType =
    +         constantPoolEditor.addClassConstant("java/lang/Exception", null);
    +
    +     // Compose the code.
    +     CodeAttributeComposer composer =
    +         new CodeAttributeComposer();
    +
    +     final int TRY_LABEL   =  0;
    +     final int IF_LABEL    =  1;
    +     final int THEN_LABEL  = 10;
    +     final int ELSE_LABEL  = 20;
    +     final int CATCH_LABEL = 30;
    +
    +     composer.beginCodeFragment(50);
    +     composer.appendLabel(TRY_LABEL);
    +     composer.appendInstruction(new SimpleInstruction(Instruction.OP_ICONST_1));
    +     composer.appendInstruction(new SimpleInstruction(Instruction.OP_ICONST_2));
    +     composer.appendLabel(IF_LABEL);
    +     composer.appendInstruction(new BranchInstruction(Instruction.OP_IFICMPLT, ELSE_LABEL - IF_LABEL));
    +
    +     composer.appendLabel(THEN_LABEL);
    +     composer.appendInstruction(new SimpleInstruction(Instruction.OP_ICONST_1));
    +     composer.appendInstruction(new SimpleInstruction(Instruction.OP_IRETURN));
    +
    +     composer.appendLabel(ELSE_LABEL);
    +     composer.appendInstruction(new SimpleInstruction(Instruction.OP_ICONST_2));
    +     composer.appendInstruction(new SimpleInstruction(Instruction.OP_IRETURN));
    +
    +     composer.appendLabel(CATCH_LABEL);
    +     composer.appendException(new ExceptionInfo(TRY_LABEL, CATCH_LABEL, CATCH_LABEL, exceptionType));
    +     composer.appendInstruction(new SimpleInstruction(Instruction.OP_ICONST_M1));
    +     composer.appendInstruction(new SimpleInstruction(Instruction.OP_IRETURN));
    +     composer.endCodeFragment();
    +
    +      // Add the code as a code attribute to the given method.
    +      composer.addCodeAttribute(programClass, programMethod, constantPoolEditor);
    + 
    + +

    This class is mostly convenient to compose code based on existing code, where the instructions + are already available. For a more compact and readable alternative to compose code + programmatically from scratch, see CompactCodeAttributeComposer. + +

    If you're building many method bodies, it is more efficient to reuse a single instance of this + composer for all methods that you add.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CodeAttributeComposer

        +
        public CodeAttributeComposer()
        +
        Creates a new CodeAttributeComposer that doesn't allow external branch targets or exception + offsets and that automatically shrinks instructions.
        +
      • +
      + + + +
        +
      • +

        CodeAttributeComposer

        +
        public CodeAttributeComposer​(boolean allowExternalBranchTargets,
        +                             boolean allowExternalExceptionOffsets,
        +                             boolean shrinkInstructions)
        +
        Creates a new CodeAttributeComposer.
        +
        +
        Parameters:
        +
        allowExternalBranchTargets - specifies whether branch targets can lie outside the code + fragment of the branch instructions.
        +
        allowExternalExceptionOffsets - specifies whether exception offsets can lie outside the + code fragment in which exceptions are defined.
        +
        shrinkInstructions - specifies whether instructions should automatically be shrunk before + being written.
        +
        +
      • +
      + + + +
        +
      • +

        CodeAttributeComposer

        +
        public CodeAttributeComposer​(boolean allowExternalBranchTargets,
        +                             boolean allowExternalExceptionOffsets,
        +                             boolean shrinkInstructions,
        +                             boolean absoluteBranchOffsets)
        +
        Creates a new CodeAttributeComposer.
        +
        +
        Parameters:
        +
        allowExternalBranchTargets - specifies whether branch targets can lie outside the code + fragment of the branch instructions.
        +
        allowExternalExceptionOffsets - specifies whether exception offsets can lie outside the + code fragment in which exceptions are defined.
        +
        shrinkInstructions - specifies whether instructions should automatically be shrunk before + being written.
        +
        absoluteBranchOffsets - specifies whether offsets of appended branch instructions and + switch instructions are absolute, that is, relative to the start of the code, instead of + relative to the instructions. This may simplify creating code manually, assuming the + offsets don't overflow.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/CodeAttributeEditor.Label.html b/api/proguard/classfile/editor/CodeAttributeEditor.Label.html new file mode 100644 index 000000000..681048ad0 --- /dev/null +++ b/api/proguard/classfile/editor/CodeAttributeEditor.Label.html @@ -0,0 +1,585 @@ + + + + + +CodeAttributeEditor.Label (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CodeAttributeEditor.Label

+
+
+ +
+
    +
  • +
    +
    Enclosing class:
    +
    CodeAttributeEditor
    +
    +
    +
    public static class CodeAttributeEditor.Label
    +extends Instruction
    +
    This pseudo-instruction represents a label that marks an instruction offset, for use in the + context of the code attribute editor only.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        identifier

        +
        protected final int identifier
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Label

        +
        public Label​(int identifier)
        +
        Creates a new Label.
        +
        +
        Parameters:
        +
        identifier - an identifier that can be chosen freely.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        offset

        +
        public int offset()
        +
        Returns the offset that can then be used as a branch target in other replacement + instructions.
        +
      • +
      + + + +
        +
      • +

        shrink

        +
        public Instruction shrink()
        +
        Description copied from class: Instruction
        +
        Shrinks this instruction to its shortest possible form.
        +
        +
        Specified by:
        +
        shrink in class Instruction
        +
        Returns:
        +
        this instruction.
        +
        +
      • +
      + + + +
        +
      • +

        write

        +
        public void write​(byte[] code,
        +                  int offset)
        +
        Description copied from class: Instruction
        +
        Writes the Instruction at the given offset in the given code array.
        +
        +
        Overrides:
        +
        write in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        readInfo

        +
        protected void readInfo​(byte[] code,
        +                        int offset)
        +
        Description copied from class: Instruction
        +
        Reads the data following the instruction opcode.
        +
        +
        Specified by:
        +
        readInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        writeInfo

        +
        protected void writeInfo​(byte[] code,
        +                         int offset)
        +
        Description copied from class: Instruction
        +
        Writes data following the instruction opcode.
        +
        +
        Specified by:
        +
        writeInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        length

        +
        public int length​(int offset)
        +
        Description copied from class: Instruction
        +
        Returns the length in bytes of the instruction.
        +
        +
        Specified by:
        +
        length in class Instruction
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Specified by:
        +
        equals in class Instruction
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/CodeAttributeEditor.html b/api/proguard/classfile/editor/CodeAttributeEditor.html new file mode 100644 index 000000000..354095949 --- /dev/null +++ b/api/proguard/classfile/editor/CodeAttributeEditor.html @@ -0,0 +1,1810 @@ + + + + + +CodeAttributeEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CodeAttributeEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.CodeAttributeEditor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        preOffsetInsertions

        +
        public Instruction[] preOffsetInsertions
        +
      • +
      + + + +
        +
      • +

        preInsertions

        +
        public Instruction[] preInsertions
        +
      • +
      + + + +
        +
      • +

        replacements

        +
        public Instruction[] replacements
        +
      • +
      + + + +
        +
      • +

        postInsertions

        +
        public Instruction[] postInsertions
        +
      • +
      + + + +
        +
      • +

        deleted

        +
        public boolean[] deleted
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CodeAttributeEditor

        +
        public CodeAttributeEditor()
        +
        Creates a new CodeAttributeEditor that automatically updates frame sizes and shrinks + instructions.
        +
      • +
      + + + +
        +
      • +

        CodeAttributeEditor

        +
        public CodeAttributeEditor​(boolean updateFrameSizes,
        +                           boolean shrinkInstructions)
        +
        Creates a new CodeAttributeEditor.
        +
        +
        Parameters:
        +
        updateFrameSizes - specifies whether frame sizes of edited code should be updated.
        +
        shrinkInstructions - specifies whether added instructions should automatically be shrunk + before being written.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        reset

        +
        public void reset​(int codeLength)
        +
        Resets the accumulated code changes for a given anticipated maximum code length. If necessary, + the size may still be extended while editing the code, with extend(int).
        +
        +
        Parameters:
        +
        codeLength - the length of the code that will be edited next.
        +
        +
      • +
      + + + +
        +
      • +

        extend

        +
        public void extend​(int codeLength)
        +
        Extends the size of the accumulated code changes.
        +
        +
        Parameters:
        +
        codeLength - the length of the code that will be edited next.
        +
        +
      • +
      + + + +
        +
      • +

        insertBeforeOffset

        +
        public void insertBeforeOffset​(int instructionOffset,
        +                               Instruction instruction)
        +
        Remembers to place the given instruction right before the instruction at the given offset. Any + branches to the existing instruction will land after the new instruction. Similarly, any try + blocks that start at the existing instruction will not include the new instruction. However, + any try blocks that end right before the existing instruction wil now include the new + instruction.
        +
        +
        Parameters:
        +
        instructionOffset - the offset of the instruction.
        +
        instruction - the new instruction.
        +
        +
      • +
      + + + +
        +
      • +

        insertBeforeInstruction

        +
        public void insertBeforeInstruction​(int instructionOffset,
        +                                    Instruction instruction)
        +
        Remembers to place the given instruction right before the instruction at the given offset. Any + branches to the existing instruction will also go to the new instruction. Similarly, any try + blocks that include the existing instruction will also include the new instruction.
        +
        +
        Parameters:
        +
        instructionOffset - the offset of the instruction.
        +
        instruction - the new instruction.
        +
        +
      • +
      + + + +
        +
      • +

        insertBeforeOffset

        +
        public void insertBeforeOffset​(int instructionOffset,
        +                               Instruction[] instructions)
        +
        Remembers to place the given instructions right before the instruction at the given offset. Any + branches to the existing instruction will land after the new instructions. Similarly, any try + blocks that start at the existing instruction will not include the new instructions. However, + any try blocks that end right before the existing instruction wil now include the new + instructions.
        +
        +
        Parameters:
        +
        instructionOffset - the offset of the instruction.
        +
        instructions - the new instructions.
        +
        +
      • +
      + + + +
        +
      • +

        insertBeforeInstruction

        +
        public void insertBeforeInstruction​(int instructionOffset,
        +                                    Instruction[] instructions)
        +
        Remembers to place the given instructions right before the instruction at the given offset. Any + branches to the existing instruction will also go to the new instructions. Similarly, any try + blocks that include the existing instruction will also include the new instructions.
        +
        +
        Parameters:
        +
        instructionOffset - the offset of the instruction.
        +
        instructions - the new instructions.
        +
        +
      • +
      + + + +
        +
      • +

        replaceInstruction

        +
        public void replaceInstruction​(int instructionOffset,
        +                               Instruction instruction)
        +
        Remembers to replace the instruction at the given offset by the given instruction.
        +
        +
        Parameters:
        +
        instructionOffset - the offset of the instruction to be replaced.
        +
        instruction - the new instruction.
        +
        +
      • +
      + + + +
        +
      • +

        replaceInstruction

        +
        public void replaceInstruction​(int instructionOffset,
        +                               Instruction[] instructions)
        +
        Remembers to replace the instruction at the given offset by the given instructions.
        +
        +
        Parameters:
        +
        instructionOffset - the offset of the instruction to be replaced.
        +
        instructions - the new instructions.
        +
        +
      • +
      + + + +
        +
      • +

        insertAfterInstruction

        +
        public void insertAfterInstruction​(int instructionOffset,
        +                                   Instruction instruction)
        +
        Remembers to place the given instruction right after the instruction at the given offset.
        +
        +
        Parameters:
        +
        instructionOffset - the offset of the instruction.
        +
        instruction - the new instruction.
        +
        +
      • +
      + + + +
        +
      • +

        insertAfterInstruction

        +
        public void insertAfterInstruction​(int instructionOffset,
        +                                   Instruction[] instructions)
        +
        Remembers to place the given instructions right after the instruction at the given offset.
        +
        +
        Parameters:
        +
        instructionOffset - the offset of the instruction.
        +
        instructions - the new instructions.
        +
        +
      • +
      + + + +
        +
      • +

        deleteInstruction

        +
        public void deleteInstruction​(int instructionOffset)
        +
        Remembers to delete the instruction at the given offset.
        +
        +
        Parameters:
        +
        instructionOffset - the offset of the instruction to be deleted.
        +
        +
      • +
      + + + +
        +
      • +

        undeleteInstruction

        +
        public void undeleteInstruction​(int instructionOffset)
        +
        Remembers not to delete the instruction at the given offset.
        +
        +
        Parameters:
        +
        instructionOffset - the offset of the instruction not to be deleted.
        +
        +
      • +
      + + + +
        +
      • +

        clearModifications

        +
        public void clearModifications​(int instructionOffset)
        +
        Clears all modifications of the instruction at the given offset.
        +
        +
        Parameters:
        +
        instructionOffset - the offset of the instruction to be deleted.
        +
        +
      • +
      + + + +
        +
      • +

        isModified

        +
        public boolean isModified()
        +
        Returns whether the code has been modified in any way.
        +
      • +
      + + + +
        +
      • +

        isModified

        +
        public boolean isModified​(int instructionOffset)
        +
        Returns whether the instruction at the given offset has been modified in any way.
        +
      • +
      + + + +
        +
      • +

        getNewOffset

        +
        public int getNewOffset​(int oldOffset)
        +
        Get the new offset corresponding to the given old offset. Throws an exception if no new offset + is found.
        +
      • +
      + + + +
        +
      • +

        visitAnyAttribute

        +
        public void visitAnyAttribute​(Clazz clazz,
        +                              Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      + + + + + + + +
        +
      • +

        visitCodeAttribute0

        +
        public void visitCodeAttribute0​(Clazz clazz,
        +                                Method method,
        +                                CodeAttribute codeAttribute)
        +
      • +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        catch_

        +
        public CodeAttributeEditor.Label catch_​(int startOffset,
        +                                        int endOffset,
        +                                        int catchType)
        +
        Creates a new catch instance that can be used as a pseudo-instruction to mark the start of an + exception handler. Its offset can be used as a branch target in replacement instructions + (CodeAttributeEditor.Label.offset()).
        +
      • +
      + + + +
        +
      • +

        catch_

        +
        public CodeAttributeEditor.Label catch_​(int identifier,
        +                                        int startOffset,
        +                                        int endOffset,
        +                                        int catchType)
        +
        Creates a new catch instance that can be used as a pseudo-instruction to mark the start of an + exception handler. Its offset can be used as a branch target in replacement instructions + (CodeAttributeEditor.Label.offset()).
        +
      • +
      + + + +
        +
      • +

        line

        +
        public CodeAttributeEditor.Label line​(int lineNumber)
        +
        Creates a new line number instance that will insert the given line number at the current + offset.
        +
      • +
      + + + +
        +
      • +

        line

        +
        public CodeAttributeEditor.Label line​(int lineNumber,
        +                                      java.lang.String source)
        +
        Creates a new line number instance that will insert the given line number at the current + offset. It will insert an extended line number info with the given source if it's not null.
        +
      • +
      + + + +
        +
      • +

        line

        +
        public CodeAttributeEditor.Label line​(int identifier,
        +                                      int lineNumber,
        +                                      java.lang.String source)
        +
        Creates a new line number instance that will insert the given line number at the current + offset. It will insert an extended line number info with the given source if it's not null.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/CodeAttributeEditorResetter.html b/api/proguard/classfile/editor/CodeAttributeEditorResetter.html new file mode 100644 index 000000000..1059354a5 --- /dev/null +++ b/api/proguard/classfile/editor/CodeAttributeEditorResetter.html @@ -0,0 +1,358 @@ + + + + + +CodeAttributeEditorResetter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CodeAttributeEditorResetter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.CodeAttributeEditorResetter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CodeAttributeEditorResetter

        +
        public CodeAttributeEditorResetter​(CodeAttributeEditor codeAttributeEditor)
        +
        Creates a new CodeAttributeEditorResetter.
        +
        +
        Parameters:
        +
        codeAttributeEditor - the code attribute editor that will be reset.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/CompactCodeAttributeComposer.Label.html b/api/proguard/classfile/editor/CompactCodeAttributeComposer.Label.html new file mode 100644 index 000000000..6ef00d434 --- /dev/null +++ b/api/proguard/classfile/editor/CompactCodeAttributeComposer.Label.html @@ -0,0 +1,225 @@ + + + + + +CompactCodeAttributeComposer.Label (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CompactCodeAttributeComposer.Label

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.CompactCodeAttributeComposer.Label
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    CompactCodeAttributeComposer
    +
    +
    +
    public class CompactCodeAttributeComposer.Label
    +extends java.lang.Object
    +
    This class represents a label to which branch instructions and switch instructions can jump.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/editor/CompactCodeAttributeComposer.html b/api/proguard/classfile/editor/CompactCodeAttributeComposer.html new file mode 100644 index 000000000..e4170740f --- /dev/null +++ b/api/proguard/classfile/editor/CompactCodeAttributeComposer.html @@ -0,0 +1,5561 @@ + + + + + +CompactCodeAttributeComposer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CompactCodeAttributeComposer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.CompactCodeAttributeComposer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class CompactCodeAttributeComposer
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor accumulates instructions, exceptions and line numbers, in a compact + and fluent style, and then adds them to a method or copies them into code attributes that it + visits. + +

    The class supports composing instructions (appendInstruction(Instruction)), labels + (createLabel() and label(Label)), exception handlers (catch_(Label, + Label, String, Clazz)), and line numbers (line(int)). + +

    The labels are numeric labels that you can choose freely, for example instruction offsets from + existing code that you are copying. You can then refer to them in branches and exception + handlers. You can compose the code as a hierarchy of code fragments with their own local labels. + +

    You should provide an estimated maximum size (expressed in number of bytes in the bytecode), + so the implementation can efficiently allocate the necessary internal buffers without + reallocating them as the code grows. + +

    For example: + +

    +     ProgramClass  programClass  = ...
    +     ProgramMethod programMethod = ...
    +
    +     // Compose the code.
    +     CompactCodeAttributeComposer composer =
    +         new CompactCodeAttributeComposer(programClass);
    +
    +     final Label TRY_START = composer.createLabel();
    +     final Label TRY_END   = composer.createLabel();
    +     final Label ELSE      = composer.createLabel();
    +
    +     composer
    +         .beginCodeFragment(50)
    +         .label(TRY_START)
    +         .iconst_1()
    +         .iconst_2()
    +         .ificmplt(ELSE)
    +
    +         .iconst_1()
    +         .ireturn()
    +
    +         .label(ELSE)
    +         .iconst_2()
    +         .ireturn()
    +         .label(TRY_END)
    +
    +         .catch_(TRY_START, TRY_END, "java/lang/Exception", null)
    +         .iconst_m1()
    +         .ireturn()
    +         .endCodeFragment();
    +
    +      // Add the code as a code attribute to the given method.
    +      composer.addCodeAttribute(programClass, programMethod);
    + 
    + +

    This class is mostly convenient to compose code programmatically from scratch. To compose code + based on existing code, where the instructions are already available, see CodeAttributeComposer. + +

    If you're building many method bodies, it is more efficient to reuse a single instance of this + composer for all methods that you add.

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ConstantAdder.html b/api/proguard/classfile/editor/ConstantAdder.html new file mode 100644 index 000000000..53725001d --- /dev/null +++ b/api/proguard/classfile/editor/ConstantAdder.html @@ -0,0 +1,727 @@ + + + + + +ConstantAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ConstantAdder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor
    +
    +
    +
    public class ConstantAdder
    +extends java.lang.Object
    +implements ConstantVisitor
    +
    This ConstantVisitor adds all constants that it visits to the constant pool of a given + target class. + +

    Bootstrap methods attributes are automatically updated for invokedynamic constants.

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ConstantPoolEditor.html b/api/proguard/classfile/editor/ConstantPoolEditor.html new file mode 100644 index 000000000..09657589a --- /dev/null +++ b/api/proguard/classfile/editor/ConstantPoolEditor.html @@ -0,0 +1,1436 @@ + + + + + +ConstantPoolEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantPoolEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ConstantPoolEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ConstantPoolEditor
    +extends java.lang.Object
    +
    This class can add constant pool entries to a given class. + +

    If you're building a class from scratch, it is more efficient to reuse a single instance of + this editor for all constants that you add.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ConstantPoolEditor​(ProgramClass targetClass) +
      Creates a new ConstantPoolEditor.
      +
      ConstantPoolEditor​(ProgramClass targetClass, + ClassPool programClassPool, + ClassPool libraryClassPool) +
      Creates a new ConstantPoolEditor that automatically initializes class references and class + member references in new constants.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      intaddClassConstant​(int nameIndex, + Clazz referencedClass) +
      Finds or creates a ClassConstant constant pool entry with the given name UTF-8 constant pool + index.
      +
      intaddClassConstant​(java.lang.String name, + Clazz referencedClass) +
      Finds or creates a ClassConstant constant pool entry with the given name.
      +
      intaddClassConstant​(Clazz referencedClass) +
      Finds or creates a ClassConstant constant pool entry for the given class.
      +
      intaddConstant​(Constant constant) +
      Adds a given constant pool entry to the end of the constant pool.
      +
      intaddDoubleConstant​(double value) +
      Finds or creates a DoubleConstant constant pool entry with the given value.
      +
      intaddDynamicConstant​(int bootstrapMethodIndex, + int nameAndTypeIndex, + Clazz[] referencedClasses) +
      Finds or creates a DynamicConstant constant pool entry with the given class constant pool entry + index and name and type constant pool entry index.
      +
      intaddFieldrefConstant​(int classIndex, + int nameAndTypeIndex, + Clazz referencedClass, + Field referencedField) +
      Finds or creates a FieldrefConstant constant pool entry with the given class constant pool + entry index and name and type constant pool entry index.
      +
      intaddFieldrefConstant​(int classIndex, + java.lang.String name, + java.lang.String descriptor, + Clazz referencedClass, + Field referencedField) +
      Finds or creates a FieldrefConstant constant pool entry with the given class constant pool + entry index, field name, and descriptor.
      +
      intaddFieldrefConstant​(java.lang.String className, + int nameAndTypeIndex, + Clazz referencedClass, + Field referencedField) +
      Finds or creates a FieldrefConstant constant pool entry with the given class name, field name, + and descriptor.
      +
      intaddFieldrefConstant​(java.lang.String className, + java.lang.String name, + java.lang.String descriptor, + Clazz referencedClass, + Field referencedField) +
      Finds or creates a FieldrefConstant constant pool entry with the given class name, field name, + and descriptor.
      +
      intaddFieldrefConstant​(Clazz referencedClass, + Field referencedField) +
      Finds or creates a FieldrefConstant constant pool entry for the given class and field.
      +
      intaddFloatConstant​(float value) +
      Finds or creates a FloatConstant constant pool entry with the given value.
      +
      intaddIntegerConstant​(int value) +
      Finds or creates a IntegerConstant constant pool entry with the given value.
      +
      intaddInterfaceMethodrefConstant​(int classIndex, + int nameAndTypeIndex, + Clazz referencedClass, + Method referencedMethod) +
      Finds or creates a InterfaceMethodrefConstant constant pool entry with the given class constant + pool entry index and name and type constant pool entry index.
      +
      intaddInterfaceMethodrefConstant​(int classIndex, + java.lang.String name, + java.lang.String descriptor, + Clazz referencedClass, + Method referencedMethod) +
      Finds or creates a InterfaceMethodrefConstant constant pool entry with the given class constant + pool entry index, method name, and descriptor.
      +
      intaddInterfaceMethodrefConstant​(java.lang.String className, + int nameAndTypeIndex, + Clazz referencedClass, + Method referencedMethod) +
      Finds or creates a InterfaceMethodrefConstant constant pool entry with the given class name, + method name, and descriptor.
      +
      intaddInterfaceMethodrefConstant​(java.lang.String className, + java.lang.String name, + java.lang.String descriptor, + Clazz referencedClass, + Method referencedMethod) +
      Finds or creates a InterfaceMethodrefConstant constant pool entry with the given class name, + method name, and descriptor.
      +
      intaddInterfaceMethodrefConstant​(Clazz referencedClass, + Method referencedMethod) +
      Finds or creates a InterfaceMethodrefConstant constant pool entry for the given class and + method.
      +
      intaddInvokeDynamicConstant​(int bootstrapMethodIndex, + int nameAndTypeIndex, + Clazz[] referencedClasses) +
      Finds or creates an InvokeDynamicConstant constant pool entry with the given class constant + pool entry index and name and type constant pool entry index.
      +
      intaddInvokeDynamicConstant​(int bootstrapMethodIndex, + java.lang.String name, + java.lang.String descriptor, + Clazz[] referencedClasses) +
      Finds or creates a InvokeDynamicConstant constant pool entry with the given bootstrap method + constant pool entry index, method name, and descriptor.
      +
      intaddLongConstant​(long value) +
      Finds or creates a LongConstant constant pool entry with the given value.
      +
      intaddMethodHandleConstant​(int referenceKind, + int referenceIndex) +
      Finds or creates a MethodHandleConstant constant pool entry of the specified kind and with the + given field ref, interface method ref, or method ref constant pool entry index.
      +
      intaddMethodrefConstant​(int classIndex, + int nameAndTypeIndex, + Clazz referencedClass, + Method referencedMethod) +
      Finds or creates a MethodrefConstant constant pool entry with the given class constant pool + entry index and name and type constant pool entry index.
      +
      intaddMethodrefConstant​(int classIndex, + java.lang.String name, + java.lang.String descriptor, + Clazz referencedClass, + Method referencedMethod) +
      Finds or creates a MethodrefConstant constant pool entry with the given class constant pool + entry index, method name, and descriptor.
      +
      intaddMethodrefConstant​(java.lang.String className, + int nameAndTypeIndex, + Clazz referencedClass, + Method referencedMethod) +
      Finds or creates a MethodrefConstant constant pool entry with the given class name, method + name, and descriptor.
      +
      intaddMethodrefConstant​(java.lang.String className, + java.lang.String name, + java.lang.String descriptor, + Clazz referencedClass, + Method referencedMethod) +
      Finds or creates a MethodrefConstant constant pool entry with the given class name, method + name, and descriptor.
      +
      intaddMethodrefConstant​(Clazz referencedClass, + Method referencedMethod) +
      Finds or creates a MethodrefConstant constant pool entry for the given class and method.
      +
      intaddMethodTypeConstant​(int descriptorIndex, + Clazz[] referencedClasses) +
      Finds or creates a MethodTypeConstant constant pool entry with the given descriptor UTF-8 + constant pool index.
      +
      intaddMethodTypeConstant​(java.lang.String descriptor, + Clazz[] referencedClasses) +
      Finds or creates a MethodTypeConstant constant pool entry with the given descriptor.
      +
      intaddModuleConstant​(int nameIndex) +
      Finds or creates a ModuleConstant constant pool entry with the given name constant pool index.
      +
      intaddModuleConstant​(java.lang.String name) +
      Finds or creates a ModuleConstant constant pool entry with the given name.
      +
      intaddNameAndTypeConstant​(int nameIndex, + int descriptorIndex) +
      Finds or creates a NameAndTypeConstant constant pool entry with the given name and descriptor + UTF-8 constant pool indices.
      +
      intaddNameAndTypeConstant​(java.lang.String name, + java.lang.String descriptor) +
      Finds or creates a NameAndTypeConstant constant pool entry with the given name and descriptor.
      +
      intaddPackageConstant​(int nameIndex) +
      Finds or creates a PackageConstant constant pool entry with the given name constant pool index.
      +
      intaddPackageConstant​(java.lang.String name) +
      Finds or creates a PackageConstant constant pool entry with the given name.
      +
      intaddPrimitiveArrayConstant​(java.lang.Object values) +
      Finds or creates a PrimitiveArrayConstant constant pool entry with the given values.
      +
      intaddStringConstant​(int utf8index, + Clazz referencedClass, + Member referencedMember, + int resourceFileId, + ResourceFile resourceFile) +
      Finds or creates a StringConstant constant pool entry with the given UTF-8 constant index.
      +
      intaddStringConstant​(java.lang.String string) +
      Finds or creates a StringConstant constant pool entry with the given value.
      +
      intaddStringConstant​(java.lang.String string, + Clazz referencedClass, + Member referencedMember) +
      Finds or creates a StringConstant constant pool entry with the given value, with optional + referenced class/member.
      +
      intaddStringConstant​(java.lang.String string, + Clazz referencedClass, + Member referencedMember, + int resourceFileId, + ResourceFile resourceFile) +
      Finds or creates a StringConstant constant pool entry with the given value.
      +
      intaddStringConstant​(java.lang.String string, + ResourceFile referencedResourceFile) +
      Finds or creates a StringConstant constant pool entry with the given value.
      +
      intaddUtf8Constant​(java.lang.String string) +
      Finds or creates a Utf8Constant constant pool entry for the given string.
      +
      intfindOrAddConstant​(Constant constant) +
      Finds or adds a given constant pool entry.
      +
      ProgramClassgetTargetClass() +
      Returns the target class in which constants are edited.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConstantPoolEditor

        +
        public ConstantPoolEditor​(ProgramClass targetClass)
        +
        Creates a new ConstantPoolEditor.
        +
        +
        Parameters:
        +
        targetClass - the target class in which constants are to be edited.
        +
        +
      • +
      + + + +
        +
      • +

        ConstantPoolEditor

        +
        public ConstantPoolEditor​(ProgramClass targetClass,
        +                          ClassPool programClassPool,
        +                          ClassPool libraryClassPool)
        +
        Creates a new ConstantPoolEditor that automatically initializes class references and class + member references in new constants.
        +
        +
        Parameters:
        +
        targetClass - the target class in which constants are to be edited.
        +
        programClassPool - the program class pool from which new constants can be initialized.
        +
        libraryClassPool - the library class pool from which new constants can be initialized.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getTargetClass

        +
        public ProgramClass getTargetClass()
        +
        Returns the target class in which constants are edited.
        +
      • +
      + + + +
        +
      • +

        addIntegerConstant

        +
        public int addIntegerConstant​(int value)
        +
        Finds or creates a IntegerConstant constant pool entry with the given value.
        +
        +
        Returns:
        +
        the constant pool index of the Utf8Constant.
        +
        +
      • +
      + + + +
        +
      • +

        addLongConstant

        +
        public int addLongConstant​(long value)
        +
        Finds or creates a LongConstant constant pool entry with the given value.
        +
        +
        Returns:
        +
        the constant pool index of the LongConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addFloatConstant

        +
        public int addFloatConstant​(float value)
        +
        Finds or creates a FloatConstant constant pool entry with the given value.
        +
        +
        Returns:
        +
        the constant pool index of the FloatConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addDoubleConstant

        +
        public int addDoubleConstant​(double value)
        +
        Finds or creates a DoubleConstant constant pool entry with the given value.
        +
        +
        Returns:
        +
        the constant pool index of the DoubleConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addPrimitiveArrayConstant

        +
        public int addPrimitiveArrayConstant​(java.lang.Object values)
        +
        Finds or creates a PrimitiveArrayConstant constant pool entry with the given values.
        +
        +
        Returns:
        +
        the constant pool index of the PrimitiveArrayConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addStringConstant

        +
        public int addStringConstant​(java.lang.String string,
        +                             Clazz referencedClass,
        +                             Member referencedMember)
        +
        Finds or creates a StringConstant constant pool entry with the given value, with optional + referenced class/member.
        +
        +
        Parameters:
        +
        referencedClass - The class that this string references.
        +
        referencedMember - The member that this string references.
        +
        Returns:
        +
        the constant pool index of the StringConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addStringConstant

        +
        public int addStringConstant​(java.lang.String string)
        +
        Finds or creates a StringConstant constant pool entry with the given value.
        +
        +
        Returns:
        +
        the constant pool index of the StringConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addStringConstant

        +
        public int addStringConstant​(java.lang.String string,
        +                             ResourceFile referencedResourceFile)
        +
        Finds or creates a StringConstant constant pool entry with the given value.
        +
        +
        Returns:
        +
        the constant pool index of the StringConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addStringConstant

        +
        public int addStringConstant​(java.lang.String string,
        +                             Clazz referencedClass,
        +                             Member referencedMember,
        +                             int resourceFileId,
        +                             ResourceFile resourceFile)
        +
        Finds or creates a StringConstant constant pool entry with the given value.
        +
        +
        Returns:
        +
        the constant pool index of the StringConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addStringConstant

        +
        public int addStringConstant​(int utf8index,
        +                             Clazz referencedClass,
        +                             Member referencedMember,
        +                             int resourceFileId,
        +                             ResourceFile resourceFile)
        +
        Finds or creates a StringConstant constant pool entry with the given UTF-8 constant index.
        +
        +
        Returns:
        +
        the constant pool index of the StringConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addInvokeDynamicConstant

        +
        public int addInvokeDynamicConstant​(int bootstrapMethodIndex,
        +                                    java.lang.String name,
        +                                    java.lang.String descriptor,
        +                                    Clazz[] referencedClasses)
        +
        Finds or creates a InvokeDynamicConstant constant pool entry with the given bootstrap method + constant pool entry index, method name, and descriptor.
        +
        +
        Returns:
        +
        the constant pool index of the InvokeDynamicConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addDynamicConstant

        +
        public int addDynamicConstant​(int bootstrapMethodIndex,
        +                              int nameAndTypeIndex,
        +                              Clazz[] referencedClasses)
        +
        Finds or creates a DynamicConstant constant pool entry with the given class constant pool entry + index and name and type constant pool entry index.
        +
        +
        Returns:
        +
        the constant pool index of the DynamicConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addInvokeDynamicConstant

        +
        public int addInvokeDynamicConstant​(int bootstrapMethodIndex,
        +                                    int nameAndTypeIndex,
        +                                    Clazz[] referencedClasses)
        +
        Finds or creates an InvokeDynamicConstant constant pool entry with the given class constant + pool entry index and name and type constant pool entry index.
        +
        +
        Returns:
        +
        the constant pool index of the InvokeDynamicConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addMethodHandleConstant

        +
        public int addMethodHandleConstant​(int referenceKind,
        +                                   int referenceIndex)
        +
        Finds or creates a MethodHandleConstant constant pool entry of the specified kind and with the + given field ref, interface method ref, or method ref constant pool entry index.
        +
        +
        Returns:
        +
        the constant pool index of the MethodHandleConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addModuleConstant

        +
        public int addModuleConstant​(java.lang.String name)
        +
        Finds or creates a ModuleConstant constant pool entry with the given name.
        +
        +
        Returns:
        +
        the constant pool index of the ModuleConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addModuleConstant

        +
        public int addModuleConstant​(int nameIndex)
        +
        Finds or creates a ModuleConstant constant pool entry with the given name constant pool index.
        +
        +
        Returns:
        +
        the constant pool index of the ModuleConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addPackageConstant

        +
        public int addPackageConstant​(java.lang.String name)
        +
        Finds or creates a PackageConstant constant pool entry with the given name.
        +
        +
        Returns:
        +
        the constant pool index of the PackageConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addPackageConstant

        +
        public int addPackageConstant​(int nameIndex)
        +
        Finds or creates a PackageConstant constant pool entry with the given name constant pool index.
        +
        +
        Returns:
        +
        the constant pool index of the PackageConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addFieldrefConstant

        +
        public int addFieldrefConstant​(Clazz referencedClass,
        +                               Field referencedField)
        +
        Finds or creates a FieldrefConstant constant pool entry for the given class and field.
        +
        +
        Returns:
        +
        the constant pool index of the FieldrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addFieldrefConstant

        +
        public int addFieldrefConstant​(java.lang.String className,
        +                               java.lang.String name,
        +                               java.lang.String descriptor,
        +                               Clazz referencedClass,
        +                               Field referencedField)
        +
        Finds or creates a FieldrefConstant constant pool entry with the given class name, field name, + and descriptor.
        +
        +
        Returns:
        +
        the constant pool index of the FieldrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addFieldrefConstant

        +
        public int addFieldrefConstant​(java.lang.String className,
        +                               int nameAndTypeIndex,
        +                               Clazz referencedClass,
        +                               Field referencedField)
        +
        Finds or creates a FieldrefConstant constant pool entry with the given class name, field name, + and descriptor.
        +
        +
        Returns:
        +
        the constant pool index of the FieldrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addFieldrefConstant

        +
        public int addFieldrefConstant​(int classIndex,
        +                               java.lang.String name,
        +                               java.lang.String descriptor,
        +                               Clazz referencedClass,
        +                               Field referencedField)
        +
        Finds or creates a FieldrefConstant constant pool entry with the given class constant pool + entry index, field name, and descriptor.
        +
        +
        Returns:
        +
        the constant pool index of the FieldrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addFieldrefConstant

        +
        public int addFieldrefConstant​(int classIndex,
        +                               int nameAndTypeIndex,
        +                               Clazz referencedClass,
        +                               Field referencedField)
        +
        Finds or creates a FieldrefConstant constant pool entry with the given class constant pool + entry index and name and type constant pool entry index.
        +
        +
        Returns:
        +
        the constant pool index of the FieldrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addInterfaceMethodrefConstant

        +
        public int addInterfaceMethodrefConstant​(java.lang.String className,
        +                                         java.lang.String name,
        +                                         java.lang.String descriptor,
        +                                         Clazz referencedClass,
        +                                         Method referencedMethod)
        +
        Finds or creates a InterfaceMethodrefConstant constant pool entry with the given class name, + method name, and descriptor.
        +
        +
        Returns:
        +
        the constant pool index of the InterfaceMethodrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addInterfaceMethodrefConstant

        +
        public int addInterfaceMethodrefConstant​(java.lang.String className,
        +                                         int nameAndTypeIndex,
        +                                         Clazz referencedClass,
        +                                         Method referencedMethod)
        +
        Finds or creates a InterfaceMethodrefConstant constant pool entry with the given class name, + method name, and descriptor.
        +
        +
        Returns:
        +
        the constant pool index of the InterfaceMethodrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addInterfaceMethodrefConstant

        +
        public int addInterfaceMethodrefConstant​(Clazz referencedClass,
        +                                         Method referencedMethod)
        +
        Finds or creates a InterfaceMethodrefConstant constant pool entry for the given class and + method.
        +
        +
        Returns:
        +
        the constant pool index of the InterfaceMethodrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addInterfaceMethodrefConstant

        +
        public int addInterfaceMethodrefConstant​(int classIndex,
        +                                         java.lang.String name,
        +                                         java.lang.String descriptor,
        +                                         Clazz referencedClass,
        +                                         Method referencedMethod)
        +
        Finds or creates a InterfaceMethodrefConstant constant pool entry with the given class constant + pool entry index, method name, and descriptor.
        +
        +
        Returns:
        +
        the constant pool index of the InterfaceMethodrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addInterfaceMethodrefConstant

        +
        public int addInterfaceMethodrefConstant​(int classIndex,
        +                                         int nameAndTypeIndex,
        +                                         Clazz referencedClass,
        +                                         Method referencedMethod)
        +
        Finds or creates a InterfaceMethodrefConstant constant pool entry with the given class constant + pool entry index and name and type constant pool entry index.
        +
        +
        Returns:
        +
        the constant pool index of the InterfaceMethodrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addMethodrefConstant

        +
        public int addMethodrefConstant​(Clazz referencedClass,
        +                                Method referencedMethod)
        +
        Finds or creates a MethodrefConstant constant pool entry for the given class and method.
        +
        +
        Returns:
        +
        the constant pool index of the MethodrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addMethodrefConstant

        +
        public int addMethodrefConstant​(java.lang.String className,
        +                                java.lang.String name,
        +                                java.lang.String descriptor,
        +                                Clazz referencedClass,
        +                                Method referencedMethod)
        +
        Finds or creates a MethodrefConstant constant pool entry with the given class name, method + name, and descriptor.
        +
        +
        Returns:
        +
        the constant pool index of the MethodrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addMethodrefConstant

        +
        public int addMethodrefConstant​(java.lang.String className,
        +                                int nameAndTypeIndex,
        +                                Clazz referencedClass,
        +                                Method referencedMethod)
        +
        Finds or creates a MethodrefConstant constant pool entry with the given class name, method + name, and descriptor.
        +
        +
        Returns:
        +
        the constant pool index of the MethodrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addMethodrefConstant

        +
        public int addMethodrefConstant​(int classIndex,
        +                                java.lang.String name,
        +                                java.lang.String descriptor,
        +                                Clazz referencedClass,
        +                                Method referencedMethod)
        +
        Finds or creates a MethodrefConstant constant pool entry with the given class constant pool + entry index, method name, and descriptor.
        +
        +
        Returns:
        +
        the constant pool index of the MethodrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addMethodrefConstant

        +
        public int addMethodrefConstant​(int classIndex,
        +                                int nameAndTypeIndex,
        +                                Clazz referencedClass,
        +                                Method referencedMethod)
        +
        Finds or creates a MethodrefConstant constant pool entry with the given class constant pool + entry index and name and type constant pool entry index.
        +
        +
        Returns:
        +
        the constant pool index of the MethodrefConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addClassConstant

        +
        public int addClassConstant​(Clazz referencedClass)
        +
        Finds or creates a ClassConstant constant pool entry for the given class.
        +
        +
        Returns:
        +
        the constant pool index of the ClassConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addClassConstant

        +
        public int addClassConstant​(java.lang.String name,
        +                            Clazz referencedClass)
        +
        Finds or creates a ClassConstant constant pool entry with the given name.
        +
        +
        Returns:
        +
        the constant pool index of the ClassConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addClassConstant

        +
        public int addClassConstant​(int nameIndex,
        +                            Clazz referencedClass)
        +
        Finds or creates a ClassConstant constant pool entry with the given name UTF-8 constant pool + index.
        +
        +
        Returns:
        +
        the constant pool index of the ClassConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addMethodTypeConstant

        +
        public int addMethodTypeConstant​(java.lang.String descriptor,
        +                                 Clazz[] referencedClasses)
        +
        Finds or creates a MethodTypeConstant constant pool entry with the given descriptor.
        +
        +
        Returns:
        +
        the constant pool index of the MethodTypeConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addMethodTypeConstant

        +
        public int addMethodTypeConstant​(int descriptorIndex,
        +                                 Clazz[] referencedClasses)
        +
        Finds or creates a MethodTypeConstant constant pool entry with the given descriptor UTF-8 + constant pool index.
        +
        +
        Returns:
        +
        the constant pool index of the MethodTypeConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addNameAndTypeConstant

        +
        public int addNameAndTypeConstant​(java.lang.String name,
        +                                  java.lang.String descriptor)
        +
        Finds or creates a NameAndTypeConstant constant pool entry with the given name and descriptor.
        +
        +
        Returns:
        +
        the constant pool index of the NameAndTypeConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addNameAndTypeConstant

        +
        public int addNameAndTypeConstant​(int nameIndex,
        +                                  int descriptorIndex)
        +
        Finds or creates a NameAndTypeConstant constant pool entry with the given name and descriptor + UTF-8 constant pool indices.
        +
        +
        Returns:
        +
        the constant pool index of the NameAndTypeConstant.
        +
        +
      • +
      + + + +
        +
      • +

        addUtf8Constant

        +
        public int addUtf8Constant​(java.lang.String string)
        +
        Finds or creates a Utf8Constant constant pool entry for the given string.
        +
        +
        Returns:
        +
        the constant pool index of the Utf8Constant.
        +
        +
      • +
      + + + +
        +
      • +

        findOrAddConstant

        +
        public int findOrAddConstant​(Constant constant)
        +
        Finds or adds a given constant pool entry.
        +
        +
        Returns:
        +
        the index of the entry in the constant pool.
        +
        +
      • +
      + + + +
        +
      • +

        addConstant

        +
        public int addConstant​(Constant constant)
        +
        Adds a given constant pool entry to the end of the constant pool.
        +
        +
        Returns:
        +
        the constant pool index for the added entry.
        +
        See Also:
        +
        findOrAddConstant(Constant)
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ConstantPoolRemapper.html b/api/proguard/classfile/editor/ConstantPoolRemapper.html new file mode 100644 index 000000000..b250b562e --- /dev/null +++ b/api/proguard/classfile/editor/ConstantPoolRemapper.html @@ -0,0 +1,2075 @@ + + + + + +ConstantPoolRemapper (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantPoolRemapper

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ConstantPoolRemapper
    • +
    +
  • +
+ +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ConstantPoolShrinker.html b/api/proguard/classfile/editor/ConstantPoolShrinker.html new file mode 100644 index 000000000..2ee296379 --- /dev/null +++ b/api/proguard/classfile/editor/ConstantPoolShrinker.html @@ -0,0 +1,1787 @@ + + + + + +ConstantPoolShrinker (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantPoolShrinker

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ConstantPoolShrinker
    • +
    +
  • +
+ +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ConstantPoolSorter.html b/api/proguard/classfile/editor/ConstantPoolSorter.html new file mode 100644 index 000000000..dca78e713 --- /dev/null +++ b/api/proguard/classfile/editor/ConstantPoolSorter.html @@ -0,0 +1,346 @@ + + + + + +ConstantPoolSorter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantPoolSorter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ConstantPoolSorter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ConstantPoolSorter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor sorts the constant pool entries of the program classes that it visits. + The sorting order is based on the types of the constant pool entries in the first place, and on + their contents in the second place.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConstantPoolSorter

        +
        public ConstantPoolSorter()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ElementValueAdder.html b/api/proguard/classfile/editor/ElementValueAdder.html new file mode 100644 index 000000000..b4458f992 --- /dev/null +++ b/api/proguard/classfile/editor/ElementValueAdder.html @@ -0,0 +1,465 @@ + + + + + +ElementValueAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ElementValueAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ElementValueAdder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ElementValueVisitor
    +
    +
    +
    public class ElementValueAdder
    +extends java.lang.Object
    +implements ElementValueVisitor
    +
    This ElementValueVisitor adds all element values that it visits to the given target + annotation default attribute, annotation, or element value.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ElementValuesEditor.html b/api/proguard/classfile/editor/ElementValuesEditor.html new file mode 100644 index 000000000..ceb78c54b --- /dev/null +++ b/api/proguard/classfile/editor/ElementValuesEditor.html @@ -0,0 +1,356 @@ + + + + + +ElementValuesEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ElementValuesEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ElementValuesEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ElementValuesEditor
    +extends java.lang.Object
    +
    This class can add and delete element values to and from a given target annotation default + attribute, annotation, or array element value. Element values to be added must be filled out + beforehand, including their references to the constant pool.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ElementValuesEditor​(ProgramClass targetClass, + Annotation targetAnnotation, + boolean replaceElementValues) +
      Creates a new ElementValuesEditor that will edit element values in the given target annotation.
      +
      ElementValuesEditor​(ProgramClass targetClass, + ArrayElementValue targetArrayElementValue, + boolean replaceElementValues) +
      Creates a new ElementValuesEditor that will edit element values in the given target array + element value.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddElementValue​(ElementValue elementValue) +
      Adds the given elementValue to the target.
      +
      voiddeleteElementValue​(java.lang.String elementValueMethodName) +
      Deletes the given elementValue to the target.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ElementValuesEditor

        +
        public ElementValuesEditor​(ProgramClass targetClass,
        +                           Annotation targetAnnotation,
        +                           boolean replaceElementValues)
        +
        Creates a new ElementValuesEditor that will edit element values in the given target annotation.
        +
      • +
      + + + +
        +
      • +

        ElementValuesEditor

        +
        public ElementValuesEditor​(ProgramClass targetClass,
        +                           ArrayElementValue targetArrayElementValue,
        +                           boolean replaceElementValues)
        +
        Creates a new ElementValuesEditor that will edit element values in the given target array + element value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addElementValue

        +
        public void addElementValue​(ElementValue elementValue)
        +
        Adds the given elementValue to the target.
        +
      • +
      + + + +
        +
      • +

        deleteElementValue

        +
        public void deleteElementValue​(java.lang.String elementValueMethodName)
        +
        Deletes the given elementValue to the target.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ExceptionAdder.html b/api/proguard/classfile/editor/ExceptionAdder.html new file mode 100644 index 000000000..0fc905bba --- /dev/null +++ b/api/proguard/classfile/editor/ExceptionAdder.html @@ -0,0 +1,329 @@ + + + + + +ExceptionAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptionAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ExceptionAdder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor
    +
    +
    +
    public class ExceptionAdder
    +extends java.lang.Object
    +implements ConstantVisitor
    +
    This ConstantVisitor adds all class constants that it visits to the given target + exceptions attribute.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptionAdder

        +
        public ExceptionAdder​(ProgramClass targetClass,
        +                      ExceptionsAttribute targetExceptionsAttribute)
        +
        Creates a new ExceptionAdder that will copy classes into the given target exceptions attribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ExceptionInfoAdder.html b/api/proguard/classfile/editor/ExceptionInfoAdder.html new file mode 100644 index 000000000..5198bdf9c --- /dev/null +++ b/api/proguard/classfile/editor/ExceptionInfoAdder.html @@ -0,0 +1,326 @@ + + + + + +ExceptionInfoAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptionInfoAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ExceptionInfoAdder
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ExceptionInfoEditor.html b/api/proguard/classfile/editor/ExceptionInfoEditor.html new file mode 100644 index 000000000..daaa28c1d --- /dev/null +++ b/api/proguard/classfile/editor/ExceptionInfoEditor.html @@ -0,0 +1,312 @@ + + + + + +ExceptionInfoEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptionInfoEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ExceptionInfoEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ExceptionInfoEditor
    +extends java.lang.Object
    +
    This class can add exceptions to the exception table of a given code attribute. The exceptions + must have been filled out beforehand.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ExceptionInfoEditor​(CodeAttribute codeAttribute) +
      Creates a new ExceptionInfoEditor that can add exceptions to the given code attribute.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidappendException​(ExceptionInfo exceptionInfo) +
      Appends the given exception to the exception table.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptionInfoEditor

        +
        public ExceptionInfoEditor​(CodeAttribute codeAttribute)
        +
        Creates a new ExceptionInfoEditor that can add exceptions to the given code attribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        appendException

        +
        public void appendException​(ExceptionInfo exceptionInfo)
        +
        Appends the given exception to the exception table.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ExceptionsAttributeEditor.html b/api/proguard/classfile/editor/ExceptionsAttributeEditor.html new file mode 100644 index 000000000..0da9c824c --- /dev/null +++ b/api/proguard/classfile/editor/ExceptionsAttributeEditor.html @@ -0,0 +1,314 @@ + + + + + +ExceptionsAttributeEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptionsAttributeEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ExceptionsAttributeEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ExceptionsAttributeEditor
    +extends java.lang.Object
    +
    This class can add exceptions to a given exceptions attribute. Exceptions to be added must have + been added to the constant pool and filled out beforehand.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ExceptionsAttributeEditor​(ExceptionsAttribute targetExceptionsAttribute) +
      Creates a new ExceptionsAttributeEditor that will edit exceptions in the given exceptions + attribute.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddException​(int exceptionIndex) +
      Adds a given exception to the exceptions attribute.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptionsAttributeEditor

        +
        public ExceptionsAttributeEditor​(ExceptionsAttribute targetExceptionsAttribute)
        +
        Creates a new ExceptionsAttributeEditor that will edit exceptions in the given exceptions + attribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addException

        +
        public void addException​(int exceptionIndex)
        +
        Adds a given exception to the exceptions attribute.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/InitializerEditor.CodeBuilder.html b/api/proguard/classfile/editor/InitializerEditor.CodeBuilder.html new file mode 100644 index 000000000..5d70547c6 --- /dev/null +++ b/api/proguard/classfile/editor/InitializerEditor.CodeBuilder.html @@ -0,0 +1,253 @@ + + + + + +InitializerEditor.CodeBuilder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface InitializerEditor.CodeBuilder

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    InitializerEditor
    +
    +
    +
    public static interface InitializerEditor.CodeBuilder
    +
    This functional interface provides an instruction sequence builder to its caller.
    +
  • +
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/editor/InitializerEditor.html b/api/proguard/classfile/editor/InitializerEditor.html new file mode 100644 index 000000000..85fbae23d --- /dev/null +++ b/api/proguard/classfile/editor/InitializerEditor.html @@ -0,0 +1,505 @@ + + + + + +InitializerEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InitializerEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.InitializerEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class InitializerEditor
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This editor allows to build and/or edit classes (ProgramClass instances). It provides methods to + easily add fields and methods to classes.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InitializerEditor

        +
        public InitializerEditor​(ProgramClass programClass)
        +
        Creates a new InitializerEditor for the given class.
        +
        +
        Parameters:
        +
        programClass - The class to be edited.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addStaticInitializerInstructions

        +
        public void addStaticInitializerInstructions​(boolean mergeIntoExistingInitializer,
        +                                             InitializerEditor.CodeBuilder codeBuilder)
        +
        Adds the specified static initializer instructions to the edited class. If the class already + contains a static initializer, the new instructions will be appended to the existing + initializer.
        +
        +
        Parameters:
        +
        mergeIntoExistingInitializer - Indicates whether the instructions should be added to the + existing static initializer (if it exists), or if a new method should be created, which is + then called from the existing initializer.
        +
        codeBuilder - The provider of a builder to add instructions. This functional interface can + conveniently be implemented as a closure.
        +
        +
      • +
      + + + +
        +
      • +

        addStaticInitializerInstructions

        +
        public void addStaticInitializerInstructions​(boolean mergeIntoExistingInitializer,
        +                                             Instruction[] instructions)
        +
        Adds the given static initializer instructions to the edited class. If the class already + contains a static initializer, the new instructions will be appended to the existing + initializer.
        +
        +
        Parameters:
        +
        mergeIntoExistingInitializer - Indicates whether the instructions should be added to the + existing static initializer (if it exists), or if a new method should be created, which is + then called from the existing initializer.
        +
        instructions - The instructions to be added.
        +
        +
      • +
      + + + +
        +
      • +

        addInitializerInstructions

        +
        public void addInitializerInstructions​(InitializerEditor.CodeBuilder codeBuilder)
        +
        Adds the specified initialization instructions to the edited class. + +
          +
        • If the class doesn't contain a constructor yet, it will be created, and the instructions + will be added to this constructor. +
        • If there is a single super-calling constructor, the instructions will be added at the + beginning of its code attribute. +
        • If there are multiple super-calling constructors, a new private parameterless helper + method will be created, to which the instructions will be added. An invocation to this + new method will be added at the beginning of the code attribute of all super-calling + constructors. +
        +
        +
        Parameters:
        +
        codeBuilder - The provider of a builder to add instructions. This functional interface can + conveniently be implemented as a closure.
        +
        +
      • +
      + + + +
        +
      • +

        addInitializerInstructions

        +
        public void addInitializerInstructions​(Instruction[] instructions)
        +
        Adds the given initialization instructions to the edited class. + +
          +
        • If the class doesn't contain a constructor yet, it will be created, and the instructions + will be added to this constructor. +
        • If there is a single super-calling constructor, the instructions will be added at the + beginning of its code attribute. +
        • If there are multiple super-calling constructors, a new private parameterless helper + method will be created, to which the instructions will be added. An invocation to this + new method will be added at the beginning of the code attribute of all super-calling + constructors. +
        +
        +
        Parameters:
        +
        instructions - The instructions to be added.
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyAttribute

        +
        public void visitAnyAttribute​(Clazz clazz,
        +                              Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/InnerClassesAccessFixer.html b/api/proguard/classfile/editor/InnerClassesAccessFixer.html new file mode 100644 index 000000000..c56047b15 --- /dev/null +++ b/api/proguard/classfile/editor/InnerClassesAccessFixer.html @@ -0,0 +1,417 @@ + + + + + +InnerClassesAccessFixer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InnerClassesAccessFixer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.InnerClassesAccessFixer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/InnerClassesAttributeEditor.html b/api/proguard/classfile/editor/InnerClassesAttributeEditor.html new file mode 100644 index 000000000..d4d9ee0f6 --- /dev/null +++ b/api/proguard/classfile/editor/InnerClassesAttributeEditor.html @@ -0,0 +1,335 @@ + + + + + +InnerClassesAttributeEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InnerClassesAttributeEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.InnerClassesAttributeEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class InnerClassesAttributeEditor
    +extends java.lang.Object
    +
    This class can add/remove bootstrap methods to/from a given inner classes attribute. Inner + classes to be added must have been filled out beforehand.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      InnerClassesAttributeEditor​(InnerClassesAttribute targetInnerClassesAttribute) +
      Creates a new InnerClassesAttributeEditor that will edit inner classes in the given inner + classes attribute.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InnerClassesAttributeEditor

        +
        public InnerClassesAttributeEditor​(InnerClassesAttribute targetInnerClassesAttribute)
        +
        Creates a new InnerClassesAttributeEditor that will edit inner classes in the given inner + classes attribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addInnerClassesInfo

        +
        public int addInnerClassesInfo​(InnerClassesInfo innerClassesInfo)
        +
        Adds a given inner class to the inner classes attribute.
        +
        +
        Returns:
        +
        the index of the inner class.
        +
        +
      • +
      + + + +
        +
      • +

        removeInnerClassesInfo

        +
        public void removeInnerClassesInfo​(InnerClassesInfo innerClassesInfo)
        +
        Removes the given inner class from the inner classes attribute.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/InstructionAdder.html b/api/proguard/classfile/editor/InstructionAdder.html new file mode 100644 index 000000000..42dbed63e --- /dev/null +++ b/api/proguard/classfile/editor/InstructionAdder.html @@ -0,0 +1,366 @@ + + + + + +InstructionAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.InstructionAdder
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/InstructionSequenceBuilder.html b/api/proguard/classfile/editor/InstructionSequenceBuilder.html new file mode 100644 index 000000000..06b96a541 --- /dev/null +++ b/api/proguard/classfile/editor/InstructionSequenceBuilder.html @@ -0,0 +1,5730 @@ + + + + + +InstructionSequenceBuilder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionSequenceBuilder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.InstructionSequenceBuilder
    • +
    +
  • +
+
+
    +
  • +
    +
    public class InstructionSequenceBuilder
    +extends java.lang.Object
    +
    This utility class allows to construct sequences of instructions and their constants.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/InstructionSequenceReplacer.Label.html b/api/proguard/classfile/editor/InstructionSequenceReplacer.Label.html new file mode 100644 index 000000000..dbc794b26 --- /dev/null +++ b/api/proguard/classfile/editor/InstructionSequenceReplacer.Label.html @@ -0,0 +1,538 @@ + + + + + +InstructionSequenceReplacer.Label (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionSequenceReplacer.Label

+
+
+ +
+
    +
  • +
    +
    Enclosing class:
    +
    InstructionSequenceReplacer
    +
    +
    +
    public static class InstructionSequenceReplacer.Label
    +extends Instruction
    +
    This pseudo-instruction represents a label that marks an instruction offset, for use in the + context of the sequence replacer only.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        identifier

        +
        protected final int identifier
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        offset

        +
        public int offset()
        +
        Returns the offset that can then be used as a branch target in other replacement + instructions.
        +
      • +
      + + + +
        +
      • +

        shrink

        +
        public Instruction shrink()
        +
        Description copied from class: Instruction
        +
        Shrinks this instruction to its shortest possible form.
        +
        +
        Specified by:
        +
        shrink in class Instruction
        +
        Returns:
        +
        this instruction.
        +
        +
      • +
      + + + +
        +
      • +

        write

        +
        public void write​(byte[] code,
        +                  int offset)
        +
        Description copied from class: Instruction
        +
        Writes the Instruction at the given offset in the given code array.
        +
        +
        Overrides:
        +
        write in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        readInfo

        +
        protected void readInfo​(byte[] code,
        +                        int offset)
        +
        Description copied from class: Instruction
        +
        Reads the data following the instruction opcode.
        +
        +
        Specified by:
        +
        readInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        writeInfo

        +
        protected void writeInfo​(byte[] code,
        +                         int offset)
        +
        Description copied from class: Instruction
        +
        Writes data following the instruction opcode.
        +
        +
        Specified by:
        +
        writeInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        length

        +
        public int length​(int offset)
        +
        Description copied from class: Instruction
        +
        Returns the length in bytes of the instruction.
        +
        +
        Specified by:
        +
        length in class Instruction
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Specified by:
        +
        equals in class Instruction
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/InstructionSequenceReplacer.html b/api/proguard/classfile/editor/InstructionSequenceReplacer.html new file mode 100644 index 000000000..fdf58a6ca --- /dev/null +++ b/api/proguard/classfile/editor/InstructionSequenceReplacer.html @@ -0,0 +1,1468 @@ + + + + + +InstructionSequenceReplacer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionSequenceReplacer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.InstructionSequenceReplacer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor, InstructionVisitor
    +
    +
    +
    public class InstructionSequenceReplacer
    +extends java.lang.Object
    +implements InstructionVisitor, ConstantVisitor
    +
    This InstructionVisitor replaces a given pattern instruction sequence by another given + replacement instruction sequence. The arguments of the instruction sequences can be wildcards + that are matched and replaced. + +

    The class also supports labels (label()) and exception handlers (catch_(int,int,int)) in replacement sequences. They provide local branch offsets inside the + replacement sequences (InstructionSequenceReplacer.Label.offset()). For example, creating a replacement sequence with + the help of InstructionSequenceBuilder: + +

    +     final InstructionSequenceReplacer.Label TRY_START = InstructionSequenceReplacer.label();
    +     final InstructionSequenceReplacer.Label TRY_END   = InstructionSequenceReplacer.label();
    +     final InstructionSequenceReplacer.Label CATCH_END = InstructionSequenceReplacer.label();
    +
    +     final InstructionSequenceReplacer.Label CATCH_EXCEPTION =
    +         InstructionSequenceReplacer.catch_(TRY_START.offset(),
    +                                            TRY_END.offset(),
    +                                            constantPoolEditor.addClassConstant("java/lang/Exception", null));
    +
    +     Instructions[] replacementInstructions = builder
    +         .label(TRY_START)
    +         ......
    +         .label(TRY_END)
    +         .goto_(CATCH_END.offset())
    +         .catch_(CATCH_EXCEPTION)
    +         ......
    +         .athrow()
    +         .label(CATCH_END)
    +         ......
    +         .instructions();
    + 
    +
    +
    See Also:
    +
    InstructionSequenceMatcher
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InstructionSequenceReplacer

        +
        public InstructionSequenceReplacer​(Constant[] patternConstants,
        +                                   Instruction[] patternInstructions,
        +                                   Constant[] replacementConstants,
        +                                   Instruction[] replacementInstructions,
        +                                   BranchTargetFinder branchTargetFinder,
        +                                   CodeAttributeEditor codeAttributeEditor)
        +
        Creates a new InstructionSequenceReplacer.
        +
        +
        Parameters:
        +
        patternConstants - any constants referenced by the pattern instructions.
        +
        patternInstructions - the pattern instruction sequence.
        +
        replacementConstants - any constants referenced by the replacement instructions.
        +
        replacementInstructions - the replacement instruction sequence.
        +
        branchTargetFinder - a branch target finder that has been initialized to indicate branch + targets in the visited code.
        +
        codeAttributeEditor - a code editor that can be used for accumulating changes to the code.
        +
        +
      • +
      + + + +
        +
      • +

        InstructionSequenceReplacer

        +
        public InstructionSequenceReplacer​(Constant[] patternConstants,
        +                                   Instruction[] patternInstructions,
        +                                   Constant[] replacementConstants,
        +                                   Instruction[] replacementInstructions,
        +                                   BranchTargetFinder branchTargetFinder,
        +                                   CodeAttributeEditor codeAttributeEditor,
        +                                   InstructionVisitor extraInstructionVisitor)
        +
        Creates a new InstructionSequenceReplacer.
        +
        +
        Parameters:
        +
        patternConstants - any constants referenced by the pattern instructions.
        +
        patternInstructions - the pattern instruction sequence.
        +
        replacementConstants - any constants referenced by the replacement instructions.
        +
        replacementInstructions - the replacement instruction sequence.
        +
        branchTargetFinder - a branch target finder that has been initialized to indicate branch + targets in the visited code.
        +
        codeAttributeEditor - a code editor that can be used for accumulating changes to the code.
        +
        extraInstructionVisitor - an optional extra visitor for all deleted load instructions.
        +
        +
      • +
      + + + + + + + +
        +
      • +

        InstructionSequenceReplacer

        +
        protected InstructionSequenceReplacer​(InstructionSequenceMatcher instructionSequenceMatcher,
        +                                      Constant[] replacementConstants,
        +                                      Instruction[] replacementInstructions,
        +                                      BranchTargetFinder branchTargetFinder,
        +                                      CodeAttributeEditor codeAttributeEditor,
        +                                      InstructionVisitor extraInstructionVisitor)
        +
        Creates a new InstructionSequenceReplacer.
        +
        +
        Parameters:
        +
        instructionSequenceMatcher - a suitable instruction sequence matcher.
        +
        replacementConstants - any constants referenced by the replacement instructions.
        +
        replacementInstructions - the replacement instruction sequence.
        +
        branchTargetFinder - a branch target finder that has been initialized to indicate branch + targets in the visited code.
        +
        codeAttributeEditor - a code editor that can be used for accumulating changes to the code.
        +
        extraInstructionVisitor - an optional extra visitor for all deleted load instructions.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        matchedArgument

        +
        protected int matchedArgument​(Clazz clazz,
        +                              Method method,
        +                              CodeAttribute codeAttribute,
        +                              int offset,
        +                              int argument)
        +
        Returns the matched argument for the given pattern argument.
        +
      • +
      + + + +
        +
      • +

        matchedArgument

        +
        protected int matchedArgument​(Clazz clazz,
        +                              int argument)
        +
        Returns the matched argument for the given pattern argument.
        +
      • +
      + + + +
        +
      • +

        matchedConstantIndex

        +
        protected int matchedConstantIndex​(ProgramClass programClass,
        +                                   int constantIndex)
        +
        Returns the matched or newly created constant index for the given pattern constant index.
        +
      • +
      + + + +
        +
      • +

        matchedBranchOffset

        +
        protected int matchedBranchOffset​(int offset,
        +                                  int branchOffset)
        +
        Returns the value of the specified matched branch offset.
        +
      • +
      + + + +
        +
      • +

        matchedJumpOffsets

        +
        protected int[] matchedJumpOffsets​(int offset,
        +                                   int[] jumpOffsets)
        +
        Returns the values of the specified matched jump offsets.
        +
      • +
      + + + + + + + +
        +
      • +

        wasConstant

        +
        protected boolean wasConstant​(int argument)
        +
      • +
      + + + +
        +
      • +

        matchedConstant

        +
        protected Constant matchedConstant​(ProgramClass programClass,
        +                                   int argument)
        +
      • +
      + + + +
        +
      • +

        matchedArgument

        +
        protected int matchedArgument​(int argument)
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/InstructionSequencesReplacer.html b/api/proguard/classfile/editor/InstructionSequencesReplacer.html new file mode 100644 index 000000000..75eeba2f5 --- /dev/null +++ b/api/proguard/classfile/editor/InstructionSequencesReplacer.html @@ -0,0 +1,354 @@ + + + + + +InstructionSequencesReplacer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionSequencesReplacer

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InstructionSequencesReplacer

        +
        public InstructionSequencesReplacer​(Constant[] constants,
        +                                    Instruction[][][] instructionSequences,
        +                                    BranchTargetFinder branchTargetFinder,
        +                                    CodeAttributeEditor codeAttributeEditor)
        +
        Creates a new InstructionSequencesReplacer.
        +
        +
        Parameters:
        +
        constants - any constants referenced by the pattern instructions and replacement + instructions.
        +
        instructionSequences - the instruction sequences to be replaced, with subsequently the + sequence pair index, the patten/replacement index (0 or 1), and the instruction index in + the sequence.
        +
        branchTargetFinder - a branch target finder that has been initialized to indicate branch + targets in the visited code.
        +
        codeAttributeEditor - a code editor that can be used for accumulating changes to the code.
        +
        +
      • +
      + + + +
        +
      • +

        InstructionSequencesReplacer

        +
        public InstructionSequencesReplacer​(Constant[] constants,
        +                                    Instruction[][][] instructionSequences,
        +                                    BranchTargetFinder branchTargetFinder,
        +                                    CodeAttributeEditor codeAttributeEditor,
        +                                    InstructionVisitor extraInstructionVisitor)
        +
        Creates a new InstructionSequenceReplacer.
        +
        +
        Parameters:
        +
        constants - any constants referenced by the pattern instructions and replacement + instructions.
        +
        instructionSequences - the instruction sequences to be replaced, with subsequently the + sequence pair index, the patten/replacement index (0 or 1), and the instruction index in + the sequence.
        +
        branchTargetFinder - a branch target finder that has been initialized to indicate branch + targets in the visited code.
        +
        codeAttributeEditor - a code editor that can be used for accumulating changes to the code.
        +
        extraInstructionVisitor - an optional extra visitor for all deleted load instructions.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/editor/InstructionWriter.html b/api/proguard/classfile/editor/InstructionWriter.html new file mode 100644 index 000000000..987dc5d13 --- /dev/null +++ b/api/proguard/classfile/editor/InstructionWriter.html @@ -0,0 +1,513 @@ + + + + + +InstructionWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.InstructionWriter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/InterfaceAdder.html b/api/proguard/classfile/editor/InterfaceAdder.html new file mode 100644 index 000000000..758866902 --- /dev/null +++ b/api/proguard/classfile/editor/InterfaceAdder.html @@ -0,0 +1,326 @@ + + + + + +InterfaceAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InterfaceAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.InterfaceAdder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor
    +
    +
    +
    public class InterfaceAdder
    +extends java.lang.Object
    +implements ConstantVisitor
    +
    This ConstantVisitor adds all interfaces that it visits to the given target class.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InterfaceAdder

        +
        public InterfaceAdder​(ProgramClass targetClass)
        +
        Creates a new InterfaceAdder that will add interfaces to the given target class.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/InterfaceDeleter.html b/api/proguard/classfile/editor/InterfaceDeleter.html new file mode 100644 index 000000000..a46194b7d --- /dev/null +++ b/api/proguard/classfile/editor/InterfaceDeleter.html @@ -0,0 +1,409 @@ + + + + + +InterfaceDeleter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InterfaceDeleter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.InterfaceDeleter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InterfaceDeleter

        +
        public InterfaceDeleter​(boolean[] delete,
        +                        boolean removeSubclasses)
        +
        Creates a new InterfaceDeleter to remove the specified interfaces.
        +
        +
        Parameters:
        +
        delete - an array that corresponds to the interfaces of a class and that specifies the + ones to be removed.
        +
        removeSubclasses - specifies whether to remove the specified interfaces as subclasses of + their superclasses.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/InterfaceSorter.html b/api/proguard/classfile/editor/InterfaceSorter.html new file mode 100644 index 000000000..c1bb39ef8 --- /dev/null +++ b/api/proguard/classfile/editor/InterfaceSorter.html @@ -0,0 +1,396 @@ + + + + + +InterfaceSorter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InterfaceSorter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.InterfaceSorter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/InterfacesEditor.html b/api/proguard/classfile/editor/InterfacesEditor.html new file mode 100644 index 000000000..15082c78f --- /dev/null +++ b/api/proguard/classfile/editor/InterfacesEditor.html @@ -0,0 +1,329 @@ + + + + + +InterfacesEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InterfacesEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.InterfacesEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class InterfacesEditor
    +extends java.lang.Object
    +
    This class can add and delete interfaces to and from classes. References to the constant pool + must be filled out beforehand.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      InterfacesEditor​(ProgramClass targetClass) +
      Creates a new InterfacesEditor that will edit interfaces in the given target class.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddInterface​(int interfaceConstantIndex) +
      Adds the specified interface to the target class, if it isn't present yet.
      +
      voiddeleteInterface​(int interfaceConstantIndex) +
      Deletes the given interface from the target class, if it is present.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InterfacesEditor

        +
        public InterfacesEditor​(ProgramClass targetClass)
        +
        Creates a new InterfacesEditor that will edit interfaces in the given target class.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addInterface

        +
        public void addInterface​(int interfaceConstantIndex)
        +
        Adds the specified interface to the target class, if it isn't present yet.
        +
      • +
      + + + +
        +
      • +

        deleteInterface

        +
        public void deleteInterface​(int interfaceConstantIndex)
        +
        Deletes the given interface from the target class, if it is present.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/LibraryClassBuilder.html b/api/proguard/classfile/editor/LibraryClassBuilder.html new file mode 100644 index 000000000..bd1c4217d --- /dev/null +++ b/api/proguard/classfile/editor/LibraryClassBuilder.html @@ -0,0 +1,670 @@ + + + + + +LibraryClassBuilder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LibraryClassBuilder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.LibraryClassBuilder
    • +
    +
  • +
+
+
    +
  • +
    +
    public class LibraryClassBuilder
    +extends java.lang.Object
    +
    This editor allows to build or extend classes (LibraryClass instances). It provides + methods to easily add interfaces, fields, and methods, optionally with method bodies. + +

    If you're adding many fields and methods, it is more efficient to reuse a single instance of + this builder for all fields and methods that you add.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      LibraryClassBuilder​(int u2accessFlags, + java.lang.String className, + java.lang.String superclassName) +
      Creates a new ClassBuilder for the Java class with the given name and super class.
      +
      LibraryClassBuilder​(int u2accessFlags, + java.lang.String className, + java.lang.String superclassName, + java.lang.String[] interfaceNames, + Clazz[] interfaceClasses, + int subClassCount, + Clazz[] subClasses, + LibraryField[] fields, + LibraryMethod[] methods, + KotlinMetadata kotlinMetadata) +
      Creates a new ClassBuilder for the Java class with the given name and super class.
      +
      LibraryClassBuilder​(LibraryClass libraryClass) +
      Creates a new ClassBuilder for the given class.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      LibraryFieldaddAndReturnField​(int u2accessFlags, + java.lang.String fieldName, + java.lang.String fieldDescriptor) +
      Adds a new field to the edited class, and returns it.
      +
      LibraryMethodaddAndReturnMethod​(int u2accessFlags, + java.lang.String methodName, + java.lang.String methodDescriptor) +
      Adds a new method to the edited class, and returns it.
      +
      LibraryClassBuilderaddField​(int u2accessFlags, + java.lang.String fieldName, + java.lang.String fieldDescriptor) +
      Adds a new field to the edited class.
      +
      LibraryClassBuilderaddField​(int u2accessFlags, + java.lang.String fieldName, + java.lang.String fieldDescriptor, + MemberVisitor extraMemberVisitor) +
      Adds a new field to the edited class.
      +
      LibraryClassBuilderaddInterface​(java.lang.String interfaceName) +
      Adds a new interface to the edited class.
      +
      LibraryClassBuilderaddInterface​(java.lang.String interfaceName, + Clazz referencedInterface) +
      Adds a new interface to the edited class.
      +
      LibraryClassBuilderaddInterface​(Clazz interfaceClass) +
      Adds a new interface to the edited class.
      +
      LibraryClassBuilderaddMethod​(int u2accessFlags, + java.lang.String methodName, + java.lang.String methodDescriptor) +
      Adds a new method to the edited class.
      +
      LibraryClassBuilderaddMethod​(int u2accessFlags, + java.lang.String methodName, + java.lang.String methodDescriptor, + MemberVisitor extraMemberVisitor) +
      Adds a new method to the edited class.
      +
      ConstantPoolEditorgetConstantPoolEditor() +
      Returns a ConstantPoolEditor instance for the created or edited class instance.
      +
      LibraryClassgetLibraryClass() +
      Returns the created or edited LibraryClass instance.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LibraryClassBuilder

        +
        public LibraryClassBuilder​(int u2accessFlags,
        +                           java.lang.String className,
        +                           java.lang.String superclassName)
        +
        Creates a new ClassBuilder for the Java class with the given name and super class.
        +
        +
        Parameters:
        +
        u2accessFlags - access flags for the new class.
        +
        className - the fully qualified name of the new class.
        +
        superclassName - the fully qualified name of the super class.
        +
        See Also:
        +
        VersionConstants, +AccessConstants
        +
        +
      • +
      + + + +
        +
      • +

        LibraryClassBuilder

        +
        public LibraryClassBuilder​(int u2accessFlags,
        +                           java.lang.String className,
        +                           java.lang.String superclassName,
        +                           java.lang.String[] interfaceNames,
        +                           Clazz[] interfaceClasses,
        +                           int subClassCount,
        +                           Clazz[] subClasses,
        +                           LibraryField[] fields,
        +                           LibraryMethod[] methods,
        +                           KotlinMetadata kotlinMetadata)
        +
        Creates a new ClassBuilder for the Java class with the given name and super class.
        +
        +
        Parameters:
        +
        u2accessFlags - access flags for the new class.
        +
        className - the fully qualified name of the new class.
        +
        superclassName - the fully qualified name of the super class.
        +
        interfaceNames - the names of the interfaces that are implemented by this class.
        +
        interfaceClasses - references to the interface classes of the interfaces that are + implemented by this class.
        +
        subClassCount - the number of subclasses of this class.
        +
        subClasses - references to the subclasses of this class.
        +
        fields - references to the fields of this class.
        +
        methods - references to the methods of this class.
        +
        kotlinMetadata - the metadata attached to this class if it is a Kotlin class
        +
        See Also:
        +
        VersionConstants, +AccessConstants
        +
        +
      • +
      + + + +
        +
      • +

        LibraryClassBuilder

        +
        public LibraryClassBuilder​(LibraryClass libraryClass)
        +
        Creates a new ClassBuilder for the given class.
        +
        +
        Parameters:
        +
        libraryClass - the class to be edited.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getLibraryClass

        +
        public LibraryClass getLibraryClass()
        +
        Returns the created or edited LibraryClass instance. This is a live instance; any later calls + to the builder will still affect the instance.
        +
      • +
      + + + +
        +
      • +

        getConstantPoolEditor

        +
        public ConstantPoolEditor getConstantPoolEditor()
        +
        Returns a ConstantPoolEditor instance for the created or edited class instance. Reusing this + instance is more efficient for newly created classes.
        +
      • +
      + + + +
        +
      • +

        addInterface

        +
        public LibraryClassBuilder addInterface​(Clazz interfaceClass)
        +
        Adds a new interface to the edited class.
        +
        +
        Parameters:
        +
        interfaceClass - the interface class.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addInterface

        +
        public LibraryClassBuilder addInterface​(java.lang.String interfaceName)
        +
        Adds a new interface to the edited class.
        +
        +
        Parameters:
        +
        interfaceName - the name of the interface.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addInterface

        +
        public LibraryClassBuilder addInterface​(java.lang.String interfaceName,
        +                                        Clazz referencedInterface)
        +
        Adds a new interface to the edited class.
        +
        +
        Parameters:
        +
        interfaceName - the name of the interface.
        +
        referencedInterface - the referenced interface.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addField

        +
        public LibraryClassBuilder addField​(int u2accessFlags,
        +                                    java.lang.String fieldName,
        +                                    java.lang.String fieldDescriptor)
        +
        Adds a new field to the edited class.
        +
        +
        Parameters:
        +
        u2accessFlags - access flags for the new field.
        +
        fieldName - name of the new field.
        +
        fieldDescriptor - descriptor of the new field.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addField

        +
        public LibraryClassBuilder addField​(int u2accessFlags,
        +                                    java.lang.String fieldName,
        +                                    java.lang.String fieldDescriptor,
        +                                    MemberVisitor extraMemberVisitor)
        +
        Adds a new field to the edited class.
        +
        +
        Parameters:
        +
        u2accessFlags - access flags for the new field.
        +
        fieldName - name of the new field.
        +
        fieldDescriptor - descriptor of the new field.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addAndReturnField

        +
        public LibraryField addAndReturnField​(int u2accessFlags,
        +                                      java.lang.String fieldName,
        +                                      java.lang.String fieldDescriptor)
        +
        Adds a new field to the edited class, and returns it.
        +
        +
        Parameters:
        +
        u2accessFlags - access flags for the new field.
        +
        fieldName - name of the new field.
        +
        fieldDescriptor - descriptor of the new field.
        +
        Returns:
        +
        the newly created field.
        +
        +
      • +
      + + + +
        +
      • +

        addMethod

        +
        public LibraryClassBuilder addMethod​(int u2accessFlags,
        +                                     java.lang.String methodName,
        +                                     java.lang.String methodDescriptor)
        +
        Adds a new method to the edited class.
        +
        +
        Parameters:
        +
        u2accessFlags - the access flags of the new method.
        +
        methodName - the name of the new method.
        +
        methodDescriptor - the descriptor of the new method.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addMethod

        +
        public LibraryClassBuilder addMethod​(int u2accessFlags,
        +                                     java.lang.String methodName,
        +                                     java.lang.String methodDescriptor,
        +                                     MemberVisitor extraMemberVisitor)
        +
        Adds a new method to the edited class.
        +
        +
        Parameters:
        +
        u2accessFlags - the access flags of the new method.
        +
        methodName - the name of the new method.
        +
        methodDescriptor - the descriptor of the new method.
        +
        extraMemberVisitor - an optional visitor for the method after it has been created and + added to the class.
        +
        Returns:
        +
        this instance of ClassBuilder.
        +
        +
      • +
      + + + +
        +
      • +

        addAndReturnMethod

        +
        public LibraryMethod addAndReturnMethod​(int u2accessFlags,
        +                                        java.lang.String methodName,
        +                                        java.lang.String methodDescriptor)
        +
        Adds a new method to the edited class, and returns it.
        +
        +
        Parameters:
        +
        u2accessFlags - the access flags of the new method.
        +
        methodName - the name of the new method.
        +
        methodDescriptor - the descriptor of the new method.
        +
        Returns:
        +
        the newly created method.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/LibraryClassEditor.html b/api/proguard/classfile/editor/LibraryClassEditor.html new file mode 100644 index 000000000..389b81e3f --- /dev/null +++ b/api/proguard/classfile/editor/LibraryClassEditor.html @@ -0,0 +1,401 @@ + + + + + +LibraryClassEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LibraryClassEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.LibraryClassEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class LibraryClassEditor
    +extends java.lang.Object
    +
    This class can add interfaces and class members to a given class. Elements to be added must be + filled out beforehand, including their references to the constant pool.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      LibraryClassEditor​(LibraryClass targetClass) +
      Creates a new ClassEditor that will edit elements in the given target class.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddField​(Field field) +
      Adds the given field.
      +
      voidaddInterface​(java.lang.String interfaceName, + Clazz referencedInterface) +
      Adds the given interface.
      +
      voidaddMethod​(Method method) +
      Adds the given method.
      +
      voidremoveField​(Field field) +
      Removes the given field.
      +
      voidremoveInterface​(java.lang.String interfaceName) +
      Removes the given interface.
      +
      voidremoveMethod​(Method method) +
      Removes the given method.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LibraryClassEditor

        +
        public LibraryClassEditor​(LibraryClass targetClass)
        +
        Creates a new ClassEditor that will edit elements in the given target class.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addInterface

        +
        public void addInterface​(java.lang.String interfaceName,
        +                         Clazz referencedInterface)
        +
        Adds the given interface.
        +
      • +
      + + + +
        +
      • +

        removeInterface

        +
        public void removeInterface​(java.lang.String interfaceName)
        +
        Removes the given interface.
        +
      • +
      + + + +
        +
      • +

        addField

        +
        public void addField​(Field field)
        +
        Adds the given field.
        +
      • +
      + + + +
        +
      • +

        removeField

        +
        public void removeField​(Field field)
        +
        Removes the given field. Note that removing a field that is still being referenced can cause + unpredictable effects.
        +
      • +
      + + + +
        +
      • +

        addMethod

        +
        public void addMethod​(Method method)
        +
        Adds the given method.
        +
      • +
      + + + +
        +
      • +

        removeMethod

        +
        public void removeMethod​(Method method)
        +
        Removes the given method. Note that removing a method that is still being referenced can cause + unpredictable effects.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/LineNumberInfoAdder.html b/api/proguard/classfile/editor/LineNumberInfoAdder.html new file mode 100644 index 000000000..6137256af --- /dev/null +++ b/api/proguard/classfile/editor/LineNumberInfoAdder.html @@ -0,0 +1,383 @@ + + + + + +LineNumberInfoAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LineNumberInfoAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.LineNumberInfoAdder
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/LineNumberTableAttributeEditor.html b/api/proguard/classfile/editor/LineNumberTableAttributeEditor.html new file mode 100644 index 000000000..adcb02499 --- /dev/null +++ b/api/proguard/classfile/editor/LineNumberTableAttributeEditor.html @@ -0,0 +1,314 @@ + + + + + +LineNumberTableAttributeEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LineNumberTableAttributeEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.LineNumberTableAttributeEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class LineNumberTableAttributeEditor
    +extends java.lang.Object
    +
    This class can add line numbers to a given line number table attribute. Line numbers to be added + must have been filled out beforehand.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      LineNumberTableAttributeEditor​(LineNumberTableAttribute targetLineNumberTableAttribute) +
      Creates a new LineNumberTableAttributeEditor that will edit line numbers in the given line + number table attribute.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddLineNumberInfo​(LineNumberInfo lineNumberInfo) +
      Adds a given line number to the line number table attribute.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LineNumberTableAttributeEditor

        +
        public LineNumberTableAttributeEditor​(LineNumberTableAttribute targetLineNumberTableAttribute)
        +
        Creates a new LineNumberTableAttributeEditor that will edit line numbers in the given line + number table attribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addLineNumberInfo

        +
        public void addLineNumberInfo​(LineNumberInfo lineNumberInfo)
        +
        Adds a given line number to the line number table attribute.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/LineNumberTableAttributeTrimmer.html b/api/proguard/classfile/editor/LineNumberTableAttributeTrimmer.html new file mode 100644 index 000000000..b441777d4 --- /dev/null +++ b/api/proguard/classfile/editor/LineNumberTableAttributeTrimmer.html @@ -0,0 +1,352 @@ + + + + + +LineNumberTableAttributeTrimmer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LineNumberTableAttributeTrimmer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.LineNumberTableAttributeTrimmer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/LocalVariableInfoAdder.html b/api/proguard/classfile/editor/LocalVariableInfoAdder.html new file mode 100644 index 000000000..eb2d6822c --- /dev/null +++ b/api/proguard/classfile/editor/LocalVariableInfoAdder.html @@ -0,0 +1,328 @@ + + + + + +LocalVariableInfoAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LocalVariableInfoAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.LocalVariableInfoAdder
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/LocalVariableTableAttributeEditor.html b/api/proguard/classfile/editor/LocalVariableTableAttributeEditor.html new file mode 100644 index 000000000..cd4c7d856 --- /dev/null +++ b/api/proguard/classfile/editor/LocalVariableTableAttributeEditor.html @@ -0,0 +1,314 @@ + + + + + +LocalVariableTableAttributeEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LocalVariableTableAttributeEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.LocalVariableTableAttributeEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class LocalVariableTableAttributeEditor
    +extends java.lang.Object
    +
    This class can add local variables to a given local variable table attribute. Local variables to + be added must have been filled out beforehand.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddLocalVariableInfo​(LocalVariableInfo localVariableInfo) +
      Adds a given line number to the line number table attribute.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LocalVariableTableAttributeEditor

        +
        public LocalVariableTableAttributeEditor​(LocalVariableTableAttribute targetLocalVariableTableAttribute)
        +
        Creates a new LocalVariableTableAttributeEditor that will edit local variables in the given + local variable table attribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addLocalVariableInfo

        +
        public void addLocalVariableInfo​(LocalVariableInfo localVariableInfo)
        +
        Adds a given line number to the line number table attribute.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/LocalVariableTypeInfoAdder.html b/api/proguard/classfile/editor/LocalVariableTypeInfoAdder.html new file mode 100644 index 000000000..e91d56141 --- /dev/null +++ b/api/proguard/classfile/editor/LocalVariableTypeInfoAdder.html @@ -0,0 +1,328 @@ + + + + + +LocalVariableTypeInfoAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LocalVariableTypeInfoAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.LocalVariableTypeInfoAdder
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/LocalVariableTypeTableAttributeEditor.html b/api/proguard/classfile/editor/LocalVariableTypeTableAttributeEditor.html new file mode 100644 index 000000000..6972d95dd --- /dev/null +++ b/api/proguard/classfile/editor/LocalVariableTypeTableAttributeEditor.html @@ -0,0 +1,314 @@ + + + + + +LocalVariableTypeTableAttributeEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LocalVariableTypeTableAttributeEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.LocalVariableTypeTableAttributeEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class LocalVariableTypeTableAttributeEditor
    +extends java.lang.Object
    +
    This class can add local variables to a given local variable type table attribute. Local variable + types to be added must have been filled out beforehand.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddLocalVariableTypeInfo​(LocalVariableTypeInfo localVariableTypeInfo) +
      Adds a given local variable type to the local variable type table attribute.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LocalVariableTypeTableAttributeEditor

        +
        public LocalVariableTypeTableAttributeEditor​(LocalVariableTypeTableAttribute targetLocalVariableTypeTableAttribute)
        +
        Creates a new LocalVariableTypeTableAttributeEditor that will edit local variable types in the + given local variable type table attribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addLocalVariableTypeInfo

        +
        public void addLocalVariableTypeInfo​(LocalVariableTypeInfo localVariableTypeInfo)
        +
        Adds a given local variable type to the local variable type table attribute.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/MemberAdder.html b/api/proguard/classfile/editor/MemberAdder.html new file mode 100644 index 000000000..50a537aaa --- /dev/null +++ b/api/proguard/classfile/editor/MemberAdder.html @@ -0,0 +1,422 @@ + + + + + +MemberAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.MemberAdder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberAdder
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor copies all class members that it visits to the given target class. + Their processing info is set to the class members from which they were copied.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MemberAdder

        +
        public MemberAdder​(ProgramClass targetClass)
        +
        Creates a new MemberAdder that will copy methods into the given target class.
        +
        +
        Parameters:
        +
        targetClass - the class to which all visited class members will be added.
        +
        +
      • +
      + + + +
        +
      • +

        MemberAdder

        +
        public MemberAdder​(ProgramClass targetClass,
        +                   MemberVisitor extraMemberVisitor)
        +
        Creates a new MemberAdder that will copy methods into the given target class.
        +
        +
        Parameters:
        +
        targetClass - the class to which all visited class members will be added.
        +
        extraMemberVisitor - an optional member visitor that visits each new member right after it + has been added. This allows changing the processing info, for instance.
        +
        +
      • +
      + + + +
        +
      • +

        MemberAdder

        +
        public MemberAdder​(ProgramClass targetClass,
        +                   StringFunction nameTransformer,
        +                   MemberVisitor extraMemberVisitor)
        +
        Creates a new MemberAdder that will copy methods into the given target class.
        +
        +
        Parameters:
        +
        targetClass - the class to which all visited class members will be added.
        +
        nameTransformer - the transformer to be applied to each member's name before copying. If + null, the original name will be used.
        +
        extraMemberVisitor - an optional member visitor that visits each new member right after it + has been added. This allows changing the processing info, for instance.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        This main method illustrates and tests the class, by reading an input class file and copying + its class members into a new class that it writes to an output class file.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/MemberReferenceFixer.html b/api/proguard/classfile/editor/MemberReferenceFixer.html new file mode 100644 index 000000000..45cd90ad1 --- /dev/null +++ b/api/proguard/classfile/editor/MemberReferenceFixer.html @@ -0,0 +1,849 @@ + + + + + +MemberReferenceFixer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberReferenceFixer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.MemberReferenceFixer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/MemberRemover.html b/api/proguard/classfile/editor/MemberRemover.html new file mode 100644 index 000000000..597b9302d --- /dev/null +++ b/api/proguard/classfile/editor/MemberRemover.html @@ -0,0 +1,432 @@ + + + + + +MemberRemover (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberRemover

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.MemberRemover
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor, MemberVisitor
    +
    +
    +
    public class MemberRemover
    +extends java.lang.Object
    +implements ClassVisitor, MemberVisitor
    +
    This visitor removes all members it visits in a ProgramClass. + +

    It should be used in two steps: + +

      +
    • in the first step, the collection step, all program fields to be removed should be visited. +
    • in the second step, the removal step, the program class containing the program fields + should be visited. This will actually delete all collected fields. +
    + +

    For example, to remove all fields in a program class: + +

    +     MemberRemover remover = new MemberRemover();
    +     programClass.fieldsAccept(remover);
    +     programClass.accept(remover);
    + 
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/MethodCopier.html b/api/proguard/classfile/editor/MethodCopier.html new file mode 100644 index 000000000..fa6517ec1 --- /dev/null +++ b/api/proguard/classfile/editor/MethodCopier.html @@ -0,0 +1,494 @@ + + + + + +MethodCopier (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodCopier

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.MethodCopier
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor, ClassVisitor, MemberVisitor
    +
    +
    +
    public class MethodCopier
    +extends java.lang.Object
    +implements ClassVisitor, MemberVisitor, AttributeVisitor
    +
    This ClassVisitor copies a method into a target class. It first checks if a method with + the same name and descriptor as the method to be copied already exists in the target class. If + that is indeed the case, this visitor is a no-op. This visitor optionally uses a name transformer + function to apply to the original method's name before copying. If no name transformer function + is provided, the original method's name is used, instead. If the method to be copied is indeed + copied into the target class, this visitor passes the resulting method to an extra member + visitor, if provided.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/MethodInvocationFixer.html b/api/proguard/classfile/editor/MethodInvocationFixer.html new file mode 100644 index 000000000..699de8e8c --- /dev/null +++ b/api/proguard/classfile/editor/MethodInvocationFixer.html @@ -0,0 +1,492 @@ + + + + + +MethodInvocationFixer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodInvocationFixer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.MethodInvocationFixer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/NameAndTypeShrinker.html b/api/proguard/classfile/editor/NameAndTypeShrinker.html new file mode 100644 index 000000000..bd60a1d13 --- /dev/null +++ b/api/proguard/classfile/editor/NameAndTypeShrinker.html @@ -0,0 +1,474 @@ + + + + + +NameAndTypeShrinker (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NameAndTypeShrinker

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.NameAndTypeShrinker
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/NamedAttributeDeleter.html b/api/proguard/classfile/editor/NamedAttributeDeleter.html new file mode 100644 index 000000000..a68b98ea8 --- /dev/null +++ b/api/proguard/classfile/editor/NamedAttributeDeleter.html @@ -0,0 +1,446 @@ + + + + + +NamedAttributeDeleter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NamedAttributeDeleter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.NamedAttributeDeleter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/NestMemberAdder.html b/api/proguard/classfile/editor/NestMemberAdder.html new file mode 100644 index 000000000..8e667ef51 --- /dev/null +++ b/api/proguard/classfile/editor/NestMemberAdder.html @@ -0,0 +1,384 @@ + + + + + +NestMemberAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NestMemberAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.NestMemberAdder
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NestMemberAdder

        +
        public NestMemberAdder​(ProgramClass targetClass,
        +                       NestMembersAttribute targetNestMembersAttribute)
        +
        Creates a new NestMemberAdder that will add classes to the given target nest members attribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyConstant

        +
        public void visitAnyConstant​(Clazz clazz,
        +                             Constant constant)
        +
        Description copied from interface: ConstantVisitor
        +
        Visits any Constant instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyConstant in interface ConstantVisitor
        +
        +
      • +
      + + + + + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ParameterAnnotationsAttributeEditor.html b/api/proguard/classfile/editor/ParameterAnnotationsAttributeEditor.html new file mode 100644 index 000000000..d922ae5c2 --- /dev/null +++ b/api/proguard/classfile/editor/ParameterAnnotationsAttributeEditor.html @@ -0,0 +1,354 @@ + + + + + +ParameterAnnotationsAttributeEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ParameterAnnotationsAttributeEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ParameterAnnotationsAttributeEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ParameterAnnotationsAttributeEditor
    +extends java.lang.Object
    +
    This class can add annotations to a given parameter annotations attribute. Annotations to be + added must have been filled out beforehand.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddAnnotation​(int parameterIndex, + Annotation annotation) +
      Adds a given annotation to the annotations attribute.
      +
      voiddeleteAnnotation​(int parameterIndex, + int annotationIndex) +
      Deletes the annotation at the given index from the annotations attribute.
      +
      voiddeleteAnnotation​(int parameterIndex, + Annotation annotation) +
      Deletes a given annotation from the annotations attribute.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ParameterAnnotationsAttributeEditor

        +
        public ParameterAnnotationsAttributeEditor​(ParameterAnnotationsAttribute targetParameterAnnotationsAttribute)
        +
        Creates a new ParameterAnnotationsAttributeEditor that will edit annotations in the given + parameter annotations attribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addAnnotation

        +
        public void addAnnotation​(int parameterIndex,
        +                          Annotation annotation)
        +
        Adds a given annotation to the annotations attribute.
        +
      • +
      + + + +
        +
      • +

        deleteAnnotation

        +
        public void deleteAnnotation​(int parameterIndex,
        +                             Annotation annotation)
        +
        Deletes a given annotation from the annotations attribute.
        +
      • +
      + + + +
        +
      • +

        deleteAnnotation

        +
        public void deleteAnnotation​(int parameterIndex,
        +                             int annotationIndex)
        +
        Deletes the annotation at the given index from the annotations attribute.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/ParameterInfoAdder.html b/api/proguard/classfile/editor/ParameterInfoAdder.html new file mode 100644 index 000000000..f13b168e9 --- /dev/null +++ b/api/proguard/classfile/editor/ParameterInfoAdder.html @@ -0,0 +1,328 @@ + + + + + +ParameterInfoAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ParameterInfoAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ParameterInfoAdder
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ParameterInfoAdder​(ProgramClass targetClass, + MethodParametersAttribute targetMethodParametersAttribute) +
      Creates a new ParameterInfoAdder that will copy parameter information into the given target + method parameters attribute.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ParameterInfoAdder

        +
        public ParameterInfoAdder​(ProgramClass targetClass,
        +                          MethodParametersAttribute targetMethodParametersAttribute)
        +
        Creates a new ParameterInfoAdder that will copy parameter information into the given target + method parameters attribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/PeepholeEditor.html b/api/proguard/classfile/editor/PeepholeEditor.html new file mode 100644 index 000000000..e83089f41 --- /dev/null +++ b/api/proguard/classfile/editor/PeepholeEditor.html @@ -0,0 +1,391 @@ + + + + + +PeepholeEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PeepholeEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.PeepholeEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class PeepholeEditor
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor lets a given instruction visitor edit the code attributes that it + visits. The instruction visitor can use a given (optional) branch target finder and code + attribute editor, which this class sets up and applies, for convenience.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PeepholeEditor

        +
        public PeepholeEditor​(CodeAttributeEditor codeAttributeEditor,
        +                      InstructionVisitor instructionVisitor)
        +
        Creates a new PeepholeEditor.
        +
        +
        Parameters:
        +
        codeAttributeEditor - the code attribute editor that will be reset and then executed.
        +
        instructionVisitor - the instruction visitor that performs peephole optimizations using + the above code attribute editor.
        +
        +
      • +
      + + + +
        +
      • +

        PeepholeEditor

        +
        public PeepholeEditor​(BranchTargetFinder branchTargetFinder,
        +                      CodeAttributeEditor codeAttributeEditor,
        +                      InstructionVisitor instructionVisitor)
        +
        Creates a new PeepholeEditor.
        +
        +
        Parameters:
        +
        branchTargetFinder - branch target finder that will be initialized to indicate branch + targets in the visited code.
        +
        codeAttributeEditor - the code attribute editor that will be reset and then executed.
        +
        instructionVisitor - the instruction visitor that performs peephole optimizations using + the above code attribute editor.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/PermittedSubclassAdder.html b/api/proguard/classfile/editor/PermittedSubclassAdder.html new file mode 100644 index 000000000..0bcba1241 --- /dev/null +++ b/api/proguard/classfile/editor/PermittedSubclassAdder.html @@ -0,0 +1,386 @@ + + + + + +PermittedSubclassAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PermittedSubclassAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.PermittedSubclassAdder
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PermittedSubclassAdder

        +
        public PermittedSubclassAdder​(ProgramClass targetClass,
        +                              PermittedSubclassesAttribute targetPermittedSubclassesAttribute)
        +
        Creates a new PermittedSubclassAdder that will add classes to the given target nest members + attribute.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyConstant

        +
        public void visitAnyConstant​(Clazz clazz,
        +                             Constant constant)
        +
        Description copied from interface: ConstantVisitor
        +
        Visits any Constant instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyConstant in interface ConstantVisitor
        +
        +
      • +
      + + + + + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/StackSizeUpdater.html b/api/proguard/classfile/editor/StackSizeUpdater.html new file mode 100644 index 000000000..f49d7ab6e --- /dev/null +++ b/api/proguard/classfile/editor/StackSizeUpdater.html @@ -0,0 +1,351 @@ + + + + + +StackSizeUpdater (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StackSizeUpdater

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.StackSizeUpdater
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class StackSizeUpdater
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor computes and updates the maximum stack size of the code attributes + that it visits.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/SubclassAdder.html b/api/proguard/classfile/editor/SubclassAdder.html new file mode 100644 index 000000000..99bae347b --- /dev/null +++ b/api/proguard/classfile/editor/SubclassAdder.html @@ -0,0 +1,330 @@ + + + + + +SubclassAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SubclassAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.SubclassAdder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class SubclassAdder
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor adds the given class to the list of subclasses of the classes that it + visits.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SubclassAdder​(Clazz subclass) +
      Creates a new SubclassAdder that will add the given subclass.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SubclassAdder

        +
        public SubclassAdder​(Clazz subclass)
        +
        Creates a new SubclassAdder that will add the given subclass.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/SubclassRemover.html b/api/proguard/classfile/editor/SubclassRemover.html new file mode 100644 index 000000000..171293d88 --- /dev/null +++ b/api/proguard/classfile/editor/SubclassRemover.html @@ -0,0 +1,330 @@ + + + + + +SubclassRemover (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SubclassRemover

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.SubclassRemover
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class SubclassRemover
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor removes the given class from the list of subclasses of the classes that + it visits.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SubclassRemover​(Clazz subclass) +
      Creates a new SubclassRemover that will remove the given subclass.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SubclassRemover

        +
        public SubclassRemover​(Clazz subclass)
        +
        Creates a new SubclassRemover that will remove the given subclass.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/SubclassToAdder.html b/api/proguard/classfile/editor/SubclassToAdder.html new file mode 100644 index 000000000..eb6bf4039 --- /dev/null +++ b/api/proguard/classfile/editor/SubclassToAdder.html @@ -0,0 +1,330 @@ + + + + + +SubclassToAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SubclassToAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.SubclassToAdder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class SubclassToAdder
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor adds all classes that it visits to the list of subclasses of the given + target class.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SubclassToAdder​(Clazz targetClass) +
      Creates a new SubclassAdder that will add subclasses to the given target class.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SubclassToAdder

        +
        public SubclassToAdder​(Clazz targetClass)
        +
        Creates a new SubclassAdder that will add subclasses to the given target class.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/TargetInfoCopier.html b/api/proguard/classfile/editor/TargetInfoCopier.html new file mode 100644 index 000000000..503e28609 --- /dev/null +++ b/api/proguard/classfile/editor/TargetInfoCopier.html @@ -0,0 +1,553 @@ + + + + + +TargetInfoCopier (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TargetInfoCopier

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.TargetInfoCopier
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    TargetInfoVisitor
    +
    +
    +
    public class TargetInfoCopier
    +extends java.lang.Object
    +implements TargetInfoVisitor
    +
    This TargetInfoVisitor copies the target info instances that it visits to the given type + annotation (each time overwriting any previous target info).
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/TypeAnnotationAdder.html b/api/proguard/classfile/editor/TypeAnnotationAdder.html new file mode 100644 index 000000000..636cda667 --- /dev/null +++ b/api/proguard/classfile/editor/TypeAnnotationAdder.html @@ -0,0 +1,356 @@ + + + + + +TypeAnnotationAdder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypeAnnotationAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.TypeAnnotationAdder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    TypeAnnotationVisitor
    +
    +
    +
    public class TypeAnnotationAdder
    +extends java.lang.Object
    +implements TypeAnnotationVisitor
    +
    This TypeAnnotationVisitor adds all type annotations that it visits to the given target + annotation element value, target annotation attribute, or target parameter annotation attribute.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TypeAnnotationAdder

        +
        public TypeAnnotationAdder​(ProgramClass targetClass,
        +                           AnnotationElementValue targetAnnotationElementValue)
        +
        Creates a new TypeAnnotationAdder that will copy annotations into the given target annotation + element value.
        +
      • +
      + + + +
        +
      • +

        TypeAnnotationAdder

        +
        public TypeAnnotationAdder​(ProgramClass targetClass,
        +                           AnnotationsAttribute targetAnnotationsAttribute)
        +
        Creates a new TypeAnnotationAdder that will copy annotations into the given target annotations + attribute.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/Utf8Shrinker.html b/api/proguard/classfile/editor/Utf8Shrinker.html new file mode 100644 index 000000000..ceddc9db9 --- /dev/null +++ b/api/proguard/classfile/editor/Utf8Shrinker.html @@ -0,0 +1,1333 @@ + + + + + +Utf8Shrinker (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Utf8Shrinker

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.Utf8Shrinker
    • +
    +
  • +
+ +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/VariableCleaner.html b/api/proguard/classfile/editor/VariableCleaner.html new file mode 100644 index 000000000..663bf24ae --- /dev/null +++ b/api/proguard/classfile/editor/VariableCleaner.html @@ -0,0 +1,400 @@ + + + + + +VariableCleaner (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VariableCleaner

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.VariableCleaner
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class VariableCleaner
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor cleans up variable tables in all code attributes that it visits. It + trims overlapping local variables. It removes empty local variables and empty local variable + tables.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/VariableEditor.html b/api/proguard/classfile/editor/VariableEditor.html new file mode 100644 index 000000000..2d2bbaf4d --- /dev/null +++ b/api/proguard/classfile/editor/VariableEditor.html @@ -0,0 +1,410 @@ + + + + + +VariableEditor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VariableEditor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.VariableEditor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class VariableEditor
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor accumulates specified changes to local variables, and then applies + these accumulated changes to the code attributes that it visits.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        VariableEditor

        +
        public VariableEditor()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        reset

        +
        public void reset​(int maxLocals)
        +
        Resets the accumulated code changes.
        +
        +
        Parameters:
        +
        maxLocals - the length of the local variable frame that will be edited next.
        +
        +
      • +
      + + + +
        +
      • +

        deleteVariable

        +
        public void deleteVariable​(int variableIndex)
        +
        Remembers to delete the given variable.
        +
        +
        Parameters:
        +
        variableIndex - the index of the variable to be deleted.
        +
        +
      • +
      + + + +
        +
      • +

        isDeleted

        +
        public boolean isDeleted​(int instructionOffset)
        +
        Returns whether the given variable at the given offset will be deleted.
        +
      • +
      + + + +
        +
      • +

        visitAnyAttribute

        +
        public void visitAnyAttribute​(Clazz clazz,
        +                              Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/editor/VariableRemapper.html b/api/proguard/classfile/editor/VariableRemapper.html new file mode 100644 index 000000000..2a03e29da --- /dev/null +++ b/api/proguard/classfile/editor/VariableRemapper.html @@ -0,0 +1,696 @@ + + + + + +VariableRemapper (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VariableRemapper

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.VariableRemapper
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/VariableSizeUpdater.html b/api/proguard/classfile/editor/VariableSizeUpdater.html new file mode 100644 index 000000000..050e2301f --- /dev/null +++ b/api/proguard/classfile/editor/VariableSizeUpdater.html @@ -0,0 +1,415 @@ + + + + + +VariableSizeUpdater (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VariableSizeUpdater

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.VariableSizeUpdater
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/editor/package-summary.html b/api/proguard/classfile/editor/package-summary.html new file mode 100644 index 000000000..5e1922e32 --- /dev/null +++ b/api/proguard/classfile/editor/package-summary.html @@ -0,0 +1,712 @@ + + + + + +proguard.classfile.editor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.editor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/editor/package-tree.html b/api/proguard/classfile/editor/package-tree.html new file mode 100644 index 000000000..1791dc378 --- /dev/null +++ b/api/proguard/classfile/editor/package-tree.html @@ -0,0 +1,256 @@ + + + + + +proguard.classfile.editor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.editor

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/exception/NegativeStackSizeException.html b/api/proguard/classfile/exception/NegativeStackSizeException.html new file mode 100644 index 000000000..8906991ac --- /dev/null +++ b/api/proguard/classfile/exception/NegativeStackSizeException.html @@ -0,0 +1,411 @@ + + + + + +NegativeStackSizeException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NegativeStackSizeException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • + +
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NegativeStackSizeException

        +
        public NegativeStackSizeException​(Clazz clazz,
        +                                  Method method,
        +                                  Instruction instruction,
        +                                  int instructionOffset)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getClazz

        +
        public Clazz getClazz()
        +
      • +
      + + + +
        +
      • +

        getMethod

        +
        public Method getMethod()
        +
      • +
      + + + +
        +
      • +

        getInstruction

        +
        public Instruction getInstruction()
        +
      • +
      + + + +
        +
      • +

        getInstructionOffset

        +
        public int getInstructionOffset()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/exception/package-summary.html b/api/proguard/classfile/exception/package-summary.html new file mode 100644 index 000000000..bbbaacd94 --- /dev/null +++ b/api/proguard/classfile/exception/package-summary.html @@ -0,0 +1,164 @@ + + + + + +proguard.classfile.exception (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.exception

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/exception/package-tree.html b/api/proguard/classfile/exception/package-tree.html new file mode 100644 index 000000000..ca9d41bb1 --- /dev/null +++ b/api/proguard/classfile/exception/package-tree.html @@ -0,0 +1,177 @@ + + + + + +proguard.classfile.exception Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.exception

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object + +
  • +
+
+
+
+ + + diff --git a/api/proguard/classfile/instruction/BranchInstruction.html b/api/proguard/classfile/instruction/BranchInstruction.html new file mode 100644 index 000000000..1316d627b --- /dev/null +++ b/api/proguard/classfile/instruction/BranchInstruction.html @@ -0,0 +1,620 @@ + + + + + +BranchInstruction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BranchInstruction

+
+
+ +
+
    +
  • +
    +
    public class BranchInstruction
    +extends Instruction
    +
    This interface describes an instruction that branches to a given offset in the code.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        branchOffset

        +
        public int branchOffset
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BranchInstruction

        +
        public BranchInstruction()
        +
        Creates an uninitialized BranchInstruction.
        +
      • +
      + + + +
        +
      • +

        BranchInstruction

        +
        public BranchInstruction​(byte opcode,
        +                         int branchOffset)
        +
        Creates a BranchInstruction with the given branch offset. The branch offset is relative to this + instruction's offset.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        copy

        +
        public BranchInstruction copy​(BranchInstruction branchInstruction)
        +
        Copies the given instruction into this instruction.
        +
        +
        Parameters:
        +
        branchInstruction - the instruction to be copied.
        +
        Returns:
        +
        this instruction.
        +
        +
      • +
      + + + +
        +
      • +

        canonicalOpcode

        +
        public byte canonicalOpcode()
        +
        Description copied from class: Instruction
        +
        Returns the canonical opcode of this instruction, i.e. typically the opcode whose extension has + been removed.
        +
        +
        Overrides:
        +
        canonicalOpcode in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        shrink

        +
        public Instruction shrink()
        +
        Description copied from class: Instruction
        +
        Shrinks this instruction to its shortest possible form.
        +
        +
        Specified by:
        +
        shrink in class Instruction
        +
        Returns:
        +
        this instruction.
        +
        +
      • +
      + + + +
        +
      • +

        readInfo

        +
        protected void readInfo​(byte[] code,
        +                        int offset)
        +
        Description copied from class: Instruction
        +
        Reads the data following the instruction opcode.
        +
        +
        Specified by:
        +
        readInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        writeInfo

        +
        protected void writeInfo​(byte[] code,
        +                         int offset)
        +
        Description copied from class: Instruction
        +
        Writes data following the instruction opcode.
        +
        +
        Specified by:
        +
        writeInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        length

        +
        public int length​(int offset)
        +
        Description copied from class: Instruction
        +
        Returns the length in bytes of the instruction.
        +
        +
        Specified by:
        +
        length in class Instruction
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString​(int offset)
        +
        Description copied from class: Instruction
        +
        Returns a description of the instruction, at the given offset.
        +
        +
        Overrides:
        +
        toString in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Specified by:
        +
        equals in class Instruction
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/ConstantInstruction.html b/api/proguard/classfile/instruction/ConstantInstruction.html new file mode 100644 index 000000000..ab7770cf8 --- /dev/null +++ b/api/proguard/classfile/instruction/ConstantInstruction.html @@ -0,0 +1,1095 @@ + + + + + +ConstantInstruction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantInstruction

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/Instruction.html b/api/proguard/classfile/instruction/Instruction.html new file mode 100644 index 000000000..fee5f3953 --- /dev/null +++ b/api/proguard/classfile/instruction/Instruction.html @@ -0,0 +1,4776 @@ + + + + + +Instruction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Instruction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.instruction.Instruction
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/InstructionFactory.html b/api/proguard/classfile/instruction/InstructionFactory.html new file mode 100644 index 000000000..d18d21e3f --- /dev/null +++ b/api/proguard/classfile/instruction/InstructionFactory.html @@ -0,0 +1,346 @@ + + + + + +InstructionFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionFactory

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.instruction.InstructionFactory
    • +
    +
  • +
+
+
    +
  • +
    +
    public class InstructionFactory
    +extends java.lang.Object
    +
    This class provides methods to create and reuse Instruction instances.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      InstructionFactory() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static Instructioncreate​(byte opcode) +
      Creates a new Instruction corresponding to the given opcode.
      +
      static Instructioncreate​(byte[] code, + int offset) +
      Creates a new Instruction from the data in the byte array, starting at the given offset.
      +
      static Instructioncreate​(byte opcode, + boolean wide) +
      Creates a new Instruction corresponding to the given opcode.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InstructionFactory

        +
        public InstructionFactory()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        create

        +
        public static Instruction create​(byte[] code,
        +                                 int offset)
        +
        Creates a new Instruction from the data in the byte array, starting at the given offset.
        +
      • +
      + + + +
        +
      • +

        create

        +
        public static Instruction create​(byte opcode)
        +
        Creates a new Instruction corresponding to the given opcode.
        +
      • +
      + + + +
        +
      • +

        create

        +
        public static Instruction create​(byte opcode,
        +                                 boolean wide)
        +
        Creates a new Instruction corresponding to the given opcode.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/InstructionUtil.html b/api/proguard/classfile/instruction/InstructionUtil.html new file mode 100644 index 000000000..c69de24b0 --- /dev/null +++ b/api/proguard/classfile/instruction/InstructionUtil.html @@ -0,0 +1,375 @@ + + + + + +InstructionUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.instruction.InstructionUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class InstructionUtil
    +extends java.lang.Object
    +
    Utility methods for converting between representations of names and descriptions.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      InstructionUtil() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static bytearrayTypeFromInternalType​(char internalType) +
      Returns the 'newarray' type constant for the given internal primitive type.
      +
      static charinternalTypeFromArrayType​(byte arrayType) +
      Returns the internal type corresponding to the given 'newarray' type.
      +
      static booleanisStaticCall​(byte opcode) +
      Check if an instruction opcode refers to a static call (i.e.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InstructionUtil

        +
        public InstructionUtil()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        internalTypeFromArrayType

        +
        public static char internalTypeFromArrayType​(byte arrayType)
        +
        Returns the internal type corresponding to the given 'newarray' type.
        +
        +
        Parameters:
        +
        arrayType - Instruction.ARRAY_T_BOOLEAN, Instruction.ARRAY_T_BYTE + , Instruction.ARRAY_T_CHAR, Instruction.ARRAY_T_SHORT, + Instruction.ARRAY_T_INT, Instruction.ARRAY_T_LONG, + Instruction.ARRAY_T_FLOAT, or Instruction.ARRAY_T_DOUBLE.
        +
        Returns:
        +
        TypeConstants.BOOLEAN, TypeConstants.BYTE, + TypeConstants.CHAR, TypeConstants.SHORT, TypeConstants.INT + , TypeConstants.LONG, TypeConstants.FLOAT, or + TypeConstants.DOUBLE.
        +
        +
      • +
      + + + +
        +
      • +

        arrayTypeFromInternalType

        +
        public static byte arrayTypeFromInternalType​(char internalType)
        +
        Returns the 'newarray' type constant for the given internal primitive type.
        +
        +
        Parameters:
        +
        internalType - a primitive type TypeConstants.BOOLEAN, + TypeConstants.BYTE, TypeConstants.CHAR, TypeConstants.SHORT + , TypeConstants.INT, TypeConstants.LONG, + TypeConstants.FLOAT, or TypeConstants.DOUBLE.
        +
        Returns:
        +
        the array type constant corresponding to the given primitive type; + TypeConstants.BOOLEAN, TypeConstants.BYTE, TypeConstants.CHAR + , TypeConstants.SHORT, TypeConstants.INT, + TypeConstants.LONG, TypeConstants.FLOAT, or TypeConstants.DOUBLE + .
        +
        See Also:
        +
        internalTypeFromArrayType(byte)
        +
        +
      • +
      + + + +
        +
      • +

        isStaticCall

        +
        public static boolean isStaticCall​(byte opcode)
        +
        Check if an instruction opcode refers to a static call (i.e. no calling instance needed).
        +
        +
        Parameters:
        +
        opcode - The instruction opcode to check
        +
        Returns:
        +
        False if this call requires a calling instance, true otherwise.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/LookUpSwitchInstruction.html b/api/proguard/classfile/instruction/LookUpSwitchInstruction.html new file mode 100644 index 000000000..8516e3592 --- /dev/null +++ b/api/proguard/classfile/instruction/LookUpSwitchInstruction.html @@ -0,0 +1,580 @@ + + + + + +LookUpSwitchInstruction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LookUpSwitchInstruction

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        cases

        +
        public int[] cases
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LookUpSwitchInstruction

        +
        public LookUpSwitchInstruction()
        +
        Creates an uninitialized LookUpSwitchInstruction.
        +
      • +
      + + + +
        +
      • +

        LookUpSwitchInstruction

        +
        public LookUpSwitchInstruction​(byte opcode,
        +                               int defaultOffset,
        +                               int[] cases,
        +                               int[] jumpOffsets)
        +
        Creates a new LookUpSwitchInstruction with the given arguments. All offsets are relative to + this instruction's offset.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        copy

        +
        public LookUpSwitchInstruction copy​(LookUpSwitchInstruction lookUpSwitchInstruction)
        +
        Copies the given instruction into this instruction.
        +
        +
        Parameters:
        +
        lookUpSwitchInstruction - the instruction to be copied.
        +
        Returns:
        +
        this instruction.
        +
        +
      • +
      + + + +
        +
      • +

        shrink

        +
        public Instruction shrink()
        +
        Description copied from class: Instruction
        +
        Shrinks this instruction to its shortest possible form.
        +
        +
        Specified by:
        +
        shrink in class Instruction
        +
        Returns:
        +
        this instruction.
        +
        +
      • +
      + + + +
        +
      • +

        readInfo

        +
        protected void readInfo​(byte[] code,
        +                        int offset)
        +
        Description copied from class: Instruction
        +
        Reads the data following the instruction opcode.
        +
        +
        Specified by:
        +
        readInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        writeInfo

        +
        protected void writeInfo​(byte[] code,
        +                         int offset)
        +
        Description copied from class: Instruction
        +
        Writes data following the instruction opcode.
        +
        +
        Specified by:
        +
        writeInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        length

        +
        public int length​(int offset)
        +
        Description copied from class: Instruction
        +
        Returns the length in bytes of the instruction.
        +
        +
        Specified by:
        +
        length in class Instruction
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class SwitchInstruction
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/SimpleInstruction.html b/api/proguard/classfile/instruction/SimpleInstruction.html new file mode 100644 index 000000000..580f1b461 --- /dev/null +++ b/api/proguard/classfile/instruction/SimpleInstruction.html @@ -0,0 +1,655 @@ + + + + + +SimpleInstruction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SimpleInstruction

+
+
+ +
+
    +
  • +
    +
    public class SimpleInstruction
    +extends Instruction
    +
    This Instruction represents a simple instruction without variable arguments or constant + pool references.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        constant

        +
        public int constant
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SimpleInstruction

        +
        public SimpleInstruction()
        +
        Creates an uninitialized SimpleInstruction.
        +
      • +
      + + + +
        +
      • +

        SimpleInstruction

        +
        public SimpleInstruction​(byte opcode)
        +
        Creates a new SimpleInstruction with the given opcode. Automatically extracts any embedded + constant.
        +
      • +
      + + + +
        +
      • +

        SimpleInstruction

        +
        public SimpleInstruction​(byte opcode,
        +                         int constant)
        +
        Creates a new SimpleInstruction with the given opcode and constant. Automatically adapts the + opcode if it has an embedded constant and the constant lies within the supported range. If the + constant doesn't lie within the supported range, it must be adapted before the instruction can + be written out.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        copy

        +
        public SimpleInstruction copy​(SimpleInstruction simpleInstruction)
        +
        Copies the given instruction into this instruction.
        +
        +
        Parameters:
        +
        simpleInstruction - the instruction to be copied.
        +
        Returns:
        +
        this instruction.
        +
        +
      • +
      + + + +
        +
      • +

        canonicalOpcode

        +
        public byte canonicalOpcode()
        +
        Description copied from class: Instruction
        +
        Returns the canonical opcode of this instruction, i.e. typically the opcode whose extension has + been removed.
        +
        +
        Overrides:
        +
        canonicalOpcode in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        shrink

        +
        public Instruction shrink()
        +
        Description copied from class: Instruction
        +
        Shrinks this instruction to its shortest possible form.
        +
        +
        Specified by:
        +
        shrink in class Instruction
        +
        Returns:
        +
        this instruction.
        +
        +
      • +
      + + + +
        +
      • +

        readInfo

        +
        protected void readInfo​(byte[] code,
        +                        int offset)
        +
        Description copied from class: Instruction
        +
        Reads the data following the instruction opcode.
        +
        +
        Specified by:
        +
        readInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        writeInfo

        +
        protected void writeInfo​(byte[] code,
        +                         int offset)
        +
        Description copied from class: Instruction
        +
        Writes data following the instruction opcode.
        +
        +
        Specified by:
        +
        writeInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        length

        +
        public int length​(int offset)
        +
        Description copied from class: Instruction
        +
        Returns the length in bytes of the instruction.
        +
        +
        Specified by:
        +
        length in class Instruction
        +
        +
      • +
      + + + + + + + +
        +
      • +

        stackEntryIndexBefore

        +
        public int stackEntryIndexBefore​(Clazz clazz,
        +                                 int stackEntryIndexAfter)
        +
        Description copied from class: Instruction
        +
        Returns the stack entry index from which the specified stack entry is copied by a + dup/swap/checkcast instruction, or -1 otherwise. Stack entry indices are counted from the top + of the stack. + +
          +
        • checkcast: after: 0 (before: 0 ) -- not anymore +
        • dup: after: 0 0 (before: 0 ) +
        • dup_x1: after: 0 1 0 (before: 1 0 ) +
        • dup_x2: after: 0 2 1 0 (before: 2 1 0 ) +
        • dup2: after: 1 0 1 0 (before: 1 0 ) +
        • dup2_x1: after: 1 0 2 1 0 (before: 2 1 0 ) +
        • dup2_x2: after: 1 0 3 2 1 0 (before: 3 2 1 0) +
        +
        +
        Overrides:
        +
        stackEntryIndexBefore in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Specified by:
        +
        equals in class Instruction
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/SwitchInstruction.html b/api/proguard/classfile/instruction/SwitchInstruction.html new file mode 100644 index 000000000..b79f7735f --- /dev/null +++ b/api/proguard/classfile/instruction/SwitchInstruction.html @@ -0,0 +1,493 @@ + + + + + +SwitchInstruction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SwitchInstruction

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        defaultOffset

        +
        public int defaultOffset
        +
      • +
      + + + +
        +
      • +

        jumpOffsets

        +
        public int[] jumpOffsets
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SwitchInstruction

        +
        public SwitchInstruction()
        +
        Creates an uninitialized SwitchInstruction.
        +
      • +
      + + + +
        +
      • +

        SwitchInstruction

        +
        public SwitchInstruction​(byte opcode,
        +                         int defaultOffset,
        +                         int[] jumpOffsets)
        +
        Creates a new SwitchInstruction with the given arguments. All offsets are relative to this + instruction's offset.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        copy

        +
        public SwitchInstruction copy​(SwitchInstruction switchInstruction)
        +
        Copies the given instruction into this instruction.
        +
        +
        Parameters:
        +
        switchInstruction - the instruction to be copied.
        +
        Returns:
        +
        this instruction.
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString​(int offset)
        +
        Description copied from class: Instruction
        +
        Returns a description of the instruction, at the given offset.
        +
        +
        Overrides:
        +
        toString in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Specified by:
        +
        equals in class Instruction
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/TableSwitchInstruction.html b/api/proguard/classfile/instruction/TableSwitchInstruction.html new file mode 100644 index 000000000..388e04b1f --- /dev/null +++ b/api/proguard/classfile/instruction/TableSwitchInstruction.html @@ -0,0 +1,596 @@ + + + + + +TableSwitchInstruction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TableSwitchInstruction

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        lowCase

        +
        public int lowCase
        +
      • +
      + + + +
        +
      • +

        highCase

        +
        public int highCase
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TableSwitchInstruction

        +
        public TableSwitchInstruction()
        +
        Creates an uninitialized TableSwitchInstruction.
        +
      • +
      + + + +
        +
      • +

        TableSwitchInstruction

        +
        public TableSwitchInstruction​(byte opcode,
        +                              int defaultOffset,
        +                              int lowCase,
        +                              int highCase,
        +                              int[] jumpOffsets)
        +
        Creates a new TableSwitchInstruction with the given arguments. All offsets are relative to this + instruction's offset.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        copy

        +
        public TableSwitchInstruction copy​(TableSwitchInstruction tableSwitchInstruction)
        +
        Copies the given instruction into this instruction.
        +
        +
        Parameters:
        +
        tableSwitchInstruction - the instruction to be copied.
        +
        Returns:
        +
        this instruction.
        +
        +
      • +
      + + + +
        +
      • +

        shrink

        +
        public Instruction shrink()
        +
        Description copied from class: Instruction
        +
        Shrinks this instruction to its shortest possible form.
        +
        +
        Specified by:
        +
        shrink in class Instruction
        +
        Returns:
        +
        this instruction.
        +
        +
      • +
      + + + +
        +
      • +

        readInfo

        +
        protected void readInfo​(byte[] code,
        +                        int offset)
        +
        Description copied from class: Instruction
        +
        Reads the data following the instruction opcode.
        +
        +
        Specified by:
        +
        readInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        writeInfo

        +
        protected void writeInfo​(byte[] code,
        +                         int offset)
        +
        Description copied from class: Instruction
        +
        Writes data following the instruction opcode.
        +
        +
        Specified by:
        +
        writeInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        length

        +
        public int length​(int offset)
        +
        Description copied from class: Instruction
        +
        Returns the length in bytes of the instruction.
        +
        +
        Specified by:
        +
        length in class Instruction
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class SwitchInstruction
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/VariableInstruction.html b/api/proguard/classfile/instruction/VariableInstruction.html new file mode 100644 index 000000000..93494e5ed --- /dev/null +++ b/api/proguard/classfile/instruction/VariableInstruction.html @@ -0,0 +1,725 @@ + + + + + +VariableInstruction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VariableInstruction

+
+
+ +
+
    +
  • +
    +
    public class VariableInstruction
    +extends Instruction
    +
    This Instruction represents an instruction that refers to a variable on the local + variable stack.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        wide

        +
        public boolean wide
        +
      • +
      + + + +
        +
      • +

        variableIndex

        +
        public int variableIndex
        +
      • +
      + + + +
        +
      • +

        constant

        +
        public int constant
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        VariableInstruction

        +
        public VariableInstruction()
        +
        Creates an uninitialized VariableInstruction.
        +
      • +
      + + + +
        +
      • +

        VariableInstruction

        +
        public VariableInstruction​(boolean wide)
        +
      • +
      + + + +
        +
      • +

        VariableInstruction

        +
        public VariableInstruction​(byte opcode)
        +
      • +
      + + + +
        +
      • +

        VariableInstruction

        +
        public VariableInstruction​(byte opcode,
        +                           int variableIndex)
        +
      • +
      + + + +
        +
      • +

        VariableInstruction

        +
        public VariableInstruction​(byte opcode,
        +                           int variableIndex,
        +                           int constant)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        copy

        +
        public VariableInstruction copy​(VariableInstruction variableInstruction)
        +
        Copies the given instruction into this instruction.
        +
        +
        Parameters:
        +
        variableInstruction - the instruction to be copied.
        +
        Returns:
        +
        this instruction.
        +
        +
      • +
      + + + +
        +
      • +

        isStore

        +
        public boolean isStore()
        +
        Returns whether this instruction stores the value of a variable. The value is false for the ret + instruction, but true for the iinc instruction.
        +
      • +
      + + + +
        +
      • +

        isLoad

        +
        public boolean isLoad()
        +
        Returns whether this instruction loads the value of a variable. The value is true for the ret + instruction and for the iinc instruction.
        +
      • +
      + + + +
        +
      • +

        canonicalOpcode

        +
        public byte canonicalOpcode()
        +
        Description copied from class: Instruction
        +
        Returns the canonical opcode of this instruction, i.e. typically the opcode whose extension has + been removed.
        +
        +
        Overrides:
        +
        canonicalOpcode in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        shrink

        +
        public Instruction shrink()
        +
        Description copied from class: Instruction
        +
        Shrinks this instruction to its shortest possible form.
        +
        +
        Specified by:
        +
        shrink in class Instruction
        +
        Returns:
        +
        this instruction.
        +
        +
      • +
      + + + +
        +
      • +

        isWide

        +
        protected boolean isWide()
        +
        Description copied from class: Instruction
        +
        Returns whether the instruction is wide, i.e. preceded by a wide opcode. With the current + specifications, only variable instructions can be wide.
        +
        +
        Overrides:
        +
        isWide in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        readInfo

        +
        protected void readInfo​(byte[] code,
        +                        int offset)
        +
        Description copied from class: Instruction
        +
        Reads the data following the instruction opcode.
        +
        +
        Specified by:
        +
        readInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        writeInfo

        +
        protected void writeInfo​(byte[] code,
        +                         int offset)
        +
        Description copied from class: Instruction
        +
        Writes data following the instruction opcode.
        +
        +
        Specified by:
        +
        writeInfo in class Instruction
        +
        +
      • +
      + + + +
        +
      • +

        length

        +
        public int length​(int offset)
        +
        Description copied from class: Instruction
        +
        Returns the length in bytes of the instruction.
        +
        +
        Specified by:
        +
        length in class Instruction
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Specified by:
        +
        equals in class Instruction
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/package-summary.html b/api/proguard/classfile/instruction/package-summary.html new file mode 100644 index 000000000..c75023e70 --- /dev/null +++ b/api/proguard/classfile/instruction/package-summary.html @@ -0,0 +1,222 @@ + + + + + +proguard.classfile.instruction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.instruction

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/instruction/package-tree.html b/api/proguard/classfile/instruction/package-tree.html new file mode 100644 index 000000000..a77ae9c98 --- /dev/null +++ b/api/proguard/classfile/instruction/package-tree.html @@ -0,0 +1,176 @@ + + + + + +proguard.classfile.instruction Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.instruction

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/instruction/visitor/AllInstructionVisitor.html b/api/proguard/classfile/instruction/visitor/AllInstructionVisitor.html new file mode 100644 index 000000000..fc36b528b --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/AllInstructionVisitor.html @@ -0,0 +1,351 @@ + + + + + +AllInstructionVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllInstructionVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.instruction.visitor.AllInstructionVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/visitor/InstructionConstantVisitor.html b/api/proguard/classfile/instruction/visitor/InstructionConstantVisitor.html new file mode 100644 index 000000000..5aabe10d2 --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/InstructionConstantVisitor.html @@ -0,0 +1,368 @@ + + + + + +InstructionConstantVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionConstantVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.instruction.visitor.InstructionConstantVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/visitor/InstructionCounter.html b/api/proguard/classfile/instruction/visitor/InstructionCounter.html new file mode 100644 index 000000000..e92a9c681 --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/InstructionCounter.html @@ -0,0 +1,356 @@ + + + + + +InstructionCounter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionCounter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.instruction.visitor.InstructionCounter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InstructionCounter

        +
        public InstructionCounter()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getCount

        +
        public int getCount()
        +
        Description copied from interface: Counter
        +
        Returns the current value of the counter.
        +
        +
        Specified by:
        +
        getCount in interface Counter
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/visitor/InstructionOpCodeFilter.html b/api/proguard/classfile/instruction/visitor/InstructionOpCodeFilter.html new file mode 100644 index 000000000..f0b4b8765 --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/InstructionOpCodeFilter.html @@ -0,0 +1,354 @@ + + + + + +InstructionOpCodeFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionOpCodeFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.instruction.visitor.InstructionOpCodeFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    InstructionVisitor
    +
    +
    +
    public class InstructionOpCodeFilter
    +extends java.lang.Object
    +implements InstructionVisitor
    +
    This InstructionVisitor delegates its visits to one of two InstructionVisitors, based on whether + the opcode of the visited instruction matches the list of passed opcodes.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/visitor/InstructionVisitor.html b/api/proguard/classfile/instruction/visitor/InstructionVisitor.html new file mode 100644 index 000000000..4c47c8d2e --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/InstructionVisitor.html @@ -0,0 +1,423 @@ + + + + + +InstructionVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface InstructionVisitor

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyInstruction

        +
        default void visitAnyInstruction​(Clazz clazz,
        +                                 Method method,
        +                                 CodeAttribute codeAttribute,
        +                                 int offset,
        +                                 Instruction instruction)
        +
        Visits any Instruction instance. The more specific default implementations of this interface + delegate to this method.
        +
      • +
      + + + + + + + + + + + + + + + + + + + +
        +
      • +

        visitAnySwitchInstruction

        +
        default void visitAnySwitchInstruction​(Clazz clazz,
        +                                       Method method,
        +                                       CodeAttribute codeAttribute,
        +                                       int offset,
        +                                       SwitchInstruction switchInstruction)
        +
        Visits any SwitchInstruction instance. The more specific default implementations of this + interface delegate to this method.
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/instruction/visitor/MultiInstructionVisitor.html b/api/proguard/classfile/instruction/visitor/MultiInstructionVisitor.html new file mode 100644 index 000000000..aefeb7fef --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/MultiInstructionVisitor.html @@ -0,0 +1,491 @@ + + + + + +MultiInstructionVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiInstructionVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.instruction.visitor.MultiInstructionVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/instruction/visitor/package-summary.html b/api/proguard/classfile/instruction/visitor/package-summary.html new file mode 100644 index 000000000..ed1368189 --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/package-summary.html @@ -0,0 +1,211 @@ + + + + + +proguard.classfile.instruction.visitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.instruction.visitor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/instruction/visitor/package-tree.html b/api/proguard/classfile/instruction/visitor/package-tree.html new file mode 100644 index 000000000..53393b3c8 --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/package-tree.html @@ -0,0 +1,171 @@ + + + + + +proguard.classfile.instruction.visitor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.instruction.visitor

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/io/LibraryClassReader.KotlinMetadataElementValueConsumer.html b/api/proguard/classfile/io/LibraryClassReader.KotlinMetadataElementValueConsumer.html new file mode 100644 index 000000000..49594e9ea --- /dev/null +++ b/api/proguard/classfile/io/LibraryClassReader.KotlinMetadataElementValueConsumer.html @@ -0,0 +1,264 @@ + + + + + +LibraryClassReader.KotlinMetadataElementValueConsumer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface LibraryClassReader.KotlinMetadataElementValueConsumer

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    LibraryClassReader
    +
    +
    +
    public static interface LibraryClassReader.KotlinMetadataElementValueConsumer
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      voidaccept​(int k, + int[] mv, + java.lang.String[] d1, + java.lang.String[] d2, + int xi, + java.lang.String xs, + java.lang.String pn) 
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        accept

        +
        void accept​(int k,
        +            int[] mv,
        +            java.lang.String[] d1,
        +            java.lang.String[] d2,
        +            int xi,
        +            java.lang.String xs,
        +            java.lang.String pn)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/io/LibraryClassReader.html b/api/proguard/classfile/io/LibraryClassReader.html new file mode 100644 index 000000000..d2a6d2e71 --- /dev/null +++ b/api/proguard/classfile/io/LibraryClassReader.html @@ -0,0 +1,776 @@ + + + + + +LibraryClassReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LibraryClassReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.io.LibraryClassReader
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/io/ProgramClassReader.html b/api/proguard/classfile/io/ProgramClassReader.html new file mode 100644 index 000000000..efcab5cb5 --- /dev/null +++ b/api/proguard/classfile/io/ProgramClassReader.html @@ -0,0 +1,2400 @@ + + + + + +ProgramClassReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProgramClassReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.io.ProgramClassReader
    • +
    +
  • +
+ +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/io/ProgramClassWriter.html b/api/proguard/classfile/io/ProgramClassWriter.html new file mode 100644 index 000000000..3819bf47b --- /dev/null +++ b/api/proguard/classfile/io/ProgramClassWriter.html @@ -0,0 +1,479 @@ + + + + + +ProgramClassWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProgramClassWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.io.ProgramClassWriter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/io/kotlin/KotlinMetadataWriter.html b/api/proguard/classfile/io/kotlin/KotlinMetadataWriter.html new file mode 100644 index 000000000..c90470102 --- /dev/null +++ b/api/proguard/classfile/io/kotlin/KotlinMetadataWriter.html @@ -0,0 +1,522 @@ + + + + + +KotlinMetadataWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMetadataWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.io.kotlin.KotlinMetadataWriter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/io/kotlin/package-summary.html b/api/proguard/classfile/io/kotlin/package-summary.html new file mode 100644 index 000000000..bafb069f8 --- /dev/null +++ b/api/proguard/classfile/io/kotlin/package-summary.html @@ -0,0 +1,167 @@ + + + + + +proguard.classfile.io.kotlin (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.io.kotlin

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    KotlinMetadataWriter +
    This class visitor writes the information stored in a Clazz's kotlinMetadata field to + a @kotlin/Metadata annotation on the class.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/classfile/io/kotlin/package-tree.html b/api/proguard/classfile/io/kotlin/package-tree.html new file mode 100644 index 000000000..dbf4189e2 --- /dev/null +++ b/api/proguard/classfile/io/kotlin/package-tree.html @@ -0,0 +1,161 @@ + + + + + +proguard.classfile.io.kotlin Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.io.kotlin

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/io/package-summary.html b/api/proguard/classfile/io/package-summary.html new file mode 100644 index 000000000..2a97513d5 --- /dev/null +++ b/api/proguard/classfile/io/package-summary.html @@ -0,0 +1,196 @@ + + + + + +proguard.classfile.io (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.io

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/io/package-tree.html b/api/proguard/classfile/io/package-tree.html new file mode 100644 index 000000000..efbe88689 --- /dev/null +++ b/api/proguard/classfile/io/package-tree.html @@ -0,0 +1,169 @@ + + + + + +proguard.classfile.io Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.io

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/io/visitor/ProcessingFlagDataEntryFilter.html b/api/proguard/classfile/io/visitor/ProcessingFlagDataEntryFilter.html new file mode 100644 index 000000000..760f65c39 --- /dev/null +++ b/api/proguard/classfile/io/visitor/ProcessingFlagDataEntryFilter.html @@ -0,0 +1,327 @@ + + + + + +ProcessingFlagDataEntryFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProcessingFlagDataEntryFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.io.visitor.ProcessingFlagDataEntryFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntryFilter
    +
    +
    +
    public class ProcessingFlagDataEntryFilter
    +extends java.lang.Object
    +implements DataEntryFilter
    +
    This DataEntryFilter filters data entries based on the processing flags of their corresponding + resource file.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanaccepts​(DataEntry dataEntry) +
      Checks whether the filter accepts the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ProcessingFlagDataEntryFilter

        +
        public ProcessingFlagDataEntryFilter​(ResourceFilePool resourceFilePool,
        +                                     int requiredSetProcessingFlags,
        +                                     int requiredUnsetProcessingFlags)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        accepts

        +
        public boolean accepts​(DataEntry dataEntry)
        +
        Description copied from interface: DataEntryFilter
        +
        Checks whether the filter accepts the given data entry.
        +
        +
        Specified by:
        +
        accepts in interface DataEntryFilter
        +
        Parameters:
        +
        dataEntry - the data entry to filter.
        +
        Returns:
        +
        a boolean indicating whether the filter accepts the given data entry.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/io/visitor/package-summary.html b/api/proguard/classfile/io/visitor/package-summary.html new file mode 100644 index 000000000..1744a0eff --- /dev/null +++ b/api/proguard/classfile/io/visitor/package-summary.html @@ -0,0 +1,167 @@ + + + + + +proguard.classfile.io.visitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.io.visitor

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    ProcessingFlagDataEntryFilter +
    This DataEntryFilter filters data entries based on the processing flags of their corresponding + resource file.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/classfile/io/visitor/package-tree.html b/api/proguard/classfile/io/visitor/package-tree.html new file mode 100644 index 000000000..3ee7fb411 --- /dev/null +++ b/api/proguard/classfile/io/visitor/package-tree.html @@ -0,0 +1,161 @@ + + + + + +proguard.classfile.io.visitor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.io.visitor

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotatable.html b/api/proguard/classfile/kotlin/KotlinAnnotatable.html new file mode 100644 index 000000000..b03e9324f --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotatable.html @@ -0,0 +1,259 @@ + + + + + +KotlinAnnotatable (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinAnnotatable

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    KotlinTypeAliasMetadata, KotlinTypeMetadata, KotlinTypeParameterMetadata
    +
    +
    +
    public interface KotlinAnnotatable
    +
    Represents a Kotlin metadata entity that can contain annotations: + +

    - types - type parameters - type aliases + +

    Other annotations are stored on the corresponding Java class entity.

    +
  • +
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotation.html b/api/proguard/classfile/kotlin/KotlinAnnotation.html new file mode 100644 index 000000000..566e3f45f --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotation.html @@ -0,0 +1,568 @@ + + + + + +KotlinAnnotation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotation

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.AnnotationValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.AnnotationValue.html new file mode 100644 index 000000000..91f2541ad --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.AnnotationValue.html @@ -0,0 +1,439 @@ + + + + + +KotlinAnnotationArgument.AnnotationValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.AnnotationValue

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.KotlinAnnotationArgument.AnnotationValue
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ArrayValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ArrayValue.html new file mode 100644 index 000000000..7119b9df3 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ArrayValue.html @@ -0,0 +1,443 @@ + + + + + +KotlinAnnotationArgument.ArrayValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.ArrayValue

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.KotlinAnnotationArgument.ArrayValue
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.BooleanValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.BooleanValue.html new file mode 100644 index 000000000..da18caa86 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.BooleanValue.html @@ -0,0 +1,355 @@ + + + + + +KotlinAnnotationArgument.BooleanValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.BooleanValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ByteValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ByteValue.html new file mode 100644 index 000000000..4810f57c2 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ByteValue.html @@ -0,0 +1,355 @@ + + + + + +KotlinAnnotationArgument.ByteValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.ByteValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.CharValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.CharValue.html new file mode 100644 index 000000000..7fe2cb5e2 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.CharValue.html @@ -0,0 +1,355 @@ + + + + + +KotlinAnnotationArgument.CharValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.CharValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ClassValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ClassValue.html new file mode 100644 index 000000000..7c69801e6 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ClassValue.html @@ -0,0 +1,478 @@ + + + + + +KotlinAnnotationArgument.ClassValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.ClassValue

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.KotlinAnnotationArgument.ClassValue
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        className

        +
        public java.lang.String className
        +
      • +
      + + + +
        +
      • +

        referencedClass

        +
        public Clazz referencedClass
        +
      • +
      + + + +
        +
      • +

        arrayDimensionsCount

        +
        public int arrayDimensionsCount
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassValue

        +
        public ClassValue​(java.lang.String className)
        +
      • +
      + + + +
        +
      • +

        ClassValue

        +
        public ClassValue​(java.lang.String className,
        +                  int arrayDimensionsCount)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.DoubleValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.DoubleValue.html new file mode 100644 index 000000000..c94e8c5d6 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.DoubleValue.html @@ -0,0 +1,355 @@ + + + + + +KotlinAnnotationArgument.DoubleValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.DoubleValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.EnumValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.EnumValue.html new file mode 100644 index 000000000..447997a48 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.EnumValue.html @@ -0,0 +1,465 @@ + + + + + +KotlinAnnotationArgument.EnumValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.EnumValue

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.KotlinAnnotationArgument.EnumValue
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        className

        +
        public java.lang.String className
        +
      • +
      + + + +
        +
      • +

        referencedClass

        +
        public Clazz referencedClass
        +
      • +
      + + + +
        +
      • +

        enumEntryName

        +
        public java.lang.String enumEntryName
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        EnumValue

        +
        public EnumValue​(java.lang.String className,
        +                 java.lang.String enumEntryName)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.FloatValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.FloatValue.html new file mode 100644 index 000000000..f58e4bb41 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.FloatValue.html @@ -0,0 +1,355 @@ + + + + + +KotlinAnnotationArgument.FloatValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.FloatValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.IntValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.IntValue.html new file mode 100644 index 000000000..d72e7db2d --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.IntValue.html @@ -0,0 +1,355 @@ + + + + + +KotlinAnnotationArgument.IntValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.IntValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.LiteralValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.LiteralValue.html new file mode 100644 index 000000000..678b3649d --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.LiteralValue.html @@ -0,0 +1,427 @@ + + + + + +KotlinAnnotationArgument.LiteralValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.LiteralValue<T>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.KotlinAnnotationArgument.LiteralValue<T>
    • +
    +
  • +
+ +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.LongValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.LongValue.html new file mode 100644 index 000000000..d0c35c42e --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.LongValue.html @@ -0,0 +1,355 @@ + + + + + +KotlinAnnotationArgument.LongValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.LongValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ShortValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ShortValue.html new file mode 100644 index 000000000..1a2973544 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ShortValue.html @@ -0,0 +1,355 @@ + + + + + +KotlinAnnotationArgument.ShortValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.ShortValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.StringValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.StringValue.html new file mode 100644 index 000000000..d1f3f8c32 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.StringValue.html @@ -0,0 +1,355 @@ + + + + + +KotlinAnnotationArgument.StringValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.StringValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.UByteValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.UByteValue.html new file mode 100644 index 000000000..185939941 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.UByteValue.html @@ -0,0 +1,355 @@ + + + + + +KotlinAnnotationArgument.UByteValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.UByteValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.UIntValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.UIntValue.html new file mode 100644 index 000000000..e1d1c607a --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.UIntValue.html @@ -0,0 +1,355 @@ + + + + + +KotlinAnnotationArgument.UIntValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.UIntValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ULongValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ULongValue.html new file mode 100644 index 000000000..9251f5893 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ULongValue.html @@ -0,0 +1,355 @@ + + + + + +KotlinAnnotationArgument.ULongValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.ULongValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.UShortValue.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.UShortValue.html new file mode 100644 index 000000000..9dcb71272 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.UShortValue.html @@ -0,0 +1,355 @@ + + + + + +KotlinAnnotationArgument.UShortValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument.UShortValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.Value.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.Value.html new file mode 100644 index 000000000..8afeb7a80 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.Value.html @@ -0,0 +1,264 @@ + + + + + +KotlinAnnotationArgument.Value (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinAnnotationArgument.Value

+
+ +
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/KotlinAnnotationArgument.html b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.html new file mode 100644 index 000000000..f4396dc2b --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.html @@ -0,0 +1,599 @@ + + + + + +KotlinAnnotationArgument (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgument

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        name

        +
        public java.lang.String name
        +
      • +
      + + + +
        +
      • +

        referencedAnnotationMethodClass

        +
        public Clazz referencedAnnotationMethodClass
        +
      • +
      + + + +
        +
      • +

        referencedAnnotationMethod

        +
        public Method referencedAnnotationMethod
        +
      • +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        referencedMethodAccept

        +
        public void referencedMethodAccept​(MemberVisitor methodVisitor)
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinClassKindMetadata.html b/api/proguard/classfile/kotlin/KotlinClassKindMetadata.html new file mode 100644 index 000000000..d36278794 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinClassKindMetadata.html @@ -0,0 +1,882 @@ + + + + + +KotlinClassKindMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinClassKindMetadata

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        className

        +
        public java.lang.String className
        +
      • +
      + + + +
        +
      • +

        referencedClass

        +
        public Clazz referencedClass
        +
      • +
      + + + + + + + +
        +
      • +

        companionObjectName

        +
        public java.lang.String companionObjectName
        +
      • +
      + + + +
        +
      • +

        referencedCompanionClass

        +
        public Clazz referencedCompanionClass
        +
      • +
      + + + +
        +
      • +

        referencedCompanionField

        +
        public Field referencedCompanionField
        +
      • +
      + + + + + + + +
        +
      • +

        enumEntryNames

        +
        public java.util.List<java.lang.String> enumEntryNames
        +
      • +
      + + + +
        +
      • +

        referencedEnumEntries

        +
        public java.util.List<Field> referencedEnumEntries
        +
      • +
      + + + +
        +
      • +

        nestedClassNames

        +
        public java.util.List<java.lang.String> nestedClassNames
        +
      • +
      + + + +
        +
      • +

        referencedNestedClasses

        +
        public java.util.List<Clazz> referencedNestedClasses
        +
      • +
      + + + +
        +
      • +

        sealedSubclassNames

        +
        public java.util.List<java.lang.String> sealedSubclassNames
        +
      • +
      + + + +
        +
      • +

        referencedSealedSubClasses

        +
        public java.util.List<Clazz> referencedSealedSubClasses
        +
      • +
      + + + +
        +
      • +

        referencedDefaultImplsClass

        +
        public Clazz referencedDefaultImplsClass
        +
      • +
      + + + + + + + + + + + + + + + + + + + +
        +
      • +

        underlyingPropertyName

        +
        public java.lang.String underlyingPropertyName
        +
      • +
      + + + + + + + +
        +
      • +

        anonymousObjectOriginName

        +
        public java.lang.String anonymousObjectOriginName
        +
      • +
      + + + +
        +
      • +

        anonymousObjectOriginClass

        +
        public Clazz anonymousObjectOriginClass
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinClassKindMetadata

        +
        public KotlinClassKindMetadata​(int[] mv,
        +                               int xi,
        +                               java.lang.String xs,
        +                               java.lang.String pn)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        referencedCompanionFieldAccept

        +
        public void referencedCompanionFieldAccept​(MemberVisitor memberVisitor)
        +
      • +
      + + + +
        +
      • +

        nestedClassesAccept

        +
        public void nestedClassesAccept​(boolean visitCompanion,
        +                                ClassVisitor classVisitor)
        +
      • +
      + + + +
        +
      • +

        sealedSubclassesAccept

        +
        public void sealedSubclassesAccept​(ClassVisitor classVisitor)
        +
      • +
      + + + +
        +
      • +

        superTypesAccept

        +
        public void superTypesAccept​(Clazz clazz,
        +                             KotlinTypeVisitor kotlinTypeVisitor)
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        inlineClassUnderlyingPropertyTypeAccept

        +
        public void inlineClassUnderlyingPropertyTypeAccept​(Clazz clazz,
        +                                                    KotlinTypeVisitor kotlinTypeVisitor)
        +
      • +
      + + + +
        +
      • +

        contextReceiverTypesAccept

        +
        public void contextReceiverTypesAccept​(Clazz clazz,
        +                                       KotlinTypeVisitor kotlinTypeVisitor)
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinConstants.MODULE.html b/api/proguard/classfile/kotlin/KotlinConstants.MODULE.html new file mode 100644 index 000000000..6506ac53b --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinConstants.MODULE.html @@ -0,0 +1,334 @@ + + + + + +KotlinConstants.MODULE (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinConstants.MODULE

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.KotlinConstants.MODULE
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    KotlinConstants
    +
    +
    +
    public static final class KotlinConstants.MODULE
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      static java.lang.StringFILE_EXPRESSION 
      static java.lang.StringFILE_EXTENSION 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      MODULE() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        FILE_EXTENSION

        +
        public static final java.lang.String FILE_EXTENSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        FILE_EXPRESSION

        +
        public static final java.lang.String FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MODULE

        +
        public MODULE()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinConstants.REFLECTION.html b/api/proguard/classfile/kotlin/KotlinConstants.REFLECTION.html new file mode 100644 index 000000000..086d3376e --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinConstants.REFLECTION.html @@ -0,0 +1,604 @@ + + + + + +KotlinConstants.REFLECTION (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinConstants.REFLECTION

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.KotlinConstants.REFLECTION
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    KotlinConstants
    +
    +
    +
    public static final class KotlinConstants.REFLECTION
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        CLASS_NAME

        +
        public static final java.lang.String CLASS_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CALLABLE_REFERENCE_CLASS_NAME

        +
        public static final java.lang.String CALLABLE_REFERENCE_CLASS_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        FUNCTION_REFERENCE_CLASS_NAME

        +
        public static final java.lang.String FUNCTION_REFERENCE_CLASS_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        PROPERTY_REFERENCE_CLASS_NAME

        +
        public static final java.lang.String PROPERTY_REFERENCE_CLASS_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        LOCALVAR_REFERENCE_CLASS_NAME

        +
        public static final java.lang.String LOCALVAR_REFERENCE_CLASS_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        PROPERTY_REFERENCE_GET_METHOD_NAME

        +
        public static final java.lang.String PROPERTY_REFERENCE_GET_METHOD_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        PROPERTY_REFERENCE_GET_METHOD_TYPE

        +
        public static final java.lang.String PROPERTY_REFERENCE_GET_METHOD_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        GETNAME_METHOD_NAME

        +
        public static final java.lang.String GETNAME_METHOD_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        GETNAME_METHOD_DESC

        +
        public static final java.lang.String GETNAME_METHOD_DESC
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        GETSIGNATURE_METHOD_NAME

        +
        public static final java.lang.String GETSIGNATURE_METHOD_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        GETSIGNATURE_METHOD_DESC

        +
        public static final java.lang.String GETSIGNATURE_METHOD_DESC
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        GETOWNER_METHOD_NAME

        +
        public static final java.lang.String GETOWNER_METHOD_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        GETOWNER_METHOD_DESC

        +
        public static final java.lang.String GETOWNER_METHOD_DESC
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        GETORCREATEKOTLINCLASS_METHOD_NAME

        +
        public static final java.lang.String GETORCREATEKOTLINCLASS_METHOD_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        GETORCREATEKOTLINCLASS_METHOD_DESC

        +
        public static final java.lang.String GETORCREATEKOTLINCLASS_METHOD_DESC
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        GETORCREATEKOTLINPACKAGE_METHOD_NAME

        +
        public static final java.lang.String GETORCREATEKOTLINPACKAGE_METHOD_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        GETORCREATEKOTLINPACKAGE_METHOD_DESC

        +
        public static final java.lang.String GETORCREATEKOTLINPACKAGE_METHOD_DESC
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        REFLECTION

        +
        public REFLECTION()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinConstants.html b/api/proguard/classfile/kotlin/KotlinConstants.html new file mode 100644 index 000000000..1f7dee9e1 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinConstants.html @@ -0,0 +1,1010 @@ + + + + + +KotlinConstants (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinConstants

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.KotlinConstants
    • +
    +
  • +
+
+
    +
  • +
    +
    public class KotlinConstants
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        METADATA_KIND_CLASS

        +
        public static final int METADATA_KIND_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METADATA_KIND_FILE_FACADE

        +
        public static final int METADATA_KIND_FILE_FACADE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METADATA_KIND_SYNTHETIC_CLASS

        +
        public static final int METADATA_KIND_SYNTHETIC_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METADATA_KIND_MULTI_FILE_CLASS_FACADE

        +
        public static final int METADATA_KIND_MULTI_FILE_CLASS_FACADE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METADATA_KIND_MULTI_FILE_CLASS_PART

        +
        public static final int METADATA_KIND_MULTI_FILE_CLASS_PART
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        INNER_CLASS_SEPARATOR

        +
        public static final char INNER_CLASS_SEPARATOR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        FUNCTION_NAME_MANGLE_SEPARATOR

        +
        public static final char FUNCTION_NAME_MANGLE_SEPARATOR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        FUNCTION_NAME_ANONYMOUS

        +
        public static final java.lang.String FUNCTION_NAME_ANONYMOUS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_LAMBDA_INVOKE

        +
        public static final java.lang.String METHOD_NAME_LAMBDA_INVOKE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_KOTLIN_METADATA

        +
        public static final java.lang.String NAME_KOTLIN_METADATA
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_KOTLIN_METADATA

        +
        public static final java.lang.String TYPE_KOTLIN_METADATA
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_KOTLIN_ANY

        +
        public static final java.lang.String NAME_KOTLIN_ANY
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_KOTLIN_UNIT

        +
        public static final java.lang.String NAME_KOTLIN_UNIT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_KOTLIN_UNIT

        +
        public static final java.lang.String TYPE_KOTLIN_UNIT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_KOTLIN_ENUM

        +
        public static final java.lang.String NAME_KOTLIN_ENUM
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_KOTLIN_FUNCTION

        +
        public static final java.lang.String NAME_KOTLIN_FUNCTION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_KOTLIN_EXTENSION_FUNCTION

        +
        public static final java.lang.String NAME_KOTLIN_EXTENSION_FUNCTION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_KOTLIN_PARAMETER_NAME

        +
        public static final java.lang.String NAME_KOTLIN_PARAMETER_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NAME_KOTLIN_COROUTINES_DEBUG_METADATA

        +
        public static final java.lang.String NAME_KOTLIN_COROUTINES_DEBUG_METADATA
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_KOTLIN_JVM_JVMNAME

        +
        public static final java.lang.String TYPE_KOTLIN_JVM_JVMNAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_KOTLIN_DEFAULT_CONSTRUCTOR_MARKER

        +
        public static final java.lang.String TYPE_KOTLIN_DEFAULT_CONSTRUCTOR_MARKER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        DEFAULT_METHOD_SUFFIX

        +
        public static final java.lang.String DEFAULT_METHOD_SUFFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        DEFAULT_IMPLEMENTATIONS_SUFFIX

        +
        public static final java.lang.String DEFAULT_IMPLEMENTATIONS_SUFFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        WHEN_MAPPINGS_SUFFIX

        +
        public static final java.lang.String WHEN_MAPPINGS_SUFFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        KOTLIN_OBJECT_INSTANCE_FIELD_NAME

        +
        public static final java.lang.String KOTLIN_OBJECT_INSTANCE_FIELD_NAME
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        KOTLIN_INTRINSICS_CLASS

        +
        public static final java.lang.String KOTLIN_INTRINSICS_CLASS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        KOTLIN_METADATA_FIELD_K

        +
        public static final java.lang.String KOTLIN_METADATA_FIELD_K
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        KOTLIN_METADATA_FIELD_BV

        +
        public static final java.lang.String KOTLIN_METADATA_FIELD_BV
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        KOTLIN_METADATA_FIELD_MV

        +
        public static final java.lang.String KOTLIN_METADATA_FIELD_MV
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        KOTLIN_METADATA_FIELD_D1

        +
        public static final java.lang.String KOTLIN_METADATA_FIELD_D1
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        KOTLIN_METADATA_FIELD_D2

        +
        public static final java.lang.String KOTLIN_METADATA_FIELD_D2
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        KOTLIN_METADATA_FIELD_XI

        +
        public static final java.lang.String KOTLIN_METADATA_FIELD_XI
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        KOLTIN_METADATA_FIELD_XS

        +
        public static final java.lang.String KOLTIN_METADATA_FIELD_XS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        KOTLIN_METADATA_FIELD_PN

        +
        public static final java.lang.String KOTLIN_METADATA_FIELD_PN
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        dummyClassPool

        +
        public static final ClassPool dummyClassPool
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinConstants

        +
        public KotlinConstants()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        metadataKindToString

        +
        public static java.lang.String metadataKindToString​(int kind)
        +
      • +
      + + + +
        +
      • +

        getKotlinType

        +
        public static Clazz getKotlinType​(Clazz javaType)
        +
        Get the Kotlin equivalent of a Java type.
        +
        +
        Parameters:
        +
        javaType - the class of the Java type.
        +
        Returns:
        +
        Kotlin type class or the original Java type class if it doesn't have a Kotlin + equivalent
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinConstructorMetadata.html b/api/proguard/classfile/kotlin/KotlinConstructorMetadata.html new file mode 100644 index 000000000..d0b7e683d --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinConstructorMetadata.html @@ -0,0 +1,525 @@ + + + + + +KotlinConstructorMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinConstructorMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinContractMetadata.html b/api/proguard/classfile/kotlin/KotlinContractMetadata.html new file mode 100644 index 000000000..03ca04ca8 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinContractMetadata.html @@ -0,0 +1,425 @@ + + + + + +KotlinContractMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinContractMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinDeclarationContainerMetadata.html b/api/proguard/classfile/kotlin/KotlinDeclarationContainerMetadata.html new file mode 100644 index 000000000..ae1673daa --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinDeclarationContainerMetadata.html @@ -0,0 +1,582 @@ + + + + + +KotlinDeclarationContainerMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinDeclarationContainerMetadata

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinDeclarationContainerMetadata

        +
        public KotlinDeclarationContainerMetadata​(int k,
        +                                          int[] mv,
        +                                          int xi,
        +                                          java.lang.String xs,
        +                                          java.lang.String pn)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinEffectExpressionMetadata.html b/api/proguard/classfile/kotlin/KotlinEffectExpressionMetadata.html new file mode 100644 index 000000000..8ebe04816 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinEffectExpressionMetadata.html @@ -0,0 +1,521 @@ + + + + + +KotlinEffectExpressionMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinEffectExpressionMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinEffectMetadata.html b/api/proguard/classfile/kotlin/KotlinEffectMetadata.html new file mode 100644 index 000000000..bb790f5b3 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinEffectMetadata.html @@ -0,0 +1,483 @@ + + + + + +KotlinEffectMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinEffectMetadata

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        effectType

        +
        public proguard.classfile.kotlin.KotlinEffectType effectType
        +
      • +
      + + + +
        +
      • +

        invocationKind

        +
        public proguard.classfile.kotlin.KotlinEffectInvocationKind invocationKind
        +
      • +
      + + + + + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinEffectMetadata

        +
        public KotlinEffectMetadata​(proguard.classfile.kotlin.KotlinEffectType effectType,
        +                            proguard.classfile.kotlin.KotlinEffectInvocationKind invocationKind)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinFileFacadeKindMetadata.html b/api/proguard/classfile/kotlin/KotlinFileFacadeKindMetadata.html new file mode 100644 index 000000000..92b38fdcc --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinFileFacadeKindMetadata.html @@ -0,0 +1,402 @@ + + + + + +KotlinFileFacadeKindMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinFileFacadeKindMetadata

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinFileFacadeKindMetadata

        +
        public KotlinFileFacadeKindMetadata​(int[] mv,
        +                                    int xi,
        +                                    java.lang.String xs,
        +                                    java.lang.String pn)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinFunctionMetadata.html b/api/proguard/classfile/kotlin/KotlinFunctionMetadata.html new file mode 100644 index 000000000..4bceee332 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinFunctionMetadata.html @@ -0,0 +1,849 @@ + + + + + +KotlinFunctionMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinFunctionMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinMetadata.html b/api/proguard/classfile/kotlin/KotlinMetadata.html new file mode 100644 index 000000000..ebdc11acb --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinMetadata.html @@ -0,0 +1,480 @@ + + + + + +KotlinMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMetadata

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        k

        +
        public int k
        +
        A kind of the metadata this annotation encodes. Kotlin compiler recognizes the following kinds + (see KotlinClassHeader.Kind): + +

        1 Class 2 File 3 Synthetic class 4 Multi-file class facade 5 Multi-file class part + +

        The class file with a kind not listed here is treated as a non-Kotlin file.

        +
      • +
      + + + +
        +
      • +

        mv

        +
        public int[] mv
        +
        The version of the metadata provided in the arguments of this annotation.
        +
      • +
      + + + +
        +
      • +

        xi

        +
        public int xi
        +
        An extra int. Bits of this number represent the following flags: + +

        * 0 - this is a multi-file class facade or part, compiled with `-Xmultifile-parts-inherit`. + * 1 - this class file is compiled by a pre-release version of Kotlin and is not visible to + release versions. * 2 - this class file is a compiled Kotlin script source file (.kts). * 3 - + the metadata of this class file is not supposed to be read by the compiler, whose major.minor + version is less than the major.minor version of this metadata ([mv]).

        +
      • +
      + + + +
        +
      • +

        xs

        +
        public java.lang.String xs
        +
        An extra string. For a multi-file part class, internal name of the facade class.
        +
      • +
      + + + +
        +
      • +

        pn

        +
        public java.lang.String pn
        +
        Fully qualified name of the package this class is located in, from Kotlin's point of view, or + empty string if this name does not differ from the JVM's package FQ name. These names can be + different in case the [JvmPackageName] annotation is used. Note that this information is also + stored in the corresponding module's `.kotlin_module` file.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinMetadata

        +
        protected KotlinMetadata​(int k,
        +                         int[] mv,
        +                         int xi,
        +                         java.lang.String xs,
        +                         java.lang.String pn)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinMetadataVersion.html b/api/proguard/classfile/kotlin/KotlinMetadataVersion.html new file mode 100644 index 000000000..1221d0fee --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinMetadataVersion.html @@ -0,0 +1,442 @@ + + + + + +KotlinMetadataVersion (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMetadataVersion

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.KotlinMetadataVersion
    • +
    +
  • +
+
+
    +
  • +
    +
    public class KotlinMetadataVersion
    +extends java.lang.Object
    +
    Small container for KotlinMetadataVersion metadata (mv).
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        major

        +
        public final int major
        +
      • +
      + + + +
        +
      • +

        minor

        +
        public final int minor
        +
      • +
      + + + +
        +
      • +

        patch

        +
        public final int patch
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinMetadataVersion

        +
        public KotlinMetadataVersion​(int[] version)
        +
      • +
      + + + +
        +
      • +

        KotlinMetadataVersion

        +
        public KotlinMetadataVersion​(int major,
        +                             int minor,
        +                             int patch)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        canBeWritten

        +
        public boolean canBeWritten()
        +
        +
        Returns:
        +
        true iff we support writing this version of Kotlin Metadata.
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toArray

        +
        public int[] toArray()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinMultiFileFacadeKindMetadata.html b/api/proguard/classfile/kotlin/KotlinMultiFileFacadeKindMetadata.html new file mode 100644 index 000000000..798c0d5f1 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinMultiFileFacadeKindMetadata.html @@ -0,0 +1,431 @@ + + + + + +KotlinMultiFileFacadeKindMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMultiFileFacadeKindMetadata

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        partClassNames

        +
        public java.util.List<java.lang.String> partClassNames
        +
      • +
      + + + +
        +
      • +

        referencedPartClasses

        +
        public java.util.List<Clazz> referencedPartClasses
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinMultiFileFacadeKindMetadata

        +
        public KotlinMultiFileFacadeKindMetadata​(int[] mv,
        +                                         java.lang.String[] d1,
        +                                         int xi,
        +                                         java.lang.String xs,
        +                                         java.lang.String pn)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinMultiFilePartKindMetadata.html b/api/proguard/classfile/kotlin/KotlinMultiFilePartKindMetadata.html new file mode 100644 index 000000000..d2496ab9b --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinMultiFilePartKindMetadata.html @@ -0,0 +1,448 @@ + + + + + +KotlinMultiFilePartKindMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMultiFilePartKindMetadata

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        facadeName

        +
        public java.lang.String facadeName
        +
      • +
      + + + +
        +
      • +

        referencedFacadeClass

        +
        public Clazz referencedFacadeClass
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinMultiFilePartKindMetadata

        +
        public KotlinMultiFilePartKindMetadata​(int[] mv,
        +                                       int xi,
        +                                       java.lang.String xs,
        +                                       java.lang.String pn)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinPropertyMetadata.html b/api/proguard/classfile/kotlin/KotlinPropertyMetadata.html new file mode 100644 index 000000000..c3ed9cde0 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinPropertyMetadata.html @@ -0,0 +1,817 @@ + + + + + +KotlinPropertyMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinPropertyMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinSyntheticClassKindMetadata.Flavor.html b/api/proguard/classfile/kotlin/KotlinSyntheticClassKindMetadata.Flavor.html new file mode 100644 index 000000000..38f9385c9 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinSyntheticClassKindMetadata.Flavor.html @@ -0,0 +1,406 @@ + + + + + +KotlinSyntheticClassKindMetadata.Flavor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum KotlinSyntheticClassKindMetadata.Flavor

+
+
+ +
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static KotlinSyntheticClassKindMetadata.FlavorvalueOf​(java.lang.String name) +
      Returns the enum constant of this type with the specified name.
      +
      static KotlinSyntheticClassKindMetadata.Flavor[]values() +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Enum

        +clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static KotlinSyntheticClassKindMetadata.Flavor[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (KotlinSyntheticClassKindMetadata.Flavor c : KotlinSyntheticClassKindMetadata.Flavor.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static KotlinSyntheticClassKindMetadata.Flavor valueOf​(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinSyntheticClassKindMetadata.html b/api/proguard/classfile/kotlin/KotlinSyntheticClassKindMetadata.html new file mode 100644 index 000000000..00dd72560 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinSyntheticClassKindMetadata.html @@ -0,0 +1,498 @@ + + + + + +KotlinSyntheticClassKindMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinSyntheticClassKindMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinTypeAliasMetadata.html b/api/proguard/classfile/kotlin/KotlinTypeAliasMetadata.html new file mode 100644 index 000000000..18ace1ceb --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinTypeAliasMetadata.html @@ -0,0 +1,595 @@ + + + + + +KotlinTypeAliasMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinTypeAliasMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinTypeMetadata.html b/api/proguard/classfile/kotlin/KotlinTypeMetadata.html new file mode 100644 index 000000000..8b7d4530d --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinTypeMetadata.html @@ -0,0 +1,792 @@ + + + + + +KotlinTypeMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinTypeMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinTypeParameterMetadata.html b/api/proguard/classfile/kotlin/KotlinTypeParameterMetadata.html new file mode 100644 index 000000000..28e06ce38 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinTypeParameterMetadata.html @@ -0,0 +1,575 @@ + + + + + +KotlinTypeParameterMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinTypeParameterMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinTypeVariance.html b/api/proguard/classfile/kotlin/KotlinTypeVariance.html new file mode 100644 index 000000000..9d801554d --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinTypeVariance.html @@ -0,0 +1,402 @@ + + + + + +KotlinTypeVariance (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum KotlinTypeVariance

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Enum<KotlinTypeVariance>
    • +
    • +
        +
      • proguard.classfile.kotlin.KotlinTypeVariance
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<KotlinTypeVariance>
    +
    +
    +
    public enum KotlinTypeVariance
    +extends java.lang.Enum<KotlinTypeVariance>
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Summary

      + + + + + + + + + + + + + + + + + + +
      Enum Constants 
      Enum ConstantDescription
      IN +
      The affected type parameter or type is *contravariant*.
      +
      INVARIANT +
      The affected type parameter or type is *invariant*, which means it has no variance applied to + it.
      +
      OUT +
      The affected type parameter or type is *covariant*.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static KotlinTypeVariancevalueOf​(java.lang.String name) +
      Returns the enum constant of this type with the specified name.
      +
      static KotlinTypeVariance[]values() +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Enum

        +clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Detail

      + + + +
        +
      • +

        INVARIANT

        +
        public static final KotlinTypeVariance INVARIANT
        +
        The affected type parameter or type is *invariant*, which means it has no variance applied to + it.
        +
      • +
      + + + +
        +
      • +

        IN

        +
        public static final KotlinTypeVariance IN
        +
        The affected type parameter or type is *contravariant*. Denoted by the `in` modifier in the + source code.
        +
      • +
      + + + +
        +
      • +

        OUT

        +
        public static final KotlinTypeVariance OUT
        +
        The affected type parameter or type is *covariant*. Denoted by the `out` modifier in the source + code.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static KotlinTypeVariance[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (KotlinTypeVariance c : KotlinTypeVariance.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static KotlinTypeVariance valueOf​(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinValueParameterMetadata.html b/api/proguard/classfile/kotlin/KotlinValueParameterMetadata.html new file mode 100644 index 000000000..12e7f6704 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinValueParameterMetadata.html @@ -0,0 +1,579 @@ + + + + + +KotlinValueParameterMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinValueParameterMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/KotlinVersionRequirementMetadata.html b/api/proguard/classfile/kotlin/KotlinVersionRequirementMetadata.html new file mode 100644 index 000000000..70b07daa7 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinVersionRequirementMetadata.html @@ -0,0 +1,567 @@ + + + + + +KotlinVersionRequirementMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinVersionRequirementMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/UnsupportedKotlinMetadata.html b/api/proguard/classfile/kotlin/UnsupportedKotlinMetadata.html new file mode 100644 index 000000000..816f24b62 --- /dev/null +++ b/api/proguard/classfile/kotlin/UnsupportedKotlinMetadata.html @@ -0,0 +1,368 @@ + + + + + +UnsupportedKotlinMetadata (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UnsupportedKotlinMetadata

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    public class UnsupportedKotlinMetadata
    +extends KotlinMetadata
    +
    A Kotlin metadata type that corresponds to metadata that could not be parsed correctly.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UnsupportedKotlinMetadata

        +
        public UnsupportedKotlinMetadata​(int k,
        +                                 int[] mv,
        +                                 int xi,
        +                                 java.lang.String xs,
        +                                 java.lang.String pn)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinClassFlags.html b/api/proguard/classfile/kotlin/flags/KotlinClassFlags.html new file mode 100644 index 000000000..7030b14b9 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinClassFlags.html @@ -0,0 +1,609 @@ + + + + + +KotlinClassFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinClassFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinClassFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    public class KotlinClassFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
    Flags for Kotlin classes. + +

    Valid common flags: - hasAnnotations - isInternal - isPrivate - isProtected - isPublic - + isPrivateToThis - isLocal - isFinal - isOpen - isAbstract - isSealed

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      booleanhasAnnotations 
      booleanhasMethodBodiesInInterface +
      Applied to an interface compiled with -Xjvm-default=all or all-compatibility.
      +
      booleanisAnnotationClass +
      A class kind flag, signifying that the corresponding class is an `annotation class`.
      +
      booleanisCompanionObject +
      A class kind flag, signifying that the corresponding class is a `companion object`.
      +
      booleanisCompiledInCompatibilityMode +
      Applied to an interface compiled with -Xjvm-default=all or all-compatibility.
      +
      booleanisData +
      Signifies that the corresponding class is `data`.
      +
      booleanisEnumClass +
      A class kind flag, signifying that the corresponding class is an `enum class`.
      +
      booleanisEnumEntry +
      A class kind flag, signifying that the corresponding class is an enum entry.
      +
      booleanisExpect +
      Signifies that the corresponding class is `expect`.
      +
      booleanisExternal +
      Signifies that the corresponding class is `external`.
      +
      booleanisFun +
      Signifies that the corresponding class is a functional interface, i.e.
      +
      booleanisInner +
      Signifies that the corresponding class is `inner`.
      +
      booleanisInterface +
      A class kind flag, signifying that the corresponding class is an `interface`.
      +
      booleanisObject +
      A class kind flag, signifying that the corresponding class is a non-companion `object`.
      +
      booleanisUsualClass +
      A class kind flag, signifying that the corresponding class is a usual `class`.
      +
      booleanisValue +
      Signifies that the corresponding class is `value`.
      +
      KotlinModalityFlagsmodality 
      KotlinVisibilityFlagsvisibility 
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + + + + + +
        +
      • +

        hasAnnotations

        +
        public boolean hasAnnotations
        +
      • +
      + + + +
        +
      • +

        isUsualClass

        +
        public boolean isUsualClass
        +
        A class kind flag, signifying that the corresponding class is a usual `class`.
        +
      • +
      + + + +
        +
      • +

        isInterface

        +
        public boolean isInterface
        +
        A class kind flag, signifying that the corresponding class is an `interface`.
        +
      • +
      + + + +
        +
      • +

        isEnumClass

        +
        public boolean isEnumClass
        +
        A class kind flag, signifying that the corresponding class is an `enum class`.
        +
      • +
      + + + +
        +
      • +

        isEnumEntry

        +
        public boolean isEnumEntry
        +
        A class kind flag, signifying that the corresponding class is an enum entry.
        +
      • +
      + + + +
        +
      • +

        isAnnotationClass

        +
        public boolean isAnnotationClass
        +
        A class kind flag, signifying that the corresponding class is an `annotation class`.
        +
      • +
      + + + +
        +
      • +

        isObject

        +
        public boolean isObject
        +
        A class kind flag, signifying that the corresponding class is a non-companion `object`.
        +
      • +
      + + + +
        +
      • +

        isCompanionObject

        +
        public boolean isCompanionObject
        +
        A class kind flag, signifying that the corresponding class is a `companion object`.
        +
      • +
      + + + +
        +
      • +

        isInner

        +
        public boolean isInner
        +
        Signifies that the corresponding class is `inner`.
        +
      • +
      + + + +
        +
      • +

        isData

        +
        public boolean isData
        +
        Signifies that the corresponding class is `data`.
        +
      • +
      + + + +
        +
      • +

        isExternal

        +
        public boolean isExternal
        +
        Signifies that the corresponding class is `external`.
        +
      • +
      + + + +
        +
      • +

        isExpect

        +
        public boolean isExpect
        +
        Signifies that the corresponding class is `expect`.
        +
      • +
      + + + +
        +
      • +

        isValue

        +
        public boolean isValue
        +
        Signifies that the corresponding class is `value`.
        +
      • +
      + + + +
        +
      • +

        isFun

        +
        public boolean isFun
        +
        Signifies that the corresponding class is a functional interface, i.e. marked with the keyword + `fun`.
        +
      • +
      + + + +
        +
      • +

        hasMethodBodiesInInterface

        +
        public boolean hasMethodBodiesInInterface
        +
        Applied to an interface compiled with -Xjvm-default=all or all-compatibility. + +

        Without this flag or a `@JvmDefault` annotation on individual interface methods the Kotlin + compiler moves all interface method bodies into a nested `DefaultImpls` class.

        +
      • +
      + + + +
        +
      • +

        isCompiledInCompatibilityMode

        +
        public boolean isCompiledInCompatibilityMode
        +
        Applied to an interface compiled with -Xjvm-default=all or all-compatibility. + +

        Without this flag or a `@JvmDefault` annotation on individual interface methods the Kotlin + compiler moves all interface method bodies into a nested `DefaultImpls` class.

        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinCommonFlags.html b/api/proguard/classfile/kotlin/flags/KotlinCommonFlags.html new file mode 100644 index 000000000..210193415 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinCommonFlags.html @@ -0,0 +1,319 @@ + + + + + +KotlinCommonFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinCommonFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinCommonFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    public final class KotlinCommonFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
    Common flags.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      booleanhasAnnotations +
      Valid for: class, constructor, function, synthetic function, property, property accessor, + typeAlias, type, type parameter, value parameter
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      KotlinCommonFlags() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        hasAnnotations

        +
        public boolean hasAnnotations
        +
        Valid for: class, constructor, function, synthetic function, property, property accessor, + typeAlias, type, type parameter, value parameter
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinCommonFlags

        +
        public KotlinCommonFlags()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinConstructorFlags.html b/api/proguard/classfile/kotlin/flags/KotlinConstructorFlags.html new file mode 100644 index 000000000..2815a8e91 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinConstructorFlags.html @@ -0,0 +1,367 @@ + + + + + +KotlinConstructorFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinConstructorFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinConstructorFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    public class KotlinConstructorFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
    Flags for Kotlin constructors. + +

    Valid common flags: - hasAnnotations - isInternal - isPrivate - isProtected - isPublic - + isPrivateToThis - isLocal

    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + +
        +
      • +

        hasAnnotations

        +
        public boolean hasAnnotations
        +
      • +
      + + + +
        +
      • +

        isSecondary

        +
        public boolean isSecondary
        +
        Signifies that the corresponding constructor is secondary, i.e. declared not in the class + header, but in the class body.
        +
      • +
      + + + +
        +
      • +

        hasNonStableParameterNames

        +
        public boolean hasNonStableParameterNames
        +
        Signifies that the corresponding constructor has non-stable parameter names, i.e. cannot be + called with named arguments.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinEffectExpressionFlags.html b/api/proguard/classfile/kotlin/flags/KotlinEffectExpressionFlags.html new file mode 100644 index 000000000..1e5f1416f --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinEffectExpressionFlags.html @@ -0,0 +1,340 @@ + + + + + +KotlinEffectExpressionFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinEffectExpressionFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinEffectExpressionFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    public class KotlinEffectExpressionFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
    Flags for Kotlin types. + +

    No valid common flags.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      booleanisNegated +
      Signifies that the corresponding effect expression should be negated to compute the proposition + or the conclusion of an effect.
      +
      booleanisNullCheckPredicate +
      Signifies that the corresponding effect expression checks whether a value of some variable is + `null`.
      +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        isNegated

        +
        public boolean isNegated
        +
        Signifies that the corresponding effect expression should be negated to compute the proposition + or the conclusion of an effect.
        +
      • +
      + + + +
        +
      • +

        isNullCheckPredicate

        +
        public boolean isNullCheckPredicate
        +
        Signifies that the corresponding effect expression checks whether a value of some variable is + `null`.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinEffectExpressionFlags

        +
        public KotlinEffectExpressionFlags()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinFlags.html b/api/proguard/classfile/kotlin/flags/KotlinFlags.html new file mode 100644 index 000000000..da2f00dac --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinFlags.html @@ -0,0 +1,195 @@ + + + + + +KotlinFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinFlags

+
+
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/flags/KotlinFunctionFlags.html b/api/proguard/classfile/kotlin/flags/KotlinFunctionFlags.html new file mode 100644 index 000000000..2decd98c1 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinFunctionFlags.html @@ -0,0 +1,543 @@ + + + + + +KotlinFunctionFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinFunctionFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinFunctionFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    public class KotlinFunctionFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
    Flags for Kotlin functions. + +

    Valid common flags: - hasAnnotations - isInternal - isPrivate - isProtected - isPublic - + isPrivateToThis - isLocal - isFinal - isOpen - isAbstract - isSealed

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      booleanhasAnnotations 
      booleanisDeclaration +
      A member kind flag, signifying that the corresponding function is explicitly declared in the + containing class.
      +
      booleanisDelegation +
      A member kind flag, signifying that the corresponding function exists in the containing class + because it has been produced by interface delegation (delegation "by").
      +
      booleanisExpect +
      Signifies that the corresponding function is `expect`.
      +
      booleanisExternal +
      Signifies that the corresponding function is `external`.
      +
      booleanisFakeOverride +
      A member kind flag, signifying that the corresponding function exists in the containing class + because a function with a suitable signature exists in a supertype.
      +
      booleanisInfix +
      Signifies that the corresponding function is `infix`.
      +
      booleanisInline +
      Signifies that the corresponding function is `inline`.
      +
      booleanisOperator +
      Signifies that the corresponding function is `operator`.
      +
      booleanisSuspend +
      Signifies that the corresponding function is `suspend`.
      +
      booleanisSynthesized +
      A member kind flag, signifying that the corresponding function exists in the containing class + because it has been synthesized by the compiler and has no declaration in the source code.
      +
      booleanisTailrec +
      Signifies that the corresponding function is `tailrec`.
      +
      KotlinModalityFlagsmodality 
      KotlinVisibilityFlagsvisibility 
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + + + + + +
        +
      • +

        hasAnnotations

        +
        public boolean hasAnnotations
        +
      • +
      + + + +
        +
      • +

        isDeclaration

        +
        public boolean isDeclaration
        +
        A member kind flag, signifying that the corresponding function is explicitly declared in the + containing class.
        +
      • +
      + + + +
        +
      • +

        isFakeOverride

        +
        public boolean isFakeOverride
        +
        A member kind flag, signifying that the corresponding function exists in the containing class + because a function with a suitable signature exists in a supertype. This flag is not written by + the Kotlin compiler and its effects are unspecified.
        +
      • +
      + + + +
        +
      • +

        isDelegation

        +
        public boolean isDelegation
        +
        A member kind flag, signifying that the corresponding function exists in the containing class + because it has been produced by interface delegation (delegation "by").
        +
      • +
      + + + +
        +
      • +

        isSynthesized

        +
        public boolean isSynthesized
        +
        A member kind flag, signifying that the corresponding function exists in the containing class + because it has been synthesized by the compiler and has no declaration in the source code.
        +
      • +
      + + + +
        +
      • +

        isOperator

        +
        public boolean isOperator
        +
        Signifies that the corresponding function is `operator`.
        +
      • +
      + + + +
        +
      • +

        isInfix

        +
        public boolean isInfix
        +
        Signifies that the corresponding function is `infix`.
        +
      • +
      + + + +
        +
      • +

        isInline

        +
        public boolean isInline
        +
        Signifies that the corresponding function is `inline`.
        +
      • +
      + + + +
        +
      • +

        isTailrec

        +
        public boolean isTailrec
        +
        Signifies that the corresponding function is `tailrec`.
        +
      • +
      + + + +
        +
      • +

        isExternal

        +
        public boolean isExternal
        +
        Signifies that the corresponding function is `external`.
        +
      • +
      + + + +
        +
      • +

        isSuspend

        +
        public boolean isSuspend
        +
        Signifies that the corresponding function is `suspend`.
        +
      • +
      + + + +
        +
      • +

        isExpect

        +
        public boolean isExpect
        +
        Signifies that the corresponding function is `expect`.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinModalityFlags.html b/api/proguard/classfile/kotlin/flags/KotlinModalityFlags.html new file mode 100644 index 000000000..6921cb40b --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinModalityFlags.html @@ -0,0 +1,367 @@ + + + + + +KotlinModalityFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinModalityFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinModalityFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    public class KotlinModalityFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      booleanisAbstract +
      Signifies the declaration is 'abstract'
      +
      booleanisFinal +
      Signifies the declaration is 'final'
      +
      booleanisOpen +
      Signifies the declaration is 'open'
      +
      booleanisSealed +
      Signifies the declaration is 'sealed'
      +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        isFinal

        +
        public boolean isFinal
        +
        Signifies the declaration is 'final'
        +
      • +
      + + + +
        +
      • +

        isOpen

        +
        public boolean isOpen
        +
        Signifies the declaration is 'open'
        +
      • +
      + + + +
        +
      • +

        isAbstract

        +
        public boolean isAbstract
        +
        Signifies the declaration is 'abstract'
        +
      • +
      + + + +
        +
      • +

        isSealed

        +
        public boolean isSealed
        +
        Signifies the declaration is 'sealed'
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinModalityFlags

        +
        public KotlinModalityFlags()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinPropertyAccessorFlags.html b/api/proguard/classfile/kotlin/flags/KotlinPropertyAccessorFlags.html new file mode 100644 index 000000000..97c934e1f --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinPropertyAccessorFlags.html @@ -0,0 +1,399 @@ + + + + + +KotlinPropertyAccessorFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinPropertyAccessorFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinPropertyAccessorFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    public class KotlinPropertyAccessorFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
    Flags for Kotlin property accessors (getters/setters for properties). + +

    Valid common flags: - hasAnnotations - isInternal - isPrivate - isProtected - isPublic - + isPrivateToThis - isLocal - isFinal - isOpen - isAbstract - isSealed

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + + + + + +
        +
      • +

        hasAnnotations

        +
        public boolean hasAnnotations
        +
      • +
      + + + +
        +
      • +

        isDefault

        +
        public boolean isDefault
        +
        Signifies that the corresponding property is not default, i.e. it has a body and/or annotations + in the source code.
        +
      • +
      + + + +
        +
      • +

        isExternal

        +
        public boolean isExternal
        +
        Signifies that the corresponding property is `external`.
        +
      • +
      + + + +
        +
      • +

        isInline

        +
        public boolean isInline
        +
        Signifies that the corresponding property is `inline`.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinPropertyFlags.html b/api/proguard/classfile/kotlin/flags/KotlinPropertyFlags.html new file mode 100644 index 000000000..1150acfb2 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinPropertyFlags.html @@ -0,0 +1,568 @@ + + + + + +KotlinPropertyFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinPropertyFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinPropertyFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    public class KotlinPropertyFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
    Flags for Kotlin properties. + +

    Valid common flags: - hasAnnotations - isInternal - isPrivate - isProtected - isPublic - + isPrivateToThis - isLocal - isFinal - isOpen - isAbstract - isSealed

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      booleanhasAnnotations 
      booleanhasConstant +
      Signifies that the corresponding property has a constant value.
      +
      booleanisConst +
      Signifies that the corresponding property is `const`.
      +
      booleanisDeclared +
      A member kind flag, signifying that the corresponding property is explicitly declared in the + containing class.
      +
      booleanisDelegated +
      Signifies that the corresponding property is a delegated property.
      +
      booleanisDelegation +
      A member kind flag, signifying that the corresponding property exists in the containing class + because it has been produced by interface delegation (delegation "by").
      +
      booleanisExpect +
      Signifies that the corresponding property is `expect`.
      +
      booleanisExternal +
      Signifies that the corresponding property is `external`.
      +
      booleanisFakeOverride +
      A member kind flag, signifying that the corresponding property exists in the containing class + because a property with a suitable signature exists in a supertype.
      +
      booleanisLateinit +
      Signifies that the corresponding property is `lateinit`.
      +
      booleanisMovedFromInterfaceCompanion +
      Signifies that its backing field is declared as a static field in an interface, usually happens + when @JvmField annotation is used e.g.
      +
      booleanisSynthesized +
      A member kind flag, signifying that the corresponding property exists in the containing class + because it has been synthesized by the compiler and has no declaration in the source code.
      +
      booleanisVar +
      Signifies that the corresponding property is `var`.
      +
      KotlinModalityFlagsmodality 
      KotlinVisibilityFlagsvisibility 
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + + + + + +
        +
      • +

        hasAnnotations

        +
        public boolean hasAnnotations
        +
      • +
      + + + +
        +
      • +

        isDeclared

        +
        public boolean isDeclared
        +
        A member kind flag, signifying that the corresponding property is explicitly declared in the + containing class.
        +
      • +
      + + + +
        +
      • +

        isFakeOverride

        +
        public boolean isFakeOverride
        +
        A member kind flag, signifying that the corresponding property exists in the containing class + because a property with a suitable signature exists in a supertype. This flag is not written by + the Kotlin compiler and its effects are unspecified.
        +
      • +
      + + + +
        +
      • +

        isDelegation

        +
        public boolean isDelegation
        +
        A member kind flag, signifying that the corresponding property exists in the containing class + because it has been produced by interface delegation (delegation "by"). Kotlinc never writes + this flag.
        +
      • +
      + + + +
        +
      • +

        isSynthesized

        +
        public boolean isSynthesized
        +
        A member kind flag, signifying that the corresponding property exists in the containing class + because it has been synthesized by the compiler and has no declaration in the source code.
        +
      • +
      + + + +
        +
      • +

        isVar

        +
        public boolean isVar
        +
        Signifies that the corresponding property is `var`.
        +
      • +
      + + + +
        +
      • +

        isConst

        +
        public boolean isConst
        +
        Signifies that the corresponding property is `const`.
        +
      • +
      + + + +
        +
      • +

        isLateinit

        +
        public boolean isLateinit
        +
        Signifies that the corresponding property is `lateinit`.
        +
      • +
      + + + +
        +
      • +

        hasConstant

        +
        public boolean hasConstant
        +
        Signifies that the corresponding property has a constant value. On JVM, this flag allows an + optimization similarly to [F.HAS_ANNOTATIONS]: constant values of properties are written to the + bytecode directly, and this flag can be used to avoid reading the value from the bytecode in + case there isn't one.
        +
      • +
      + + + +
        +
      • +

        isExternal

        +
        public boolean isExternal
        +
        Signifies that the corresponding property is `external`.
        +
      • +
      + + + +
        +
      • +

        isDelegated

        +
        public boolean isDelegated
        +
        Signifies that the corresponding property is a delegated property.
        +
      • +
      + + + +
        +
      • +

        isExpect

        +
        public boolean isExpect
        +
        Signifies that the corresponding property is `expect`.
        +
      • +
      + + + +
        +
      • +

        isMovedFromInterfaceCompanion

        +
        public boolean isMovedFromInterfaceCompanion
        +
        Signifies that its backing field is declared as a static field in an interface, usually happens + when @JvmField annotation is used e.g. + +

        interface A { companion object { @JvmField val s:String = "string" } }

        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinTypeAliasFlags.html b/api/proguard/classfile/kotlin/flags/KotlinTypeAliasFlags.html new file mode 100644 index 000000000..2de32dc7a --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinTypeAliasFlags.html @@ -0,0 +1,327 @@ + + + + + +KotlinTypeAliasFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinTypeAliasFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinTypeAliasFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    public class KotlinTypeAliasFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinTypeFlags.html b/api/proguard/classfile/kotlin/flags/KotlinTypeFlags.html new file mode 100644 index 000000000..7453583bd --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinTypeFlags.html @@ -0,0 +1,354 @@ + + + + + +KotlinTypeFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinTypeFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinTypeFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    public class KotlinTypeFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
    Flags for Kotlin types.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      booleanisDefinitelyNonNull +
      Signifies that the corresponding type is [definitely + non-null](https://kotlinlang.org/docs/whatsnew17.html#stable-definitely-non-nullable-types).
      +
      booleanisNullable +
      Signifies that the corresponding type is marked as nullable, i.e.
      +
      booleanisSuspend +
      Signifies that the corresponding type is `suspend`.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      KotlinTypeFlags() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        isNullable

        +
        public boolean isNullable
        +
        Signifies that the corresponding type is marked as nullable, i.e. has a question mark at the + end of its notation.
        +
      • +
      + + + +
        +
      • +

        isDefinitelyNonNull

        +
        public boolean isDefinitelyNonNull
        +
        Signifies that the corresponding type is [definitely + non-null](https://kotlinlang.org/docs/whatsnew17.html#stable-definitely-non-nullable-types).
        +
      • +
      + + + +
        +
      • +

        isSuspend

        +
        public boolean isSuspend
        +
        Signifies that the corresponding type is `suspend`.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinTypeFlags

        +
        public KotlinTypeFlags()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinTypeParameterFlags.html b/api/proguard/classfile/kotlin/flags/KotlinTypeParameterFlags.html new file mode 100644 index 000000000..d4b0fdbcc --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinTypeParameterFlags.html @@ -0,0 +1,317 @@ + + + + + +KotlinTypeParameterFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinTypeParameterFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinTypeParameterFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    public class KotlinTypeParameterFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
    Flags for Kotlin type parameters.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      booleanisReified +
      Signifies that the corresponding type parameter is `reified`.
      +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        isReified

        +
        public boolean isReified
        +
        Signifies that the corresponding type parameter is `reified`.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinTypeParameterFlags

        +
        public KotlinTypeParameterFlags()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinValueParameterFlags.html b/api/proguard/classfile/kotlin/flags/KotlinValueParameterFlags.html new file mode 100644 index 000000000..4dc19b81f --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinValueParameterFlags.html @@ -0,0 +1,374 @@ + + + + + +KotlinValueParameterFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinValueParameterFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinValueParameterFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    public class KotlinValueParameterFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
    Flags for Kotlin value parameters. + +

    No valid visibility or modality flags. + +

    hasAnnotations is valid.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      booleanhasAnnotations 
      booleanhasDefaultValue +
      Signifies that the corresponding value parameter declares a default value.
      +
      booleanisCrossInline +
      Signifies that the corresponding value parameter is `crossinline`.
      +
      booleanisNoInline +
      Signifies that the corresponding value parameter is `noinline`.
      +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        hasAnnotations

        +
        public boolean hasAnnotations
        +
      • +
      + + + +
        +
      • +

        hasDefaultValue

        +
        public boolean hasDefaultValue
        +
        Signifies that the corresponding value parameter declares a default value. Note that the + default value itself can be a complex expression and is not available via metadata. Also note + that in case of an override of a parameter with default value, the parameter in the derived + method does _not_ declare the default value ([DECLARES_DEFAULT_VALUE] == false), but the + parameter is still optional at the call site because the default value from the base method is + used.
        +
      • +
      + + + +
        +
      • +

        isCrossInline

        +
        public boolean isCrossInline
        +
        Signifies that the corresponding value parameter is `crossinline`.
        +
      • +
      + + + +
        +
      • +

        isNoInline

        +
        public boolean isNoInline
        +
        Signifies that the corresponding value parameter is `noinline`.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinValueParameterFlags

        +
        public KotlinValueParameterFlags()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinVisibilityFlags.html b/api/proguard/classfile/kotlin/flags/KotlinVisibilityFlags.html new file mode 100644 index 000000000..5d017b21e --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinVisibilityFlags.html @@ -0,0 +1,409 @@ + + + + + +KotlinVisibilityFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinVisibilityFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinVisibilityFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    public class KotlinVisibilityFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      booleanisInternal +
      For top-level declarations : signifies visibility everywhere in the same module For + class/interface members: signifies visibility everywhere in the same module to users who can + has access to the declaring class
      +
      booleanisLocal +
      Signifies that the declaration is declared inside a code block, not visible from outside
      +
      booleanisPrivate +
      For top-level declarations: visible only inside the file containing the declaration For + class/interface members: visible only within the class
      +
      booleanisPrivateToThis +
      For class/interface members: visible only on the same instance of the declaring class
      +
      booleanisProtected +
      For class/interface members: private + visible in subclasses
      +
      booleanisPublic +
      For top-level declarations: visible everywhere For class/interface members: visible to + everywhere to users who can access the declaring class
      +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        isInternal

        +
        public boolean isInternal
        +
        For top-level declarations : signifies visibility everywhere in the same module For + class/interface members: signifies visibility everywhere in the same module to users who can + has access to the declaring class
        +
      • +
      + + + +
        +
      • +

        isPrivate

        +
        public boolean isPrivate
        +
        For top-level declarations: visible only inside the file containing the declaration For + class/interface members: visible only within the class
        +
      • +
      + + + +
        +
      • +

        isProtected

        +
        public boolean isProtected
        +
        For class/interface members: private + visible in subclasses
        +
      • +
      + + + +
        +
      • +

        isPublic

        +
        public boolean isPublic
        +
        For top-level declarations: visible everywhere For class/interface members: visible to + everywhere to users who can access the declaring class
        +
      • +
      + + + +
        +
      • +

        isPrivateToThis

        +
        public boolean isPrivateToThis
        +
        For class/interface members: visible only on the same instance of the declaring class
        +
      • +
      + + + +
        +
      • +

        isLocal

        +
        public boolean isLocal
        +
        Signifies that the declaration is declared inside a code block, not visible from outside
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinVisibilityFlags

        +
        public KotlinVisibilityFlags()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/flags/package-summary.html b/api/proguard/classfile/kotlin/flags/package-summary.html new file mode 100644 index 000000000..9237039f0 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/package-summary.html @@ -0,0 +1,249 @@ + + + + + +proguard.classfile.kotlin.flags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.kotlin.flags

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/kotlin/flags/package-tree.html b/api/proguard/classfile/kotlin/flags/package-tree.html new file mode 100644 index 000000000..4ab9d21bc --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/package-tree.html @@ -0,0 +1,179 @@ + + + + + +proguard.classfile.kotlin.flags Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.kotlin.flags

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/kotlin/package-summary.html b/api/proguard/classfile/kotlin/package-summary.html new file mode 100644 index 000000000..ddaeda457 --- /dev/null +++ b/api/proguard/classfile/kotlin/package-summary.html @@ -0,0 +1,383 @@ + + + + + +proguard.classfile.kotlin (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.kotlin

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/kotlin/package-tree.html b/api/proguard/classfile/kotlin/package-tree.html new file mode 100644 index 000000000..2eb58af20 --- /dev/null +++ b/api/proguard/classfile/kotlin/package-tree.html @@ -0,0 +1,238 @@ + + + + + +proguard.classfile.kotlin Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.kotlin

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/kotlin/reflect/CallableReferenceInfo.html b/api/proguard/classfile/kotlin/reflect/CallableReferenceInfo.html new file mode 100644 index 000000000..beb9d058f --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/CallableReferenceInfo.html @@ -0,0 +1,337 @@ + + + + + +CallableReferenceInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface CallableReferenceInfo

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        java.lang.String getName()
        +
        The Kotlin name of the callable, the one which was declared in the source code (@JvmName + doesn't change it).
        +
        +
        Returns:
        +
        The Kotlin name.
        +
        +
      • +
      + + + +
        +
      • +

        getSignature

        +
        java.lang.String getSignature()
        +
        The signature of the callable.
        +
        +
        Returns:
        +
        The signature.
        +
        +
      • +
      + + + +
        +
      • +

        getOwner

        +
        KotlinDeclarationContainerMetadata getOwner()
        +
        The class or package where the callable should be located, usually specified on the LHS of the + '::' operator. + +

        Note: this is not necessarily the location where the callable is *declared* - it could be + declared in a superclass.

        +
        +
        Returns:
        +
        The owner.
        +
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/reflect/FunctionReferenceInfo.html b/api/proguard/classfile/kotlin/reflect/FunctionReferenceInfo.html new file mode 100644 index 000000000..34cc688c9 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/FunctionReferenceInfo.html @@ -0,0 +1,414 @@ + + + + + +FunctionReferenceInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FunctionReferenceInfo

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.reflect.FunctionReferenceInfo
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/reflect/JavaFieldReferenceInfo.html b/api/proguard/classfile/kotlin/reflect/JavaFieldReferenceInfo.html new file mode 100644 index 000000000..e2cf924bc --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/JavaFieldReferenceInfo.html @@ -0,0 +1,354 @@ + + + + + +JavaFieldReferenceInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JavaFieldReferenceInfo

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JavaFieldReferenceInfo

        +
        public JavaFieldReferenceInfo​(Clazz ownerClass,
        +                              Clazz clazz,
        +                              Member member)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getSignature

        +
        public java.lang.String getSignature()
        +
        If there is no getter method then the signature is the imaginary default getter that would be + generated otherwise e.g. "myProperty" -> "getMyProperty".
        +
        +
        Specified by:
        +
        getSignature in interface CallableReferenceInfo
        +
        Overrides:
        +
        getSignature in class JavaReferenceInfo
        +
        Returns:
        +
        the signature.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/reflect/JavaMethodReferenceInfo.html b/api/proguard/classfile/kotlin/reflect/JavaMethodReferenceInfo.html new file mode 100644 index 000000000..999b62571 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/JavaMethodReferenceInfo.html @@ -0,0 +1,303 @@ + + + + + +JavaMethodReferenceInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JavaMethodReferenceInfo

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JavaMethodReferenceInfo

        +
        public JavaMethodReferenceInfo​(Clazz ownerClass,
        +                               Clazz clazz,
        +                               Member member)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/reflect/JavaReferenceInfo.html b/api/proguard/classfile/kotlin/reflect/JavaReferenceInfo.html new file mode 100644 index 000000000..c528cdd8a --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/JavaReferenceInfo.html @@ -0,0 +1,474 @@ + + + + + +JavaReferenceInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JavaReferenceInfo

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.reflect.JavaReferenceInfo
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      protected Clazzclazz 
      protected Membermember 
      +
    • +
    +
    + +
    + +
    + +
    + +
    +
  • +
+
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/reflect/LocalVariableReferenceInfo.html b/api/proguard/classfile/kotlin/reflect/LocalVariableReferenceInfo.html new file mode 100644 index 000000000..bc4e3e990 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/LocalVariableReferenceInfo.html @@ -0,0 +1,416 @@ + + + + + +LocalVariableReferenceInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LocalVariableReferenceInfo

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.reflect.LocalVariableReferenceInfo
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/reflect/PropertyReferenceInfo.html b/api/proguard/classfile/kotlin/reflect/PropertyReferenceInfo.html new file mode 100644 index 000000000..696aed0a1 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/PropertyReferenceInfo.html @@ -0,0 +1,418 @@ + + + + + +PropertyReferenceInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PropertyReferenceInfo

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.reflect.PropertyReferenceInfo
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Description copied from interface: CallableReferenceInfo
        +
        The Kotlin name of the callable, the one which was declared in the source code (@JvmName + doesn't change it).
        +
        +
        Specified by:
        +
        getName in interface CallableReferenceInfo
        +
        Returns:
        +
        The Kotlin name.
        +
        +
      • +
      + + + +
        +
      • +

        getSignature

        +
        public java.lang.String getSignature()
        +
        For properties this is the signature of it's JVM getter method. + +

        If the property has no getter in the bytecode (e.g. private property in a class), it's still + the signature of the imaginary default getter that would be generated otherwise e.g. + "myProperty" -> "getMyProperty".

        +
        +
        Specified by:
        +
        getSignature in interface CallableReferenceInfo
        +
        Returns:
        +
        the signature.
        +
        +
      • +
      + + + +
        +
      • +

        getOwner

        +
        public KotlinDeclarationContainerMetadata getOwner()
        +
        Description copied from interface: CallableReferenceInfo
        +
        The class or package where the callable should be located, usually specified on the LHS of the + '::' operator. + +

        Note: this is not necessarily the location where the callable is *declared* - it could be + declared in a superclass.

        +
        +
        Specified by:
        +
        getOwner in interface CallableReferenceInfo
        +
        Returns:
        +
        The owner.
        +
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/reflect/package-summary.html b/api/proguard/classfile/kotlin/reflect/package-summary.html new file mode 100644 index 000000000..928272066 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/package-summary.html @@ -0,0 +1,205 @@ + + + + + +proguard.classfile.kotlin.reflect (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.kotlin.reflect

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/kotlin/reflect/package-tree.html b/api/proguard/classfile/kotlin/reflect/package-tree.html new file mode 100644 index 000000000..c3ab214f2 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/package-tree.html @@ -0,0 +1,175 @@ + + + + + +proguard.classfile.kotlin.reflect Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.kotlin.reflect

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer.html b/api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer.html new file mode 100644 index 000000000..225562504 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer.html @@ -0,0 +1,306 @@ + + + + + +KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.reflect.util.KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter.html b/api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter.html new file mode 100644 index 000000000..dac317f70 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter.html @@ -0,0 +1,331 @@ + + + + + +KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.reflect.util.KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        OptimizedCallableReferenceFilter

        +
        public OptimizedCallableReferenceFilter​(ClassVisitor optimizedVisitor,
        +                                        ClassVisitor nonOptimizedVisitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.html b/api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.html new file mode 100644 index 000000000..6dd9478a6 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.html @@ -0,0 +1,378 @@ + + + + + +KotlinCallableReferenceInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinCallableReferenceInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.reflect.util.KotlinCallableReferenceInitializer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinMetadataVisitor
    +
    +
    +
    public class KotlinCallableReferenceInitializer
    +extends java.lang.Object
    +implements KotlinMetadataVisitor
    +
    Initialize callable reference class information, by visiting synthetic classes that implement + (Function|Property|LocalVariable)Reference, then finding Function/Property that they refer to and + use this information to initialize a CallableReferenceInfo inside the synthetic class. + +

    FunctionReferences are lambda synthetic classes PropertyReferences are regular synthetic + classes LocalVariableReferences extend PropertyReferences

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/reflect/util/package-summary.html b/api/proguard/classfile/kotlin/reflect/util/package-summary.html new file mode 100644 index 000000000..7923adf16 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/util/package-summary.html @@ -0,0 +1,176 @@ + + + + + +proguard.classfile.kotlin.reflect.util (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.kotlin.reflect.util

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/kotlin/reflect/util/package-tree.html b/api/proguard/classfile/kotlin/reflect/util/package-tree.html new file mode 100644 index 000000000..888d1bf19 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/util/package-tree.html @@ -0,0 +1,163 @@ + + + + + +proguard.classfile.kotlin.reflect.util Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.kotlin.reflect.util

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/kotlin/reflect/visitor/CallableReferenceInfoToOwnerVisitor.html b/api/proguard/classfile/kotlin/reflect/visitor/CallableReferenceInfoToOwnerVisitor.html new file mode 100644 index 000000000..e926004e7 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/visitor/CallableReferenceInfoToOwnerVisitor.html @@ -0,0 +1,320 @@ + + + + + +CallableReferenceInfoToOwnerVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CallableReferenceInfoToOwnerVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.reflect.visitor.CallableReferenceInfoToOwnerVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/reflect/visitor/CallableReferenceInfoVisitor.html b/api/proguard/classfile/kotlin/reflect/visitor/CallableReferenceInfoVisitor.html new file mode 100644 index 000000000..08e44a7e6 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/visitor/CallableReferenceInfoVisitor.html @@ -0,0 +1,308 @@ + + + + + +CallableReferenceInfoVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface CallableReferenceInfoVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyCallableReferenceInfo

        +
        void visitAnyCallableReferenceInfo​(CallableReferenceInfo callableReferenceInfo)
        +
      • +
      + + + +
        +
      • +

        visitFunctionReferenceInfo

        +
        default void visitFunctionReferenceInfo​(FunctionReferenceInfo functionReferenceInfo)
        +
      • +
      + + + +
        +
      • +

        visitJavaReferenceInfo

        +
        default void visitJavaReferenceInfo​(JavaReferenceInfo javaReferenceInfo)
        +
      • +
      + + + +
        +
      • +

        visitLocalVariableReferenceInfo

        +
        default void visitLocalVariableReferenceInfo​(LocalVariableReferenceInfo localVariableReferenceInfo)
        +
      • +
      + + + +
        +
      • +

        visitPropertyReferenceInfo

        +
        default void visitPropertyReferenceInfo​(PropertyReferenceInfo propertyReferenceInfo)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/reflect/visitor/package-summary.html b/api/proguard/classfile/kotlin/reflect/visitor/package-summary.html new file mode 100644 index 000000000..75aed9d70 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/visitor/package-summary.html @@ -0,0 +1,179 @@ + + + + + +proguard.classfile.kotlin.reflect.visitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.kotlin.reflect.visitor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/kotlin/reflect/visitor/package-tree.html b/api/proguard/classfile/kotlin/reflect/visitor/package-tree.html new file mode 100644 index 000000000..95b6b0a29 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/visitor/package-tree.html @@ -0,0 +1,167 @@ + + + + + +proguard.classfile.kotlin.reflect.visitor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.kotlin.reflect.visitor

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/kotlin/visitor/AllConstructorVisitor.html b/api/proguard/classfile/kotlin/visitor/AllConstructorVisitor.html new file mode 100644 index 000000000..4098ac9b3 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllConstructorVisitor.html @@ -0,0 +1,344 @@ + + + + + +AllConstructorVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllConstructorVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.AllConstructorVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinMetadataVisitor
    +
    +
    +
    public class AllConstructorVisitor
    +extends java.lang.Object
    +implements KotlinMetadataVisitor
    +
    This KotlinMetadataVisitor lets a given KotlinConstructorVisitor visit all constructors of + visited KotlinMetadata.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/AllFunctionVisitor.html b/api/proguard/classfile/kotlin/visitor/AllFunctionVisitor.html new file mode 100644 index 000000000..ab240ce6c --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllFunctionVisitor.html @@ -0,0 +1,364 @@ + + + + + +AllFunctionVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllFunctionVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.AllFunctionVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinMetadataVisitor
    +
    +
    +
    public class AllFunctionVisitor
    +extends java.lang.Object
    +implements KotlinMetadataVisitor
    +
    This KotlinMetadataVisitor lets a given KotlinFunctionVisitor visit all functions of visited + KotlinMetadata.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/AllKotlinAnnotationArgumentVisitor.html b/api/proguard/classfile/kotlin/visitor/AllKotlinAnnotationArgumentVisitor.html new file mode 100644 index 000000000..72e378e5b --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllKotlinAnnotationArgumentVisitor.html @@ -0,0 +1,325 @@ + + + + + +AllKotlinAnnotationArgumentVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllKotlinAnnotationArgumentVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.AllKotlinAnnotationArgumentVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/AllKotlinAnnotationVisitor.html b/api/proguard/classfile/kotlin/visitor/AllKotlinAnnotationVisitor.html new file mode 100644 index 000000000..56f183513 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllKotlinAnnotationVisitor.html @@ -0,0 +1,418 @@ + + + + + +AllKotlinAnnotationVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllKotlinAnnotationVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.AllKotlinAnnotationVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/AllPropertyVisitor.html b/api/proguard/classfile/kotlin/visitor/AllPropertyVisitor.html new file mode 100644 index 000000000..9f3e60027 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllPropertyVisitor.html @@ -0,0 +1,344 @@ + + + + + +AllPropertyVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllPropertyVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.AllPropertyVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinMetadataVisitor
    +
    +
    +
    public class AllPropertyVisitor
    +extends java.lang.Object
    +implements KotlinMetadataVisitor
    +
    This KotlinMetadataVisitor lets a given KotlinPropertyVisitor visit all properties (regular and + delegated) of visited KotlinDeclarationContainerMetadata.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/AllTypeAliasVisitor.html b/api/proguard/classfile/kotlin/visitor/AllTypeAliasVisitor.html new file mode 100644 index 000000000..4db3f9c52 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllTypeAliasVisitor.html @@ -0,0 +1,342 @@ + + + + + +AllTypeAliasVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllTypeAliasVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.AllTypeAliasVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/AllTypeParameterVisitor.html b/api/proguard/classfile/kotlin/visitor/AllTypeParameterVisitor.html new file mode 100644 index 000000000..4d0936534 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllTypeParameterVisitor.html @@ -0,0 +1,462 @@ + + + + + +AllTypeParameterVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllTypeParameterVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.AllTypeParameterVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/AllTypeVisitor.html b/api/proguard/classfile/kotlin/visitor/AllTypeVisitor.html new file mode 100644 index 000000000..b2767f179 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllTypeVisitor.html @@ -0,0 +1,1279 @@ + + + + + +AllTypeVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllTypeVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.AllTypeVisitor
    • +
    +
  • +
+ +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/AllValueParameterVisitor.html b/api/proguard/classfile/kotlin/visitor/AllValueParameterVisitor.html new file mode 100644 index 000000000..51b743139 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllValueParameterVisitor.html @@ -0,0 +1,464 @@ + + + + + +AllValueParameterVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllValueParameterVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.AllValueParameterVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinAnnotationArgumentVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinAnnotationArgumentVisitor.html new file mode 100644 index 000000000..e22c944f1 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinAnnotationArgumentVisitor.html @@ -0,0 +1,657 @@ + + + + + +KotlinAnnotationArgumentVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinAnnotationArgumentVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinAnnotationVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinAnnotationVisitor.html new file mode 100644 index 000000000..5351b561a --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinAnnotationVisitor.html @@ -0,0 +1,310 @@ + + + + + +KotlinAnnotationVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinAnnotationVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinClassToAnonymousObjectOriginClassVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinClassToAnonymousObjectOriginClassVisitor.html new file mode 100644 index 000000000..8941048a0 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinClassToAnonymousObjectOriginClassVisitor.html @@ -0,0 +1,346 @@ + + + + + +KotlinClassToAnonymousObjectOriginClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinClassToAnonymousObjectOriginClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.KotlinClassToAnonymousObjectOriginClassVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinClassToDefaultImplsClassVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinClassToDefaultImplsClassVisitor.html new file mode 100644 index 000000000..2f41ca03a --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinClassToDefaultImplsClassVisitor.html @@ -0,0 +1,342 @@ + + + + + +KotlinClassToDefaultImplsClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinClassToDefaultImplsClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.KotlinClassToDefaultImplsClassVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinClassToInlineOriginFunctionVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinClassToInlineOriginFunctionVisitor.html new file mode 100644 index 000000000..2f5f4f578 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinClassToInlineOriginFunctionVisitor.html @@ -0,0 +1,348 @@ + + + + + +KotlinClassToInlineOriginFunctionVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinClassToInlineOriginFunctionVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.KotlinClassToInlineOriginFunctionVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinClassVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinClassVisitor.html new file mode 100644 index 000000000..907656e4b --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinClassVisitor.html @@ -0,0 +1,287 @@ + + + + + +KotlinClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinClassVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinConstructorVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinConstructorVisitor.html new file mode 100644 index 000000000..8c876d7a5 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinConstructorVisitor.html @@ -0,0 +1,256 @@ + + + + + +KotlinConstructorVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinConstructorVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinContractVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinContractVisitor.html new file mode 100644 index 000000000..81bf6674b --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinContractVisitor.html @@ -0,0 +1,258 @@ + + + + + +KotlinContractVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinContractVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinEffectExprVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinEffectExprVisitor.html new file mode 100644 index 000000000..78da8b3bd --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinEffectExprVisitor.html @@ -0,0 +1,332 @@ + + + + + +KotlinEffectExprVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinEffectExprVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinEffectVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinEffectVisitor.html new file mode 100644 index 000000000..069b09c54 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinEffectVisitor.html @@ -0,0 +1,260 @@ + + + + + +KotlinEffectVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinEffectVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinFileFacadeVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinFileFacadeVisitor.html new file mode 100644 index 000000000..491ad256d --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinFileFacadeVisitor.html @@ -0,0 +1,287 @@ + + + + + +KotlinFileFacadeVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinFileFacadeVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinFunctionToDefaultMethodVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinFunctionToDefaultMethodVisitor.html new file mode 100644 index 000000000..5618f9e49 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinFunctionToDefaultMethodVisitor.html @@ -0,0 +1,326 @@ + + + + + +KotlinFunctionToDefaultMethodVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinFunctionToDefaultMethodVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.KotlinFunctionToDefaultMethodVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFunctionVisitor
    +
    +
    +
    public class KotlinFunctionToDefaultMethodVisitor
    +extends java.lang.Object
    +implements KotlinFunctionVisitor
    +
    This class applies the given member visitor to the referenced default method of a Kotlin + function.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinFunctionToMethodVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinFunctionToMethodVisitor.html new file mode 100644 index 000000000..f622cb2f8 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinFunctionToMethodVisitor.html @@ -0,0 +1,325 @@ + + + + + +KotlinFunctionToMethodVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinFunctionToMethodVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.KotlinFunctionToMethodVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFunctionVisitor
    +
    +
    +
    public class KotlinFunctionToMethodVisitor
    +extends java.lang.Object
    +implements KotlinFunctionVisitor
    +
    This class applies the given member visitor to the referenced method of a Kotlin function.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinFunctionVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinFunctionVisitor.html new file mode 100644 index 000000000..6a50f360e --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinFunctionVisitor.html @@ -0,0 +1,292 @@ + + + + + +KotlinFunctionVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinFunctionVisitor

+
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinMetadataPrinter.html b/api/proguard/classfile/kotlin/visitor/KotlinMetadataPrinter.html new file mode 100644 index 000000000..58a336c10 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMetadataPrinter.html @@ -0,0 +1,1423 @@ + + + + + +KotlinMetadataPrinter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMetadataPrinter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.KotlinMetadataPrinter
    • +
    +
  • +
+ +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinMetadataRemover.html b/api/proguard/classfile/kotlin/visitor/KotlinMetadataRemover.html new file mode 100644 index 000000000..4f2302522 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMetadataRemover.html @@ -0,0 +1,354 @@ + + + + + +KotlinMetadataRemover (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMetadataRemover

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.KotlinMetadataRemover
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class KotlinMetadataRemover
    +extends java.lang.Object
    +implements ClassVisitor
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinMetadataRemover

        +
        public KotlinMetadataRemover()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinMetadataToClazzVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinMetadataToClazzVisitor.html new file mode 100644 index 000000000..51814cb28 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMetadataToClazzVisitor.html @@ -0,0 +1,362 @@ + + + + + +KotlinMetadataToClazzVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMetadataToClazzVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.KotlinMetadataToClazzVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinMetadataVersionFilter.html b/api/proguard/classfile/kotlin/visitor/KotlinMetadataVersionFilter.html new file mode 100644 index 000000000..e1fdf65c7 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMetadataVersionFilter.html @@ -0,0 +1,430 @@ + + + + + +KotlinMetadataVersionFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMetadataVersionFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.KotlinMetadataVersionFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinMetadataVersionFilter

        +
        public KotlinMetadataVersionFilter​(java.util.function.Predicate<KotlinMetadataVersion> predicate,
        +                                   ClassVisitor accepted,
        +                                   ClassVisitor rejected)
        +
        Tests a predicate on the classes' KotlinMetadataVersion and delegates to different + ClassVisitors based on the result.
        +
        +
        Parameters:
        +
        predicate - The predicate to test the KotlinMetadata against
        +
        accepted - The ClassVisitor to delegate to iff predicate.test
        +
        rejected - The ClassVisitor to delegate to iff !predicate.test
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinMetadataVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinMetadataVisitor.html new file mode 100644 index 000000000..78666701e --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMetadataVisitor.html @@ -0,0 +1,370 @@ + + + + + +KotlinMetadataVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinMetadataVisitor

+
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinMultiFileFacadeVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinMultiFileFacadeVisitor.html new file mode 100644 index 000000000..563faefd7 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMultiFileFacadeVisitor.html @@ -0,0 +1,287 @@ + + + + + +KotlinMultiFileFacadeVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinMultiFileFacadeVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinMultiFilePartVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinMultiFilePartVisitor.html new file mode 100644 index 000000000..96a21fb45 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMultiFilePartVisitor.html @@ -0,0 +1,287 @@ + + + + + +KotlinMultiFilePartVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinMultiFilePartVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinPropertyVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinPropertyVisitor.html new file mode 100644 index 000000000..c84d392d8 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinPropertyVisitor.html @@ -0,0 +1,292 @@ + + + + + +KotlinPropertyVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinPropertyVisitor

+
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinSyntheticClassVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinSyntheticClassVisitor.html new file mode 100644 index 000000000..aabb22e12 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinSyntheticClassVisitor.html @@ -0,0 +1,287 @@ + + + + + +KotlinSyntheticClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinSyntheticClassVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinTypeAliasVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinTypeAliasVisitor.html new file mode 100644 index 000000000..0cd32e091 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinTypeAliasVisitor.html @@ -0,0 +1,256 @@ + + + + + +KotlinTypeAliasVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinTypeAliasVisitor

+
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinTypeParameterVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinTypeParameterVisitor.html new file mode 100644 index 000000000..88d5493c4 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinTypeParameterVisitor.html @@ -0,0 +1,332 @@ + + + + + +KotlinTypeParameterVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinTypeParameterVisitor

+
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinTypeVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinTypeVisitor.html new file mode 100644 index 000000000..35c18eee5 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinTypeVisitor.html @@ -0,0 +1,742 @@ + + + + + +KotlinTypeVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinTypeVisitor

+
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinValueParameterVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinValueParameterVisitor.html new file mode 100644 index 000000000..1de78f096 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinValueParameterVisitor.html @@ -0,0 +1,317 @@ + + + + + +KotlinValueParameterVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinValueParameterVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/KotlinVersionRequirementVisitor.html b/api/proguard/classfile/kotlin/visitor/KotlinVersionRequirementVisitor.html new file mode 100644 index 000000000..82b5cd3b0 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinVersionRequirementVisitor.html @@ -0,0 +1,352 @@ + + + + + +KotlinVersionRequirementVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinVersionRequirementVisitor

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    KotlinMetadataPrinter
    +
    +
    +
    public interface KotlinVersionRequirementVisitor
    +
  • +
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/MemberToKotlinPropertyVisitor.html b/api/proguard/classfile/kotlin/visitor/MemberToKotlinPropertyVisitor.html new file mode 100644 index 000000000..63049e25f --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/MemberToKotlinPropertyVisitor.html @@ -0,0 +1,384 @@ + + + + + +MemberToKotlinPropertyVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberToKotlinPropertyVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.MemberToKotlinPropertyVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberToKotlinPropertyVisitor
    +extends java.lang.Object
    +implements MemberVisitor
    +
    Apply the given KotlinPropertyVisitor if the member is a backing field, getter or setter + for a property.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/MethodToKotlinConstructorVisitor.html b/api/proguard/classfile/kotlin/visitor/MethodToKotlinConstructorVisitor.html new file mode 100644 index 000000000..665559885 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/MethodToKotlinConstructorVisitor.html @@ -0,0 +1,383 @@ + + + + + +MethodToKotlinConstructorVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodToKotlinConstructorVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.MethodToKotlinConstructorVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MethodToKotlinConstructorVisitor
    +extends java.lang.Object
    +implements MemberVisitor
    +
    Apply the given function visitor to a referenced constructors's corresponding KotlinConstructorMetadata.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/MethodToKotlinFunctionVisitor.html b/api/proguard/classfile/kotlin/visitor/MethodToKotlinFunctionVisitor.html new file mode 100644 index 000000000..51dcf41c9 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/MethodToKotlinFunctionVisitor.html @@ -0,0 +1,383 @@ + + + + + +MethodToKotlinFunctionVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodToKotlinFunctionVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.MethodToKotlinFunctionVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MethodToKotlinFunctionVisitor
    +extends java.lang.Object
    +implements MemberVisitor
    +
    Apply the given function visitor to a referenced method's corresponding KotlinFunctionMetadata.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/MultiKotlinMetadataVisitor.html b/api/proguard/classfile/kotlin/visitor/MultiKotlinMetadataVisitor.html new file mode 100644 index 000000000..10ee887d6 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/MultiKotlinMetadataVisitor.html @@ -0,0 +1,349 @@ + + + + + +MultiKotlinMetadataVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiKotlinMetadataVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.MultiKotlinMetadataVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/MultiKotlinTypeParameterVisitor.html b/api/proguard/classfile/kotlin/visitor/MultiKotlinTypeParameterVisitor.html new file mode 100644 index 000000000..278dc7ca8 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/MultiKotlinTypeParameterVisitor.html @@ -0,0 +1,410 @@ + + + + + +MultiKotlinTypeParameterVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiKotlinTypeParameterVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.MultiKotlinTypeParameterVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/ReferencedKotlinMetadataVisitor.html b/api/proguard/classfile/kotlin/visitor/ReferencedKotlinMetadataVisitor.html new file mode 100644 index 000000000..1038445d4 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/ReferencedKotlinMetadataVisitor.html @@ -0,0 +1,357 @@ + + + + + +ReferencedKotlinMetadataVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReferencedKotlinMetadataVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.ReferencedKotlinMetadataVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ReferencedKotlinMetadataVisitor
    +extends java.lang.Object
    +implements ClassVisitor
    +
    Initializes the kotlin metadata for each Kotlin class. After initialization, all info from the + annotation is represented in the Clazz's `kotlinMetadata` field. All arrays in kotlinMetadata are + initialized, even if empty.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinAnnotationArgumentFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinAnnotationArgumentFilter.html new file mode 100644 index 000000000..dc31853ae --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinAnnotationArgumentFilter.html @@ -0,0 +1,349 @@ + + + + + +KotlinAnnotationArgumentFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationArgumentFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinAnnotationArgumentFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinAnnotationFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinAnnotationFilter.html new file mode 100644 index 000000000..7daa744ee --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinAnnotationFilter.html @@ -0,0 +1,403 @@ + + + + + +KotlinAnnotationFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinAnnotationFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinAnnotationFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinClassFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinClassFilter.html new file mode 100644 index 000000000..23cb6331b --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinClassFilter.html @@ -0,0 +1,326 @@ + + + + + +KotlinClassFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinClassFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinClassFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class KotlinClassFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    Delegates to the given ClassVisitor if the class has the kotlin.Metadata annotation.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinClassFilter

        +
        public KotlinClassFilter​(ClassVisitor delegate)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinClassKindFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinClassKindFilter.html new file mode 100644 index 000000000..72c94a487 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinClassKindFilter.html @@ -0,0 +1,366 @@ + + + + + +KotlinClassKindFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinClassKindFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinClassKindFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinMetadataVisitor
    +
    +
    +
    public class KotlinClassKindFilter
    +extends java.lang.Object
    +implements KotlinMetadataVisitor
    +
    Delegate to another KotlinMetadataVisitor if the predicate returns true, or if there's no + predicate. + +

    Note: only for KotlinClassKindMetadata i.e. does not visit synthetic classes. + +

    For example, visit only abstract classes: + +

    programClassPool.classesAccept( new ClazzToKotlinMetadataVisitor( new KotlinClassKindFilter( + clazz -> clazz.flags.isAbstract, new MyOtherKotlinMetadataVisitor())));

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinConstructorFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinConstructorFilter.html new file mode 100644 index 000000000..95a5a317b --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinConstructorFilter.html @@ -0,0 +1,319 @@ + + + + + +KotlinConstructorFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinConstructorFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinConstructorFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinDeclarationContainerFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinDeclarationContainerFilter.html new file mode 100644 index 000000000..e0b8da007 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinDeclarationContainerFilter.html @@ -0,0 +1,375 @@ + + + + + +KotlinDeclarationContainerFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinDeclarationContainerFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinDeclarationContainerFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinMetadataVisitor
    +
    +
    +
    public class KotlinDeclarationContainerFilter
    +extends java.lang.Object
    +implements KotlinMetadataVisitor
    +
    Filter KotlinDeclarationContainers, based on the given predicate.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinFunctionFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinFunctionFilter.html new file mode 100644 index 000000000..fdb70bb99 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinFunctionFilter.html @@ -0,0 +1,369 @@ + + + + + +KotlinFunctionFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinFunctionFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinFunctionFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFunctionVisitor
    +
    +
    +
    public class KotlinFunctionFilter
    +extends java.lang.Object
    +implements KotlinFunctionVisitor
    +
    Delegate to another KotlinFunctionVisitor if the predicate returns true. + +

    For example, visit only abstract functions: + +

    kotlinMetadata.functionsAccept(clazz, new KotlinFunctionFilter(fun -> fun.flags.isAbstract, + new MyOtherKotlinFunctionVisitor()));

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinMetadataFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinMetadataFilter.html new file mode 100644 index 000000000..76aad656e --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinMetadataFilter.html @@ -0,0 +1,358 @@ + + + + + +KotlinMetadataFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMetadataFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinMetadataFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinMultiFilePartKindFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinMultiFilePartKindFilter.html new file mode 100644 index 000000000..0b86417bc --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinMultiFilePartKindFilter.html @@ -0,0 +1,358 @@ + + + + + +KotlinMultiFilePartKindFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMultiFilePartKindFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinMultiFilePartKindFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinPropertyFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinPropertyFilter.html new file mode 100644 index 000000000..71ae34796 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinPropertyFilter.html @@ -0,0 +1,344 @@ + + + + + +KotlinPropertyFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinPropertyFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinPropertyFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinSyntheticClassKindFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinSyntheticClassKindFilter.html new file mode 100644 index 000000000..8298d2635 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinSyntheticClassKindFilter.html @@ -0,0 +1,400 @@ + + + + + +KotlinSyntheticClassKindFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinSyntheticClassKindFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinSyntheticClassKindFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinTypeAliasFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinTypeAliasFilter.html new file mode 100644 index 000000000..d512951d2 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinTypeAliasFilter.html @@ -0,0 +1,338 @@ + + + + + +KotlinTypeAliasFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinTypeAliasFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinTypeAliasFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinTypeFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinTypeFilter.html new file mode 100644 index 000000000..1a9983444 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinTypeFilter.html @@ -0,0 +1,869 @@ + + + + + +KotlinTypeFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinTypeFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinTypeFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinTypeVisitor
    +
    +
    +
    public class KotlinTypeFilter
    +extends java.lang.Object
    +implements KotlinTypeVisitor
    +
    This KotlinTypeVisitor delegates to another KotlinTypeVisitor if the predicate succeeds.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinTypeParameterFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinTypeParameterFilter.html new file mode 100644 index 000000000..d15f209f3 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinTypeParameterFilter.html @@ -0,0 +1,430 @@ + + + + + +KotlinTypeParameterFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinTypeParameterFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinTypeParameterFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/KotlinValueParameterFilter.html b/api/proguard/classfile/kotlin/visitor/filter/KotlinValueParameterFilter.html new file mode 100644 index 000000000..bc18203d8 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinValueParameterFilter.html @@ -0,0 +1,412 @@ + + + + + +KotlinValueParameterFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinValueParameterFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinValueParameterFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/package-summary.html b/api/proguard/classfile/kotlin/visitor/filter/package-summary.html new file mode 100644 index 000000000..6f9bed6da --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/package-summary.html @@ -0,0 +1,254 @@ + + + + + +proguard.classfile.kotlin.visitor.filter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.kotlin.visitor.filter

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/filter/package-tree.html b/api/proguard/classfile/kotlin/visitor/filter/package-tree.html new file mode 100644 index 000000000..63c973c29 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/package-tree.html @@ -0,0 +1,175 @@ + + + + + +proguard.classfile.kotlin.visitor.filter Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.kotlin.visitor.filter

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/kotlin/visitor/package-summary.html b/api/proguard/classfile/kotlin/visitor/package-summary.html new file mode 100644 index 000000000..ea1de7d18 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/package-summary.html @@ -0,0 +1,394 @@ + + + + + +proguard.classfile.kotlin.visitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.kotlin.visitor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/kotlin/visitor/package-tree.html b/api/proguard/classfile/kotlin/visitor/package-tree.html new file mode 100644 index 000000000..ab3509191 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/package-tree.html @@ -0,0 +1,211 @@ + + + + + +proguard.classfile.kotlin.visitor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.kotlin.visitor

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/package-summary.html b/api/proguard/classfile/package-summary.html new file mode 100644 index 000000000..537da3530 --- /dev/null +++ b/api/proguard/classfile/package-summary.html @@ -0,0 +1,340 @@ + + + + + +proguard.classfile (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    Clazz +
    This interface provides access to the fundamental properties of a Java class.
    +
    Field +
    Representation of a field in a class.
    +
    Member +
    Representation of a class member (field or method).
    +
    Method +
    Representation of a method in a class.
    +
    MethodInfo +
    Can be implemented by classes carrying method information.
    +
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    AccessConstants +
    Access flags for classes, fields, methods, parameters, and modules.
    +
    BasicMethodInfo +
    A minimal implementation of MethodInfo.
    +
    ClassConstants +
    Internal names and descriptors of common classes, fields, and methods from the Java runtime.
    +
    ClassPool +
    This is a set of Clazz instances.
    +
    ClassSignature +
    Represents the signature of a class without any member information.
    +
    FieldSignature +
    Represents a field signature consisting of class and member name.
    +
    JavaAccessConstants +
    Access modifiers for classes, fields, methods, parameters, and modules in Java source code.
    +
    JavaConstants +
    External names and descriptors of common classes, fields, and methods from the Java runtime.
    +
    JavaTypeConstants +
    Constant characters that are part of primitive and non-primitive type descriptors in Java source + code.
    +
    JavaVersionConstants +
    Known external version numbers of class files.
    +
    LibraryClass +
    This Clazz is a compact representation of the essential data in a Java class.
    +
    LibraryField +
    This Field represents a field in a LibraryClass.
    +
    LibraryMember +
    Base representation of a field or method from a LibraryClass.
    +
    LibraryMethod +
    This Method represents a method in a LibraryClass.
    +
    MethodDescriptor +
    Represents the descriptor that is part of a MethodSignature.
    +
    MethodSignature +
    Represents a Method signature containing a class, method and a descriptor.
    +
    ProgramClass +
    This Clazz is a complete representation of the data in a Java class.
    +
    ProgramField +
    This Field represents a field in a ProgramClass.
    +
    ProgramMember +
    Base representation of a field or method from a ProgramClass.
    +
    ProgramMethod +
    This Method represents a method in a ProgramClass.
    +
    Signature +
    A signature currently can be a Method- or a FieldSignature.
    +
    TypeConstants +
    Constant characters that are part of primitive and non-primitive type descriptors.
    +
    VersionConstants +
    Known internal version numbers of class files.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/classfile/package-tree.html b/api/proguard/classfile/package-tree.html new file mode 100644 index 000000000..7edb67e40 --- /dev/null +++ b/api/proguard/classfile/package-tree.html @@ -0,0 +1,226 @@ + + + + + +proguard.classfile Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/util/AccessUtil.html b/api/proguard/classfile/util/AccessUtil.html new file mode 100644 index 000000000..627a6442f --- /dev/null +++ b/api/proguard/classfile/util/AccessUtil.html @@ -0,0 +1,495 @@ + + + + + +AccessUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AccessUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.AccessUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class AccessUtil
    +extends java.lang.Object
    +
    Utility methods for working with access flags. For convenience, this class defines access levels, + in ascending order: PRIVATE, PACKAGE_VISIBLE, PROTECTED, and PUBLIC.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      static intPACKAGE_VISIBLE 
      static intPRIVATE 
      static intPROTECTED 
      static intPUBLIC 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      AccessUtil() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static booleanaccepted​(int accessFlags, + int requiredSetAccessFlags, + int requiredUnsetAccessFlags) +
      Returns whether the given access flags match the required set and unset access flags.
      +
      static intaccessFlags​(int accessLevel) +
      Returns the corresponding access flags of the given access level.
      +
      static intaccessLevel​(int accessFlags) +
      Returns the corresponding access level of the given access flags.
      +
      static intreplaceAccessFlags​(int accessFlags, + int newAccessFlags) +
      Replaces the access part of the given access flags.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/AllParameterVisitor.html b/api/proguard/classfile/util/AllParameterVisitor.html new file mode 100644 index 000000000..67d800c30 --- /dev/null +++ b/api/proguard/classfile/util/AllParameterVisitor.html @@ -0,0 +1,395 @@ + + + + + +AllParameterVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllParameterVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.AllParameterVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class AllParameterVisitor
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor lets a given parameter visitor visit all the parameters of the methods + that it visits. The parameters optionally include the 'this' parameters of non-static methods, + but never the return value.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/ArrayInitializationMatcher.html b/api/proguard/classfile/util/ArrayInitializationMatcher.html new file mode 100644 index 000000000..d15b48ee5 --- /dev/null +++ b/api/proguard/classfile/util/ArrayInitializationMatcher.html @@ -0,0 +1,417 @@ + + + + + +ArrayInitializationMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ArrayInitializationMatcher

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.ArrayInitializationMatcher
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ArrayInitializationMatcher
    +extends java.lang.Object
    +
    This class finds sequences of instructions that correspond to primitive array initializations. + Such initializations may be represented more efficiently in other bytecode languages.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Objectarray() +
      Returns the recent static array initialization.
      +
      intarrayInitializationEnd() +
      Returns the last offset of the recent static array initialization.
      +
      intarrayInitializationStart() +
      Returns the first offset of the recent static array initialization, i.e.
      +
      booleanmatchesArrayInitialization​(Clazz clazz, + Method method, + CodeAttribute codeAttribute, + int newArrayOffset, + SimpleInstruction newArrayInstruction) +
      Returns whether the code fragment starting at the specified newarray instruction is followed by + a static array initialization.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/ArrayInitializationReplacer.html b/api/proguard/classfile/util/ArrayInitializationReplacer.html new file mode 100644 index 000000000..1b48ab25c --- /dev/null +++ b/api/proguard/classfile/util/ArrayInitializationReplacer.html @@ -0,0 +1,444 @@ + + + + + +ArrayInitializationReplacer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ArrayInitializationReplacer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.ArrayInitializationReplacer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/BranchTargetFinder.html b/api/proguard/classfile/util/BranchTargetFinder.html new file mode 100644 index 000000000..d6d61b058 --- /dev/null +++ b/api/proguard/classfile/util/BranchTargetFinder.html @@ -0,0 +1,956 @@ + + + + + +BranchTargetFinder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BranchTargetFinder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.BranchTargetFinder
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BranchTargetFinder

        +
        public BranchTargetFinder()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isInstruction

        +
        public boolean isInstruction​(int offset)
        +
        Returns whether there is an instruction at the given offset in the CodeAttribute that was + visited most recently.
        +
      • +
      + + + +
        +
      • +

        isCreation

        +
        public boolean isCreation​(int offset)
        +
        Returns whether the instruction at the given offset creates a new, uninitialized object + instance, in the CodeAttribute that was visited most recently.
        +
      • +
      + + + +
        +
      • +

        isInitializer

        +
        public boolean isInitializer​(int offset)
        +
        Returns whether the instruction at the given offset is the special invocation of an instance + initializer, in the CodeAttribute that was visited most recently.
        +
      • +
      + + + +
        +
      • +

        isTarget

        +
        public boolean isTarget​(int offset)
        +
        Returns whether the instruction at the given offset is the target of any kind in the + CodeAttribute that was visited most recently.
        +
      • +
      + + + +
        +
      • +

        isBranchOrigin

        +
        public boolean isBranchOrigin​(int offset)
        +
        Returns whether the instruction at the given offset is the origin of a branch instruction in + the CodeAttribute that was visited most recently.
        +
      • +
      + + + +
        +
      • +

        isBranchTarget

        +
        public boolean isBranchTarget​(int offset)
        +
        Returns whether the instruction at the given offset is the target of a branch instruction in + the CodeAttribute that was visited most recently.
        +
      • +
      + + + +
        +
      • +

        isAfterBranch

        +
        public boolean isAfterBranch​(int offset)
        +
        Returns whether the instruction at the given offset comes right after a definite branch + instruction in the CodeAttribute that was visited most recently.
        +
      • +
      + + + +
        +
      • +

        isExceptionStart

        +
        public boolean isExceptionStart​(int offset)
        +
        Returns whether the instruction at the given offset is the start of an exception try block in + the CodeAttribute that was visited most recently.
        +
      • +
      + + + +
        +
      • +

        isExceptionEnd

        +
        public boolean isExceptionEnd​(int offset)
        +
        Returns whether the instruction at the given offset is the end of an exception try block in the + CodeAttribute that was visited most recently.
        +
      • +
      + + + +
        +
      • +

        isExceptionHandler

        +
        public boolean isExceptionHandler​(int offset)
        +
        Returns whether the instruction at the given offset is the start of an exception handler in the + CodeAttribute that was visited most recently.
        +
      • +
      + + + +
        +
      • +

        isSubroutineInvocation

        +
        public boolean isSubroutineInvocation​(int offset)
        +
        Returns whether the instruction at the given offset is a subroutine invocation in the + CodeAttribute that was visited most recently.
        +
      • +
      + + + +
        +
      • +

        isSubroutineStart

        +
        public boolean isSubroutineStart​(int offset)
        +
        Returns whether the instruction at the given offset is the start of a subroutine in the + CodeAttribute that was visited most recently.
        +
      • +
      + + + +
        +
      • +

        isSubroutine

        +
        public boolean isSubroutine​(int offset)
        +
        Returns whether the instruction at the given offset is part of a subroutine in the + CodeAttribute that was visited most recently.
        +
      • +
      + + + +
        +
      • +

        isSubroutineReturning

        +
        public boolean isSubroutineReturning​(int offset)
        +
        Returns whether the subroutine at the given offset is ever returning by means of a regular + 'ret' instruction.
        +
      • +
      + + + +
        +
      • +

        subroutineStart

        +
        public int subroutineStart​(int offset)
        +
        Returns the start offset of the subroutine at the given offset, in the CodeAttribute that was + visited most recently.
        +
      • +
      + + + +
        +
      • +

        subroutineEnd

        +
        public int subroutineEnd​(int offset)
        +
        Returns the offset after the subroutine at the given offset, in the CodeAttribute that was + visited most recently.
        +
      • +
      + + + +
        +
      • +

        containsSubroutines

        +
        public boolean containsSubroutines()
        +
        Returns whether the method contains subroutines, in the CodeAttribute that was visited most + recently.
        +
      • +
      + + + +
        +
      • +

        visitAnyAttribute

        +
        public void visitAnyAttribute​(Clazz clazz,
        +                              Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        visitAnyConstant

        +
        public void visitAnyConstant​(Clazz clazz,
        +                             Constant constant)
        +
        Description copied from interface: ConstantVisitor
        +
        Visits any Constant instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyConstant in interface ConstantVisitor
        +
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/ClassInitializer.html b/api/proguard/classfile/util/ClassInitializer.html new file mode 100644 index 000000000..dd702d311 --- /dev/null +++ b/api/proguard/classfile/util/ClassInitializer.html @@ -0,0 +1,431 @@ + + + + + +ClassInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.ClassInitializer
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassInitializer

        +
        public ClassInitializer​(ClassPool programClassPool,
        +                        ClassPool libraryClassPool)
        +
        Creates a new ClassInitializer that initializes the class hierarchies and references of all + visited class files.
        +
      • +
      + + + +
        +
      • +

        ClassInitializer

        +
        public ClassInitializer​(ClassPool programClassPool,
        +                        ClassPool libraryClassPool,
        +                        WarningPrinter missingClassWarningPrinter,
        +                        WarningPrinter missingProgramMemberWarningPrinter,
        +                        WarningPrinter missingLibraryMemberWarningPrinter,
        +                        WarningPrinter dependencyWarningPrinter)
        +
        Creates a new ClassInitializer that initializes the class hierarchies and references of all + visited class files, optionally printing warnings if some classes or class members can't be + found or if they are in the program class pool.
        +
      • +
      + + + +
        +
      • +

        ClassInitializer

        +
        public ClassInitializer​(ClassPool programClassPool,
        +                        ClassPool libraryClassPool,
        +                        boolean checkAccessRules,
        +                        WarningPrinter missingClassWarningPrinter,
        +                        WarningPrinter missingProgramMemberWarningPrinter,
        +                        WarningPrinter missingLibraryMemberWarningPrinter,
        +                        WarningPrinter dependencyWarningPrinter)
        +
        Creates a new ClassInitializer that initializes the references of all visited class files, + optionally printing warnings if some classes or class members can't be found or if they are in + the program class pool.
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/ClassPoolClassLoader.html b/api/proguard/classfile/util/ClassPoolClassLoader.html new file mode 100644 index 000000000..3705e21d4 --- /dev/null +++ b/api/proguard/classfile/util/ClassPoolClassLoader.html @@ -0,0 +1,324 @@ + + + + + +ClassPoolClassLoader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassPoolClassLoader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.ClassLoader
    • +
    • +
        +
      • proguard.classfile.util.ClassPoolClassLoader
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ClassPoolClassLoader
    +extends java.lang.ClassLoader
    +
    A ClassLoader that can load classes from a ProGuardCORE classpool.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Class<?>findClass​(java.lang.String name) 
      +
        +
      • + + +

        Methods inherited from class java.lang.ClassLoader

        +clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassPoolClassLoader

        +
        public ClassPoolClassLoader​(ClassPool classPool)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        findClass

        +
        public java.lang.Class<?> findClass​(java.lang.String name)
        +                             throws java.lang.ClassNotFoundException
        +
        +
        Overrides:
        +
        findClass in class java.lang.ClassLoader
        +
        Throws:
        +
        java.lang.ClassNotFoundException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer.html b/api/proguard/classfile/util/ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer.html new file mode 100644 index 000000000..0960895c2 --- /dev/null +++ b/api/proguard/classfile/util/ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer.html @@ -0,0 +1,348 @@ + + + + + +ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/util/ClassReferenceInitializer.html b/api/proguard/classfile/util/ClassReferenceInitializer.html new file mode 100644 index 000000000..d827e99d2 --- /dev/null +++ b/api/proguard/classfile/util/ClassReferenceInitializer.html @@ -0,0 +1,1291 @@ + + + + + +ClassReferenceInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassReferenceInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.ClassReferenceInitializer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/ClassRenamer.html b/api/proguard/classfile/util/ClassRenamer.html new file mode 100644 index 000000000..7e2ca5bbc --- /dev/null +++ b/api/proguard/classfile/util/ClassRenamer.html @@ -0,0 +1,481 @@ + + + + + +ClassRenamer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassRenamer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.ClassRenamer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/ClassSubHierarchyInitializer.html b/api/proguard/classfile/util/ClassSubHierarchyInitializer.html new file mode 100644 index 000000000..4056eb36e --- /dev/null +++ b/api/proguard/classfile/util/ClassSubHierarchyInitializer.html @@ -0,0 +1,380 @@ + + + + + +ClassSubHierarchyInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassSubHierarchyInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.ClassSubHierarchyInitializer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassPoolVisitor, ClassVisitor
    +
    +
    +
    public class ClassSubHierarchyInitializer
    +extends java.lang.Object
    +implements ClassPoolVisitor, ClassVisitor
    +
    This ClassPoolVisitor and ClassVisitor fills out the subclasses of all classes (in the class + pools) that it visits. + +

    It has a more efficient implementation as a ClassPoolVisitor. You then must be careful to + create a single instance and apply it to subclass pools first; for example first the program + class pool, then the underlying library class pool. + +

    This class is *NOT* thread-safe.

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/ClassSuperHierarchyInitializer.html b/api/proguard/classfile/util/ClassSuperHierarchyInitializer.html new file mode 100644 index 000000000..3e2a35fec --- /dev/null +++ b/api/proguard/classfile/util/ClassSuperHierarchyInitializer.html @@ -0,0 +1,446 @@ + + + + + +ClassSuperHierarchyInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassSuperHierarchyInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.ClassSuperHierarchyInitializer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor, ClassVisitor
    +
    +
    +
    public class ClassSuperHierarchyInitializer
    +extends java.lang.Object
    +implements ClassVisitor, ConstantVisitor
    +
    This ClassVisitor initializes the superclass hierarchy of all classes that it visits. + +

    Visited library classes get direct references to their superclasses and interfaces, replacing + the superclass names and interface names. The direct references are equivalent to the names, but + they are more efficient to work with. + +

    This visitor optionally prints warnings if some superclasses can't be found or if they are in + the program class pool.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassSuperHierarchyInitializer

        +
        public ClassSuperHierarchyInitializer​(ClassPool programClassPool,
        +                                      ClassPool libraryClassPool)
        +
        Creates a new ClassSuperHierarchyInitializer that initializes the super hierarchy of all + visited class files.
        +
      • +
      + + + +
        +
      • +

        ClassSuperHierarchyInitializer

        +
        public ClassSuperHierarchyInitializer​(ClassPool programClassPool,
        +                                      ClassPool libraryClassPool,
        +                                      WarningPrinter missingWarningPrinter,
        +                                      WarningPrinter dependencyWarningPrinter)
        +
        Creates a new ClassSuperHierarchyInitializer that initializes the super hierarchy of all + visited class files, optionally printing warnings if some classes can't be found or if they are + in the program class pool.
        +
      • +
      + + + +
        +
      • +

        ClassSuperHierarchyInitializer

        +
        public ClassSuperHierarchyInitializer​(ClassPool programClassPool,
        +                                      ClassPool libraryClassPool,
        +                                      InvalidClassReferenceVisitor invalidClassReferenceVisitor)
        +
        Creates a new ClassSuperHierarchyInitializer that initializes the super hierarchy of all + visited class files, visiting the given InvalidClassReferenceVisitor for any broken + references.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/ClassUtil.html b/api/proguard/classfile/util/ClassUtil.html new file mode 100644 index 000000000..be7690bd8 --- /dev/null +++ b/api/proguard/classfile/util/ClassUtil.html @@ -0,0 +1,2505 @@ + + + + + +ClassUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.ClassUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ClassUtil
    +extends java.lang.Object
    +
    Utility methods for: + +
      +
    • Converting between internal and external representations of names and descriptions +
    • Operation on Clazz +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static java.lang.StringcanonicalClassName​(java.lang.String externalClassName) +
      Converts an external class name into a canonical class name.
      +
      static voidcheckMagicNumber​(int magicNumber) +
      Checks whether the given class magic number is correct.
      +
      static voidcheckVersionNumbers​(int internalClassVersion) +
      Checks whether the given class version number is supported.
      +
      static intexternalArrayTypeDimensionCount​(java.lang.String externalType) +
      Returns the number of dimensions of the given external type.
      +
      static java.lang.StringexternalBaseType​(java.lang.String externalArrayType) +
      Returns the external base type of an external array type, dropping any array brackets.
      +
      static java.lang.StringexternalClassAccessFlags​(int accessFlags) +
      Converts internal class access flags into an external access description.
      +
      static java.lang.StringexternalClassAccessFlags​(int accessFlags, + java.lang.String prefix) +
      Converts internal class access flags into an external access description.
      +
      static java.lang.StringexternalClassForNameType​(java.lang.String internalType) +
      Converts an internal type into an external type, as expected by Class.forName.
      +
      static java.lang.StringexternalClassName​(java.lang.String internalClassName) +
      Converts an internal class name into an external class name.
      +
      static java.lang.StringexternalClassVersion​(int internalClassVersion) +
      Returns the minor part of the given class version number.
      +
      static java.lang.StringexternalExportsAccessFlags​(int accessFlags) +
      Converts internal module exports access flags into an external access description.
      +
      static java.lang.StringexternalExportsAccessFlags​(int accessFlags, + java.lang.String prefix) +
      Converts internal module exports access flags into an external access description.
      +
      static java.lang.StringexternalFieldAccessFlags​(int accessFlags) +
      Converts internal field access flags into an external access description.
      +
      static java.lang.StringexternalFieldAccessFlags​(int accessFlags, + java.lang.String prefix) +
      Converts internal field access flags into an external access description.
      +
      static java.lang.StringexternalFullClassDescription​(int accessFlags, + java.lang.String internalClassName) +
      Converts an internal class description into an external class description.
      +
      static java.lang.StringexternalFullFieldDescription​(int accessFlags, + java.lang.String fieldName, + java.lang.String internalFieldDescriptor) +
      Converts an internal field description into an external full field description.
      +
      static java.lang.StringexternalFullMethodDescription​(java.lang.String internalClassName, + int accessFlags, + java.lang.String internalMethodName, + java.lang.String internalMethodDescriptor) +
      Converts an internal method description into an external full method description.
      +
      static java.lang.StringexternalMethodAccessFlags​(int accessFlags) +
      Converts internal method access flags into an external access description.
      +
      static java.lang.StringexternalMethodAccessFlags​(int accessFlags, + java.lang.String prefix) +
      Converts internal method access flags into an external access description.
      +
      static java.lang.StringexternalMethodArguments​(java.lang.String internalMethodDescriptor) +
      Converts an internal method descriptor into an external method argument description.
      +
      static java.lang.StringexternalMethodName​(java.lang.String externalMethodNameAndArguments) +
      Returns the name part of the given external method name and arguments.
      +
      static java.lang.StringexternalMethodReturnType​(java.lang.String internalMethodDescriptor) +
      Converts an internal method descriptor into an external method return type.
      +
      static java.lang.StringexternalModuleAccessFlags​(int accessFlags) +
      Converts internal module access flags into an external access description.
      +
      static java.lang.StringexternalModuleAccessFlags​(int accessFlags, + java.lang.String prefix) +
      Converts internal module access flags into an external access description.
      +
      static java.lang.StringexternalOpensAccessFlags​(int accessFlags) +
      Converts internal module opens access flags into an external access description.
      +
      static java.lang.StringexternalOpensAccessFlags​(int accessFlags, + java.lang.String prefix) +
      Converts internal module opens access flags into an external access description.
      +
      static java.lang.StringexternalPackageName​(java.lang.String externalClassName) +
      Returns the external package name of the given external class name.
      +
      static java.lang.StringexternalPackagePrefix​(java.lang.String externalClassName) +
      Returns the external package prefix of the given external class name.
      +
      static java.lang.StringexternalParameterAccessFlags​(int accessFlags) +
      Converts internal method parameter access flags into an external access description.
      +
      static java.lang.StringexternalParameterAccessFlags​(int accessFlags, + java.lang.String prefix) +
      Converts internal method parameter access flags into an external access description.
      +
      static java.lang.StringexternalRequiresAccessFlags​(int accessFlags) +
      Converts internal module requires access flags into an external access description.
      +
      static java.lang.StringexternalRequiresAccessFlags​(int accessFlags, + java.lang.String prefix) +
      Converts internal module requires access flags into an external access description.
      +
      static java.lang.StringexternalShortClassName​(java.lang.String externalClassName) +
      Returns the external short class name of an external class name, dropping the package + specification.
      +
      static java.lang.StringexternalType​(java.lang.String internalType) +
      Converts an internal type into an external type.
      +
      static intinternalArrayTypeDimensionCount​(java.lang.String internalType) +
      Returns the number of dimensions of the given internal type.
      +
      static java.lang.StringinternalArrayTypeFromClassName​(java.lang.String internalClassName, + int dimensionCount) +
      Returns the internal array type of a given class name with a given number of dimensions.
      +
      static java.lang.StringinternalArrayTypeFromType​(java.lang.String internalType, + int dimensionDelta) +
      Returns the internal array type of a given type, with a given number of additional dimensions.
      +
      static java.lang.StringinternalClassName​(java.lang.String externalClassName) +
      Converts an external class name into an internal class name.
      +
      static java.lang.StringinternalClassNameFromClassSignature​(java.lang.String classSignature) +
      Returns the internal class name for a given Class Signature.
      +
      static java.lang.StringinternalClassNameFromClassType​(java.lang.String internalClassType) +
      Returns the internal class name of a given internal class type (including an array type).
      +
      static java.lang.StringinternalClassNameFromType​(java.lang.String internalClassType) +
      Returns the internal class name of any given internal descriptor type, disregarding array + prefixes.
      +
      static java.lang.StringinternalClassTypeFromType​(java.lang.String internalType) +
      Returns the internal class type (class name or array type) of a given internal type (including + an array type).
      +
      static intinternalClassVersion​(int majorVersion, + int minorVersion) +
      Returns the combined class version number.
      +
      static intinternalClassVersion​(java.lang.String externalClassVersion) +
      Returns the internal class version number.
      +
      static intinternalMajorClassVersion​(int internalClassVersion) +
      Returns the major part of the given class version number.
      +
      static java.lang.StringinternalMethodDescriptor​(java.lang.String externalReturnType, + java.lang.String externalMethodNameAndArguments) +
      Converts the given external method return type and name and arguments to an internal method + descriptor.
      +
      static java.lang.StringinternalMethodDescriptor​(java.lang.String externalReturnType, + java.util.List<java.lang.String> externalArguments) +
      Converts the given external method return type and List of arguments to an internal method + descriptor.
      +
      static java.lang.StringinternalMethodDescriptorFromInternalTypes​(java.lang.String internalReturnType, + java.util.List<java.lang.String> internalArguments) +
      Converts the given internal method return type and List of arguments to an internal method + descriptor.
      +
      static intinternalMethodParameterCount​(java.lang.String internalMethodDescriptor) +
      Returns the number of parameters of the given internal method descriptor.
      +
      static intinternalMethodParameterCount​(java.lang.String internalMethodDescriptor, + boolean isStatic) +
      Returns the number of parameters of the given internal method descriptor.
      +
      static intinternalMethodParameterCount​(java.lang.String internalMethodDescriptor, + int accessFlags) +
      Returns the number of parameters of the given internal method descriptor.
      +
      static intinternalMethodParameterNumber​(java.lang.String internalMethodDescriptor, + boolean isStatic, + int variableIndex) +
      Returns the parameter number in the given internal method descriptor, corresponding to the + given variable index.
      +
      static intinternalMethodParameterNumber​(java.lang.String internalMethodDescriptor, + int accessFlags, + int variableIndex) +
      Returns the parameter number in the given internal method descriptor, corresponding to the + given variable index.
      +
      static intinternalMethodParameterSize​(java.lang.String internalMethodDescriptor) +
      Returns the size taken up on the stack by the parameters of the given internal method + descriptor.
      +
      static intinternalMethodParameterSize​(java.lang.String internalMethodDescriptor, + boolean isStatic) +
      Returns the size taken up on the stack by the parameters of the given internal method + descriptor.
      +
      static intinternalMethodParameterSize​(java.lang.String internalMethodDescriptor, + int accessFlags) +
      Returns the size taken up on the stack by the parameters of the given internal method + descriptor.
      +
      static java.lang.StringinternalMethodParameterType​(java.lang.String internalMethodDescriptor, + int parameterIndex) +
      Returns the internal type of the parameter in the given method descriptor, at the given index.
      +
      static java.lang.StringinternalMethodReturnType​(java.lang.String internalMethodDescriptor) +
      Returns the internal type of the given internal method descriptor.
      +
      static intinternalMethodVariableIndex​(java.lang.String internalMethodDescriptor, + boolean isStatic, + int parameterNumber) +
      Returns the parameter index in the given internal method descriptor, corresponding to the given + variable number.
      +
      static intinternalMethodVariableIndex​(java.lang.String internalMethodDescriptor, + int accessFlags, + int parameterNumber) +
      Returns the variable index corresponding to the given parameter number in the given internal + method descriptor.
      +
      static intinternalMinorClassVersion​(int internalClassVersion) +
      Returns the internal class version number.
      +
      static java.lang.StringinternalNumericClassNameFromPrimitiveType​(char internalPrimitiveType) +
      Returns the internal numeric (or void or array) class name corresponding to the given internal + primitive type.
      +
      static java.lang.StringinternalPackageName​(java.lang.String internalClassName) +
      Returns the internal package name of the given internal class name.
      +
      static java.lang.StringinternalPackagePrefix​(java.lang.String internalClassName) +
      Returns the internal package prefix of the given internal class name.
      +
      static charinternalPrimitiveTypeFromNumericClassName​(java.lang.String internalPrimitiveClassName) +
      Returns the internal numeric (or void or array) class name corresponding to the given internal + primitive type.
      +
      static charinternalPrimitiveTypeFromPrimitiveBoxingType​(java.lang.String type) +
      Returns the primitive type corresponding to the given internal primitive boxing type.
      +
      static intinternalPrimitiveTypeToComputationalType​(java.lang.String internalPrimitiveType) +
      The internal primitive type computational type.
      +
      static java.lang.StringinternalShortClassName​(java.lang.String internalClassName) +
      Returns the internal short class name of an internal class name, dropping the package + specification.
      +
      static java.lang.StringinternalSimpleClassName​(java.lang.String internalClassName) +
      Returns the simple name of an internal class name, dropping the package specification and any + outer class part.
      +
      static java.lang.StringinternalType​(java.lang.String externalType) +
      Converts an external type into an internal type.
      +
      static java.lang.StringinternalTypeFromArrayType​(java.lang.String internalArrayType) +
      Returns the internal element type of a given internal array type.
      +
      static java.lang.StringinternalTypeFromClassName​(java.lang.String internalClassName) +
      Returns the internal type of a given class name.
      +
      static java.lang.StringinternalTypeFromClassType​(java.lang.String internalType) +
      Returns the internal type of a given class type (class name or array type).
      +
      static intinternalTypeSize​(java.lang.String internalType) +
      Returns the size taken up on the stack by the given internal type.
      +
      static booleanisClassInitializer​(java.lang.String internalMethodName) +
      Returns whether the given method name refers to a class initializer.
      +
      static booleanisExtendable​(Clazz clazz) +
      Returns `true` if a Clazz is null or if it does not represent a final class.
      +
      static booleanisExternalMethodNameAndArguments​(java.lang.String externalMemberNameAndArguments) +
      Returns whether the given member String represents an external method name with arguments.
      +
      static booleanisInitializer​(java.lang.String internalMethodName) +
      Returns whether the given method name refers to a class initializer or an instance initializer.
      +
      static booleanisInstanceInitializer​(java.lang.String internalMethodName) +
      Returns whether the given method name refers to an instance initializer.
      +
      static booleanisInternalArrayInterfaceName​(java.lang.String internalClassName) +
      Returns whether the given internal class name is one of the interfaces that is implemented by + all array types.
      +
      static booleanisInternalArrayType​(java.lang.String internalType) +
      Returns whether the given internal type is an array type.
      +
      static booleanisInternalCategory2Type​(java.lang.String internalType) +
      Returns whether the given internal type is a primitive Category 2 type.
      +
      static booleanisInternalClassType​(java.lang.String internalType) +
      Returns whether the given internal type is a plain class type (including an array type of a + plain class type).
      +
      static booleanisInternalMethodDescriptor​(java.lang.String internalDescriptor) +
      Returns whether the given internal descriptor String represents a method descriptor.
      +
      static booleanisInternalPrimitiveBoxingType​(java.lang.String internalType) +
      Returns whether the given class is a class boxing a primitive type (not void).
      +
      static booleanisInternalPrimitiveType​(char internalType) +
      Returns whether the given internal type is a plain primitive type (not void).
      +
      static booleanisInternalPrimitiveType​(java.lang.String internalType) +
      Returns whether the given internal type is a plain primitive type (not void).
      +
      static booleanisInternalPrimitiveTypeOrString​(java.lang.String internalType) +
      Returns whether the given internal type is a plain primitive type (not void) or a + java/lang/String.
      +
      static booleanisInternalType​(java.lang.String type) +
      Returns whether the given type is an internal type, i.e.
      +
      static java.lang.StringremoveGenericTypes​(java.lang.String descriptor) +
      Remove any generic type parameters from the given descriptor.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        checkMagicNumber

        +
        public static void checkMagicNumber​(int magicNumber)
        +                             throws java.lang.UnsupportedOperationException
        +
        Checks whether the given class magic number is correct.
        +
        +
        Parameters:
        +
        magicNumber - the magic number.
        +
        Throws:
        +
        java.lang.UnsupportedOperationException - when the magic number is incorrect.
        +
        +
      • +
      + + + +
        +
      • +

        internalClassVersion

        +
        public static int internalClassVersion​(int majorVersion,
        +                                       int minorVersion)
        +
        Returns the combined class version number.
        +
        +
        Parameters:
        +
        majorVersion - the major part of the class version number.
        +
        minorVersion - the minor part of the class version number.
        +
        Returns:
        +
        the combined class version number.
        +
        +
      • +
      + + + +
        +
      • +

        internalMajorClassVersion

        +
        public static int internalMajorClassVersion​(int internalClassVersion)
        +
        Returns the major part of the given class version number.
        +
        +
        Parameters:
        +
        internalClassVersion - the combined class version number.
        +
        Returns:
        +
        the major part of the class version number.
        +
        +
      • +
      + + + +
        +
      • +

        internalMinorClassVersion

        +
        public static int internalMinorClassVersion​(int internalClassVersion)
        +
        Returns the internal class version number.
        +
        +
        Parameters:
        +
        internalClassVersion - the external class version number.
        +
        Returns:
        +
        the internal class version number.
        +
        +
      • +
      + + + +
        +
      • +

        internalClassVersion

        +
        public static int internalClassVersion​(java.lang.String externalClassVersion)
        +
        Returns the internal class version number.
        +
        +
        Parameters:
        +
        externalClassVersion - the external class version number.
        +
        Returns:
        +
        the internal class version number.
        +
        +
      • +
      + + + +
        +
      • +

        externalClassVersion

        +
        public static java.lang.String externalClassVersion​(int internalClassVersion)
        +
        Returns the minor part of the given class version number.
        +
        +
        Parameters:
        +
        internalClassVersion - the combined class version number.
        +
        Returns:
        +
        the minor part of the class version number.
        +
        +
      • +
      + + + +
        +
      • +

        checkVersionNumbers

        +
        public static void checkVersionNumbers​(int internalClassVersion)
        +                                throws java.lang.UnsupportedOperationException
        +
        Checks whether the given class version number is supported.
        +
        +
        Parameters:
        +
        internalClassVersion - the combined class version number.
        +
        Throws:
        +
        java.lang.UnsupportedOperationException - when the version is not supported.
        +
        +
      • +
      + + + +
        +
      • +

        internalClassName

        +
        public static java.lang.String internalClassName​(java.lang.String externalClassName)
        +
        Converts an external class name into an internal class name.
        +
        +
        Parameters:
        +
        externalClassName - the external class name, e.g. "java.lang.Object"
        +
        Returns:
        +
        the internal class name, e.g. "java/lang/Object".
        +
        +
      • +
      + + + +
        +
      • +

        canonicalClassName

        +
        public static java.lang.String canonicalClassName​(java.lang.String externalClassName)
        +
        Converts an external class name into a canonical class name.
        +
        +
        Parameters:
        +
        externalClassName - the external class name e.g. com.example.Enclosing$Inner
        +
        Returns:
        +
        the canonical class name, e.g. com.example.Enclosing.Inner
        +
        +
      • +
      + + + +
        +
      • +

        externalFullClassDescription

        +
        public static java.lang.String externalFullClassDescription​(int accessFlags,
        +                                                            java.lang.String internalClassName)
        +
        Converts an internal class description into an external class description.
        +
        +
        Parameters:
        +
        accessFlags - the access flags of the class.
        +
        internalClassName - the internal class name, e.g. "java/lang/Object".
        +
        Returns:
        +
        the external class description, e.g. "public java.lang.Object".
        +
        +
      • +
      + + + +
        +
      • +

        externalClassName

        +
        public static java.lang.String externalClassName​(java.lang.String internalClassName)
        +
        Converts an internal class name into an external class name.
        +
        +
        Parameters:
        +
        internalClassName - the internal class name, e.g. "java/lang/Object".
        +
        Returns:
        +
        the external class name, e.g. "java.lang.Object".
        +
        +
      • +
      + + + +
        +
      • +

        externalBaseType

        +
        public static java.lang.String externalBaseType​(java.lang.String externalArrayType)
        +
        Returns the external base type of an external array type, dropping any array brackets.
        +
        +
        Parameters:
        +
        externalArrayType - the external array type, e.g. "java.lang.Object[][]"
        +
        Returns:
        +
        the external base type, e.g. "java.lang.Object".
        +
        +
      • +
      + + + +
        +
      • +

        externalShortClassName

        +
        public static java.lang.String externalShortClassName​(java.lang.String externalClassName)
        +
        Returns the external short class name of an external class name, dropping the package + specification.
        +
        +
        Parameters:
        +
        externalClassName - the external class name, e.g. "java.lang.Object"
        +
        Returns:
        +
        the external short class name, e.g. "Object".
        +
        +
      • +
      + + + +
        +
      • +

        internalShortClassName

        +
        public static java.lang.String internalShortClassName​(java.lang.String internalClassName)
        +
        Returns the internal short class name of an internal class name, dropping the package + specification.
        +
        +
        Parameters:
        +
        internalClassName - the internal class name, e.g. "java/lang/Object"
        +
        Returns:
        +
        the internal short class name, e.g. "Object".
        +
        +
      • +
      + + + +
        +
      • +

        isInternalArrayType

        +
        public static boolean isInternalArrayType​(java.lang.String internalType)
        +
        Returns whether the given internal type is an array type.
        +
        +
        Parameters:
        +
        internalType - the internal type, e.g. "[[Ljava/lang/Object;".
        +
        Returns:
        +
        true if the given type is an array type, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        internalArrayTypeDimensionCount

        +
        public static int internalArrayTypeDimensionCount​(java.lang.String internalType)
        +
        Returns the number of dimensions of the given internal type.
        +
        +
        Parameters:
        +
        internalType - the internal type, e.g. "[[Ljava/lang/Object;".
        +
        Returns:
        +
        the number of dimensions, e.g. 2.
        +
        +
      • +
      + + + +
        +
      • +

        isInternalArrayInterfaceName

        +
        public static boolean isInternalArrayInterfaceName​(java.lang.String internalClassName)
        +
        Returns whether the given internal class name is one of the interfaces that is implemented by + all array types. These class names are "java/lang/Object", " + java/lang/Cloneable", and "java/io/Serializable"
        +
        +
        Parameters:
        +
        internalClassName - the internal class name, e.g. "java/lang/Object".
        +
        Returns:
        +
        true if the given type is an array interface name, false + otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        isInternalPrimitiveType

        +
        public static boolean isInternalPrimitiveType​(char internalType)
        +
        Returns whether the given internal type is a plain primitive type (not void).
        +
        +
        Parameters:
        +
        internalType - the internal type, e.g. "I".
        +
        Returns:
        +
        true if the given type is a class type, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        isInternalPrimitiveType

        +
        public static boolean isInternalPrimitiveType​(java.lang.String internalType)
        +
        Returns whether the given internal type is a plain primitive type (not void).
        +
        +
        Parameters:
        +
        internalType - the internal type, e.g. "I".
        +
        Returns:
        +
        true if the given type is an internal primitive type, false + otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        isInternalPrimitiveBoxingType

        +
        public static boolean isInternalPrimitiveBoxingType​(java.lang.String internalType)
        +
        Returns whether the given class is a class boxing a primitive type (not void).
        +
        +
        Parameters:
        +
        internalType - the internal type, e.g. "Ljava/lang/Integer;".
        +
        Returns:
        +
        true if the given type is a boxing internal type of a class boxing a + primitive, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        internalPrimitiveTypeFromPrimitiveBoxingType

        +
        public static char internalPrimitiveTypeFromPrimitiveBoxingType​(java.lang.String type)
        +
        Returns the primitive type corresponding to the given internal primitive boxing type.
        +
        +
        Parameters:
        +
        type - an internal primitive boxing type, e.g. "Ljava/lang/Integer;".
        +
        Returns:
        +
        the corresponding primitive type, e.g. "I".
        +
        +
      • +
      + + + +
        +
      • +

        isInternalPrimitiveTypeOrString

        +
        public static boolean isInternalPrimitiveTypeOrString​(java.lang.String internalType)
        +
        Returns whether the given internal type is a plain primitive type (not void) or a + java/lang/String.
        +
        +
        Parameters:
        +
        internalType - the internal type, e.g. "I".
        +
        Returns:
        +
        true if the given type is a class type, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        isInternalCategory2Type

        +
        public static boolean isInternalCategory2Type​(java.lang.String internalType)
        +
        Returns whether the given internal type is a primitive Category 2 type.
        +
        +
        Parameters:
        +
        internalType - the internal type, e.g. "L".
        +
        Returns:
        +
        true if the given type is a Category 2 type, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        isInternalClassType

        +
        public static boolean isInternalClassType​(java.lang.String internalType)
        +
        Returns whether the given internal type is a plain class type (including an array type of a + plain class type).
        +
        +
        Parameters:
        +
        internalType - the internal type, e.g. "Ljava/lang/Object;".
        +
        Returns:
        +
        true if the given type is a class type, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        isInternalType

        +
        public static boolean isInternalType​(java.lang.String type)
        +
        Returns whether the given type is an internal type, i.e. one of: + +

        - an internal array type; - an internal primitive type; - an internal class type.

        +
        +
        Parameters:
        +
        type - the type, e.g. "Ljava/lang/String;", "I"
        +
        Returns:
        +
        true if the given type is a class type, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        internalTypeFromClassName

        +
        public static java.lang.String internalTypeFromClassName​(java.lang.String internalClassName)
        +
        Returns the internal type of a given class name.
        +
        +
        Parameters:
        +
        internalClassName - the internal class name, e.g. "java/lang/Object".
        +
        Returns:
        +
        the internal type, e.g. "Ljava/lang/Object;".
        +
        +
      • +
      + + + +
        +
      • +

        internalArrayTypeFromClassName

        +
        public static java.lang.String internalArrayTypeFromClassName​(java.lang.String internalClassName,
        +                                                              int dimensionCount)
        +
        Returns the internal array type of a given class name with a given number of dimensions. If the + number of dimensions is 0, the class name itself is returned.
        +
        +
        Parameters:
        +
        internalClassName - the internal class name, e.g. "java/lang/Object".
        +
        dimensionCount - the number of array dimensions.
        +
        Returns:
        +
        the internal array type of the array elements, e.g. "Ljava/lang/Object;".
        +
        +
      • +
      + + + +
        +
      • +

        internalArrayTypeFromType

        +
        public static java.lang.String internalArrayTypeFromType​(java.lang.String internalType,
        +                                                         int dimensionDelta)
        +
        Returns the internal array type of a given type, with a given number of additional dimensions.
        +
        +
        Parameters:
        +
        internalType - the internal class name, e.g. "[Ljava/lang/Object;".
        +
        dimensionDelta - the number of additional array dimensions, e.g. 1.
        +
        Returns:
        +
        the internal array type of the array elements, e.g. "[[Ljava/lang/Object; + ".
        +
        +
      • +
      + + + +
        +
      • +

        internalTypeFromArrayType

        +
        public static java.lang.String internalTypeFromArrayType​(java.lang.String internalArrayType)
        +
        Returns the internal element type of a given internal array type.
        +
        +
        Parameters:
        +
        internalArrayType - the internal array type, e.g. "[[Ljava/lang/Object;" or " + [I".
        +
        Returns:
        +
        the internal type of the array elements, e.g. "Ljava/lang/Object;" or " + I".
        +
        +
      • +
      + + + +
        +
      • +

        internalClassTypeFromType

        +
        public static java.lang.String internalClassTypeFromType​(java.lang.String internalType)
        +
        Returns the internal class type (class name or array type) of a given internal type (including + an array type). This is the type that can be stored in a class constant.
        +
        +
        Parameters:
        +
        internalType - the internal class type, e.g. "[I", "[Ljava/lang/Object; + ", or "Ljava/lang/Object;".
        +
        Returns:
        +
        the internal class name, e.g. "[I", "[Ljava/lang/Object;", or + "java/lang/Object".
        +
        +
      • +
      + + + +
        +
      • +

        internalTypeFromClassType

        +
        public static java.lang.String internalTypeFromClassType​(java.lang.String internalType)
        +
        Returns the internal type of a given class type (class name or array type). This is the type + that can be stored in a class constant.
        +
        +
        Parameters:
        +
        internalType - the internal class type, e.g. "[I", "[Ljava/lang/Object; + ", or "java/lang/Object".
        +
        Returns:
        +
        the internal class name, e.g. "[I", "[Ljava/lang/Object;", or + "Ljava/lang/Object;".
        +
        +
      • +
      + + + +
        +
      • +

        internalClassNameFromClassType

        +
        public static java.lang.String internalClassNameFromClassType​(java.lang.String internalClassType)
        +
        Returns the internal class name of a given internal class type (including an array type). Types + involving primitive types are returned unchanged.
        Note: If you are parsing a Signature + attribute string, use internalClassNameFromClassSignature(String) instead, as + this method will not handle generic type parameters and the '.' as inner class separator.
        +
        +
        Parameters:
        +
        internalClassType - the internal class type, e.g. "[Ljava/lang/Object;", " + Ljava/lang/Object;", or "java/lang/Object".
        +
        Returns:
        +
        the internal class name, e.g. "java/lang/Object".
        +
        +
      • +
      + + + +
        +
      • +

        internalClassNameFromClassSignature

        +
        public static java.lang.String internalClassNameFromClassSignature​(java.lang.String classSignature)
        +
        Returns the internal class name for a given Class Signature.
        +
        +
        Parameters:
        +
        classSignature - the class signature, e.g. "Lsome/package/Klass< T;>.Inner"
        +
        Returns:
        +
        the internal class name, e.g. "some/package/Klass$Inner".
        +
        +
      • +
      + + + +
        +
      • +

        removeGenericTypes

        +
        public static java.lang.String removeGenericTypes​(java.lang.String descriptor)
        +
        Remove any generic type parameters from the given descriptor.
        +
      • +
      + + + +
        +
      • +

        internalClassNameFromType

        +
        public static java.lang.String internalClassNameFromType​(java.lang.String internalClassType)
        +
        Returns the internal class name of any given internal descriptor type, disregarding array + prefixes.
        +
        +
        Parameters:
        +
        internalClassType - the internal class type, e.g. "Ljava/lang/Object;" or " + [[I".
        +
        Returns:
        +
        the internal class name, e.g. "java/lang/Object" or null.
        +
        +
      • +
      + + + +
        +
      • +

        internalNumericClassNameFromPrimitiveType

        +
        public static java.lang.String internalNumericClassNameFromPrimitiveType​(char internalPrimitiveType)
        +
        Returns the internal numeric (or void or array) class name corresponding to the given internal + primitive type.
        +
        +
        Parameters:
        +
        internalPrimitiveType - the internal class type, e.g. "I" or "V + ".
        +
        Returns:
        +
        the internal class name, e.g. "java/lang/Integer" or java/lang/Void + .
        +
        +
      • +
      + + + +
        +
      • +

        internalPrimitiveTypeFromNumericClassName

        +
        public static char internalPrimitiveTypeFromNumericClassName​(java.lang.String internalPrimitiveClassName)
        +
        Returns the internal numeric (or void or array) class name corresponding to the given internal + primitive type.
        +
        +
        Parameters:
        +
        internalPrimitiveClassName - the internal class name, e.g. "java/lang/Integer + " or java/lang/Void.
        +
        Returns:
        +
        the internal class type, e.g. "I" or "V".
        +
        +
      • +
      + + + +
        +
      • +

        internalSimpleClassName

        +
        public static java.lang.String internalSimpleClassName​(java.lang.String internalClassName)
        +
        Returns the simple name of an internal class name, dropping the package specification and any + outer class part.
        +
        +
        Parameters:
        +
        internalClassName - the internal class name, e.g. "java/lang/Object"
        +
        Returns:
        +
        the simple class name, e.g. "Object".
        +
        +
      • +
      + + + +
        +
      • +

        internalPrimitiveTypeToComputationalType

        +
        public static int internalPrimitiveTypeToComputationalType​(java.lang.String internalPrimitiveType)
        +
        The internal primitive type computational type.
        +
        +
        Parameters:
        +
        internalPrimitiveType - an internal primitive type (e.g., "Z")
        +
        Returns:
        +
        the int representing the type internally (from the constants in Value).
        +
        +
      • +
      + + + +
        +
      • +

        isInitializer

        +
        public static boolean isInitializer​(java.lang.String internalMethodName)
        +
        Returns whether the given method name refers to a class initializer or an instance initializer.
        +
        +
        Parameters:
        +
        internalMethodName - The internal method name, e.g. "<clinit>".
        +
        Returns:
        +
        Whether the method name refers to an initializer, e.g. true.
        +
        +
      • +
      + + + +
        +
      • +

        isClassInitializer

        +
        public static boolean isClassInitializer​(java.lang.String internalMethodName)
        +
        Returns whether the given method name refers to a class initializer.
        +
        +
        Parameters:
        +
        internalMethodName - The internal method name, e.g. "<clinit>".
        +
        Returns:
        +
        Whether the method name refers to a class initializer, e.g. true.
        +
        +
      • +
      + + + +
        +
      • +

        isInstanceInitializer

        +
        public static boolean isInstanceInitializer​(java.lang.String internalMethodName)
        +
        Returns whether the given method name refers to an instance initializer.
        +
        +
        Parameters:
        +
        internalMethodName - The internal method name, e.g. "<init>".
        +
        Returns:
        +
        Whether the method name refers to an instance initializer, e.g. true.
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodReturnType

        +
        public static java.lang.String internalMethodReturnType​(java.lang.String internalMethodDescriptor)
        +
        Returns the internal type of the given internal method descriptor.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(II)Z".
        +
        Returns:
        +
        the internal return type, e.g. "Z".
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodParameterCount

        +
        public static int internalMethodParameterCount​(java.lang.String internalMethodDescriptor)
        +
        Returns the number of parameters of the given internal method descriptor.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(ID)Z".
        +
        Returns:
        +
        the number of parameters, e.g. 2.
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodParameterCount

        +
        public static int internalMethodParameterCount​(java.lang.String internalMethodDescriptor,
        +                                               int accessFlags)
        +
        Returns the number of parameters of the given internal method descriptor.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(ID)Z".
        +
        accessFlags - the access flags of the method, e.g. 0.
        +
        Returns:
        +
        the number of parameters, e.g. 3.
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodParameterCount

        +
        public static int internalMethodParameterCount​(java.lang.String internalMethodDescriptor,
        +                                               boolean isStatic)
        +
        Returns the number of parameters of the given internal method descriptor.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(ID)Z".
        +
        isStatic - specifies whether the method is static, e.g. false.
        +
        Returns:
        +
        the number of parameters, e.g. 3.
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodParameterSize

        +
        public static int internalMethodParameterSize​(java.lang.String internalMethodDescriptor)
        +
        Returns the size taken up on the stack by the parameters of the given internal method + descriptor. This accounts for long and double parameters taking up two entries.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(ID)Z".
        +
        Returns:
        +
        the size taken up on the stack, e.g. 3.
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodParameterSize

        +
        public static int internalMethodParameterSize​(java.lang.String internalMethodDescriptor,
        +                                              int accessFlags)
        +
        Returns the size taken up on the stack by the parameters of the given internal method + descriptor. This accounts for long and double parameters taking up two entries, and a + non-static method taking up an additional entry.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(ID)Z".
        +
        accessFlags - the access flags of the method, e.g. 0.
        +
        Returns:
        +
        the size taken up on the stack, e.g. 4.
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodParameterSize

        +
        public static int internalMethodParameterSize​(java.lang.String internalMethodDescriptor,
        +                                              boolean isStatic)
        +
        Returns the size taken up on the stack by the parameters of the given internal method + descriptor. This accounts for long and double parameters taking up two spaces, and a non-static + method taking up an additional entry.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(ID)Z".
        +
        isStatic - specifies whether the method is static, e.g. false.
        +
        Returns:
        +
        the size taken up on the stack, e.g. 4.
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodParameterNumber

        +
        public static int internalMethodParameterNumber​(java.lang.String internalMethodDescriptor,
        +                                                int accessFlags,
        +                                                int variableIndex)
        +
        Returns the parameter number in the given internal method descriptor, corresponding to the + given variable index. This accounts for long and double parameters taking up two spaces, and a + non-static method taking up an additional entry. The method returns 0 if the index corresponds + to the 'this' parameter and -1 if the index does not correspond to a parameter.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(IDI)Z".
        +
        accessFlags - the access flags of the method, e.g. 0.
        +
        variableIndex - the variable index of the parameter, e.g. 4.
        +
        Returns:
        +
        the parameter number in the descriptor, e.g. 3.
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodParameterNumber

        +
        public static int internalMethodParameterNumber​(java.lang.String internalMethodDescriptor,
        +                                                boolean isStatic,
        +                                                int variableIndex)
        +
        Returns the parameter number in the given internal method descriptor, corresponding to the + given variable index. This accounts for long and double parameters taking up two spaces, and a + non-static method taking up an additional entry. The method returns 0 if the index corresponds + to the 'this' parameter and -1 if the index does not correspond to a parameter.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(IDI)Z".
        +
        isStatic - specifies whether the method is static, e.g. false.
        +
        variableIndex - the variable index of the parameter, e.g. 4.
        +
        Returns:
        +
        the parameter number in the descriptor, e.g. 3.
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodVariableIndex

        +
        public static int internalMethodVariableIndex​(java.lang.String internalMethodDescriptor,
        +                                              int accessFlags,
        +                                              int parameterNumber)
        +
        Returns the variable index corresponding to the given parameter number in the given internal + method descriptor. This accounts for long and double parameters taking up two spaces, and a + non-static method taking up an additional entry. The method returns 0 if the number corresponds + to the 'this' parameter and -1 if the number does not correspond to a parameter.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(IDI)Z".
        +
        accessFlags - the access flags of the method, e.g. 0.
        +
        parameterNumber - the parameter number, e.g. 3.
        +
        Returns:
        +
        the corresponding variable index, e.g. 4.
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodVariableIndex

        +
        public static int internalMethodVariableIndex​(java.lang.String internalMethodDescriptor,
        +                                              boolean isStatic,
        +                                              int parameterNumber)
        +
        Returns the parameter index in the given internal method descriptor, corresponding to the given + variable number. This accounts for long and double parameters taking up two spaces, and a + non-static method taking up an additional entry. The method returns 0 if the number corresponds + to the 'this' parameter and -1 if the number does not correspond to a parameter.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(IDI)Z".
        +
        isStatic - specifies whether the method is static, e.g. false.
        +
        parameterNumber - the parameter number, e.g. 3.
        +
        Returns:
        +
        the corresponding variable index, e.g. 4.
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodParameterType

        +
        public static java.lang.String internalMethodParameterType​(java.lang.String internalMethodDescriptor,
        +                                                           int parameterIndex)
        +
        Returns the internal type of the parameter in the given method descriptor, at the given index.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor e.g. "(IDI)Z".
        +
        parameterIndex - the parameter index, e.g. 1.
        +
        Returns:
        +
        the parameter's type, e.g. "D".
        +
        +
      • +
      + + + +
        +
      • +

        internalTypeSize

        +
        public static int internalTypeSize​(java.lang.String internalType)
        +
        Returns the size taken up on the stack by the given internal type. The size is 1, except for + long and double types, for which it is 2, and for the void type, for which 0 is returned.
        +
        +
        Parameters:
        +
        internalType - the internal type, e.g. "I".
        +
        Returns:
        +
        the size taken up on the stack, e.g. 1.
        +
        +
      • +
      + + + +
        +
      • +

        internalType

        +
        public static java.lang.String internalType​(java.lang.String externalType)
        +
        Converts an external type into an internal type.
        +
        +
        Parameters:
        +
        externalType - the external type, e.g. "java.lang.Object[][]" or "int[] + ".
        +
        Returns:
        +
        the internal type, e.g. "[[Ljava/lang/Object;" or "[I".
        +
        +
      • +
      + + + +
        +
      • +

        externalArrayTypeDimensionCount

        +
        public static int externalArrayTypeDimensionCount​(java.lang.String externalType)
        +
        Returns the number of dimensions of the given external type.
        +
        +
        Parameters:
        +
        externalType - the external type, e.g. "[[Ljava/lang/Object;".
        +
        Returns:
        +
        the number of dimensions, e.g. 2.
        +
        +
      • +
      + + + +
        +
      • +

        externalType

        +
        public static java.lang.String externalType​(java.lang.String internalType)
        +
        Converts an internal type into an external type.
        +
        +
        Parameters:
        +
        internalType - the internal type, e.g. "Ljava/lang/Object;" or " + [[Ljava/lang/Object;" or "[I".
        +
        Returns:
        +
        the external type, e.g. "java.lang.Object" or "java.lang.Object[][] + " or "int[]".
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if the type is invalid.
        +
        +
      • +
      + + + +
        +
      • +

        externalClassForNameType

        +
        public static java.lang.String externalClassForNameType​(java.lang.String internalType)
        +
        Converts an internal type into an external type, as expected by Class.forName.
        +
        +
        Parameters:
        +
        internalType - the internal type, e.g. "Ljava/lang/Object;" or " + [[Ljava/lang/Object;" or "[I".
        +
        Returns:
        +
        the external type, e.g. "java.lang.Object" or "[[Ljava.lang.Object; + " or "[I".
        +
        +
      • +
      + + + +
        +
      • +

        isInternalMethodDescriptor

        +
        public static boolean isInternalMethodDescriptor​(java.lang.String internalDescriptor)
        +
        Returns whether the given internal descriptor String represents a method descriptor.
        +
        +
        Parameters:
        +
        internalDescriptor - the internal descriptor String, e.g. "(II)Z".
        +
        Returns:
        +
        true if the given String is a method descriptor, false + otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        isExternalMethodNameAndArguments

        +
        public static boolean isExternalMethodNameAndArguments​(java.lang.String externalMemberNameAndArguments)
        +
        Returns whether the given member String represents an external method name with arguments.
        +
        +
        Parameters:
        +
        externalMemberNameAndArguments - the external member String, e.g. "myField" + or e.g. "myMethod(int,int)".
        +
        Returns:
        +
        true if the given String refers to a method, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        externalMethodName

        +
        public static java.lang.String externalMethodName​(java.lang.String externalMethodNameAndArguments)
        +
        Returns the name part of the given external method name and arguments.
        +
        +
        Parameters:
        +
        externalMethodNameAndArguments - the external method name and arguments, e.g. " + myMethod(int,int)".
        +
        Returns:
        +
        the name part of the String, e.g. "myMethod".
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodDescriptor

        +
        public static java.lang.String internalMethodDescriptor​(java.lang.String externalReturnType,
        +                                                        java.lang.String externalMethodNameAndArguments)
        +
        Converts the given external method return type and name and arguments to an internal method + descriptor.
        +
        +
        Parameters:
        +
        externalReturnType - the external method return type, e.g. "boolean".
        +
        externalMethodNameAndArguments - the external method name and arguments, e.g. " + myMethod(int,int)".
        +
        Returns:
        +
        the internal method descriptor, e.g. "(II)Z".
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodDescriptor

        +
        public static java.lang.String internalMethodDescriptor​(java.lang.String externalReturnType,
        +                                                        java.util.List<java.lang.String> externalArguments)
        +
        Converts the given external method return type and List of arguments to an internal method + descriptor.
        +
        +
        Parameters:
        +
        externalReturnType - the external method return type, e.g. "boolean".
        +
        externalArguments - the external method arguments, e.g. { "int", "int" }.
        +
        Returns:
        +
        the internal method descriptor, e.g. "(II)Z".
        +
        +
      • +
      + + + +
        +
      • +

        internalMethodDescriptorFromInternalTypes

        +
        public static java.lang.String internalMethodDescriptorFromInternalTypes​(java.lang.String internalReturnType,
        +                                                                         java.util.List<java.lang.String> internalArguments)
        +
        Converts the given internal method return type and List of arguments to an internal method + descriptor.
        +
        +
        Parameters:
        +
        internalReturnType - the external method return type, e.g. "Z".
        +
        internalArguments - the external method arguments, e.g. { "I", "I" }.
        +
        Returns:
        +
        the internal method descriptor, e.g. "(II)Z".
        +
        +
      • +
      + + + +
        +
      • +

        externalFullFieldDescription

        +
        public static java.lang.String externalFullFieldDescription​(int accessFlags,
        +                                                            java.lang.String fieldName,
        +                                                            java.lang.String internalFieldDescriptor)
        +
        Converts an internal field description into an external full field description.
        +
        +
        Parameters:
        +
        accessFlags - the access flags of the field.
        +
        fieldName - the field name, e.g. "myField".
        +
        internalFieldDescriptor - the internal field descriptor, e.g. "Z".
        +
        Returns:
        +
        the external full field description, e.g. "public boolean myField".
        +
        +
      • +
      + + + +
        +
      • +

        externalFullMethodDescription

        +
        public static java.lang.String externalFullMethodDescription​(java.lang.String internalClassName,
        +                                                             int accessFlags,
        +                                                             java.lang.String internalMethodName,
        +                                                             java.lang.String internalMethodDescriptor)
        +
        Converts an internal method description into an external full method description.
        +
        +
        Parameters:
        +
        internalClassName - the internal name of the class of the method, e.g. " + mypackage/MyClass".
        +
        accessFlags - the access flags of the method.
        +
        internalMethodName - the internal method name, e.g. "myMethod" or " + <init>".
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(II)Z".
        +
        Returns:
        +
        the external full method description, e.g. "public boolean myMethod(int,int) + " or "public MyClass(int,int)".
        +
        +
      • +
      + + + +
        +
      • +

        externalClassAccessFlags

        +
        public static java.lang.String externalClassAccessFlags​(int accessFlags)
        +
        Converts internal class access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the class access flags.
        +
        Returns:
        +
        the external class access description, e.g. "public final ".
        +
        +
      • +
      + + + +
        +
      • +

        externalClassAccessFlags

        +
        public static java.lang.String externalClassAccessFlags​(int accessFlags,
        +                                                        java.lang.String prefix)
        +
        Converts internal class access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the class access flags.
        +
        prefix - a prefix that is added to each access modifier.
        +
        Returns:
        +
        the external class access description, e.g. "public final ".
        +
        +
      • +
      + + + +
        +
      • +

        externalFieldAccessFlags

        +
        public static java.lang.String externalFieldAccessFlags​(int accessFlags)
        +
        Converts internal field access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the field access flags.
        +
        Returns:
        +
        the external field access description, e.g. "public volatile ".
        +
        +
      • +
      + + + +
        +
      • +

        externalFieldAccessFlags

        +
        public static java.lang.String externalFieldAccessFlags​(int accessFlags,
        +                                                        java.lang.String prefix)
        +
        Converts internal field access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the field access flags.
        +
        prefix - a prefix that is added to each access modifier.
        +
        Returns:
        +
        the external field access description, e.g. "public volatile ".
        +
        +
      • +
      + + + +
        +
      • +

        externalMethodAccessFlags

        +
        public static java.lang.String externalMethodAccessFlags​(int accessFlags)
        +
        Converts internal method access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the method access flags.
        +
        Returns:
        +
        the external method access description, e.g. "public synchronized ".
        +
        +
      • +
      + + + +
        +
      • +

        externalMethodAccessFlags

        +
        public static java.lang.String externalMethodAccessFlags​(int accessFlags,
        +                                                         java.lang.String prefix)
        +
        Converts internal method access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the method access flags.
        +
        prefix - a prefix that is added to each access modifier.
        +
        Returns:
        +
        the external method access description, e.g. "public synchronized ".
        +
        +
      • +
      + + + +
        +
      • +

        externalParameterAccessFlags

        +
        public static java.lang.String externalParameterAccessFlags​(int accessFlags)
        +
        Converts internal method parameter access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the method parameter access flags.
        +
        Returns:
        +
        the external method parameter access description, e.g. "final mandated ".
        +
        +
      • +
      + + + +
        +
      • +

        externalParameterAccessFlags

        +
        public static java.lang.String externalParameterAccessFlags​(int accessFlags,
        +                                                            java.lang.String prefix)
        +
        Converts internal method parameter access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the method parameter access flags.
        +
        prefix - a prefix that is added to each access modifier.
        +
        Returns:
        +
        the external method parameter access description, e.g. "final mandated ".
        +
        +
      • +
      + + + +
        +
      • +

        externalMethodReturnType

        +
        public static java.lang.String externalMethodReturnType​(java.lang.String internalMethodDescriptor)
        +
        Converts an internal method descriptor into an external method return type.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(II)Z".
        +
        Returns:
        +
        the external method return type, e.g. "boolean".
        +
        +
      • +
      + + + +
        +
      • +

        externalModuleAccessFlags

        +
        public static java.lang.String externalModuleAccessFlags​(int accessFlags)
        +
        Converts internal module access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the module access flags.
        +
        Returns:
        +
        the external module access description, e.g. "open mandated ".
        +
        +
      • +
      + + + +
        +
      • +

        externalModuleAccessFlags

        +
        public static java.lang.String externalModuleAccessFlags​(int accessFlags,
        +                                                         java.lang.String prefix)
        +
        Converts internal module access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the module access flags.
        +
        prefix - a prefix that is added to each access modifier.
        +
        Returns:
        +
        the external module access description, e.g. "final mandated ".
        +
        +
      • +
      + + + +
        +
      • +

        externalRequiresAccessFlags

        +
        public static java.lang.String externalRequiresAccessFlags​(int accessFlags)
        +
        Converts internal module requires access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the module requires access flags.
        +
        Returns:
        +
        the external module requires access description, e.g. "static mandated ".
        +
        +
      • +
      + + + +
        +
      • +

        externalRequiresAccessFlags

        +
        public static java.lang.String externalRequiresAccessFlags​(int accessFlags,
        +                                                           java.lang.String prefix)
        +
        Converts internal module requires access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the module requires access flags.
        +
        prefix - a prefix that is added to each access modifier.
        +
        Returns:
        +
        the external module requires access description, e.g. "static mandated ".
        +
        +
      • +
      + + + +
        +
      • +

        externalExportsAccessFlags

        +
        public static java.lang.String externalExportsAccessFlags​(int accessFlags)
        +
        Converts internal module exports access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the module exports access flags.
        +
        Returns:
        +
        the external module exports access description, e.g. "synthetic mandated + ".
        +
        +
      • +
      + + + +
        +
      • +

        externalExportsAccessFlags

        +
        public static java.lang.String externalExportsAccessFlags​(int accessFlags,
        +                                                          java.lang.String prefix)
        +
        Converts internal module exports access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the module exports access flags.
        +
        prefix - a prefix that is added to each access modifier.
        +
        Returns:
        +
        the external module exports access description, e.g. "static mandated ".
        +
        +
      • +
      + + + +
        +
      • +

        externalOpensAccessFlags

        +
        public static java.lang.String externalOpensAccessFlags​(int accessFlags)
        +
        Converts internal module opens access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the module opens access flags.
        +
        Returns:
        +
        the external module opens access description, e.g. "synthetic mandated ".
        +
        +
      • +
      + + + +
        +
      • +

        externalOpensAccessFlags

        +
        public static java.lang.String externalOpensAccessFlags​(int accessFlags,
        +                                                        java.lang.String prefix)
        +
        Converts internal module opens access flags into an external access description.
        +
        +
        Parameters:
        +
        accessFlags - the module opens access flags.
        +
        prefix - a prefix that is added to each access modifier.
        +
        Returns:
        +
        the external module opens access description, e.g. "static mandated ".
        +
        +
      • +
      + + + +
        +
      • +

        externalMethodArguments

        +
        public static java.lang.String externalMethodArguments​(java.lang.String internalMethodDescriptor)
        +
        Converts an internal method descriptor into an external method argument description.
        +
        +
        Parameters:
        +
        internalMethodDescriptor - the internal method descriptor, e.g. "(II)Z".
        +
        Returns:
        +
        the external method argument description, e.g. "int,int".
        +
        +
      • +
      + + + +
        +
      • +

        internalPackageName

        +
        public static java.lang.String internalPackageName​(java.lang.String internalClassName)
        +
        Returns the internal package name of the given internal class name.
        +
        +
        Parameters:
        +
        internalClassName - the internal class name, e.g. "java/lang/Object".
        +
        Returns:
        +
        the internal package name, e.g. "java/lang".
        +
        +
      • +
      + + + +
        +
      • +

        internalPackagePrefix

        +
        public static java.lang.String internalPackagePrefix​(java.lang.String internalClassName)
        +
        Returns the internal package prefix of the given internal class name.
        +
        +
        Parameters:
        +
        internalClassName - the internal class name, e.g. "java/lang/Object".
        +
        Returns:
        +
        the internal package prefix, e.g. "java/lang/".
        +
        +
      • +
      + + + +
        +
      • +

        externalPackageName

        +
        public static java.lang.String externalPackageName​(java.lang.String externalClassName)
        +
        Returns the external package name of the given external class name.
        +
        +
        Parameters:
        +
        externalClassName - the external class name, e.g. "java.lang.Object".
        +
        Returns:
        +
        the external package name, e.g. "java.lang".
        +
        +
      • +
      + + + +
        +
      • +

        externalPackagePrefix

        +
        public static java.lang.String externalPackagePrefix​(java.lang.String externalClassName)
        +
        Returns the external package prefix of the given external class name.
        +
        +
        Parameters:
        +
        externalClassName - the external class name, e.g. "java.lang.Object".
        +
        Returns:
        +
        the external package prefix, e.g. "java.lang.".
        +
        +
      • +
      + + + +
        +
      • +

        isExtendable

        +
        public static boolean isExtendable​(Clazz clazz)
        +
        Returns `true` if a Clazz is null or if it does not represent a final class. This means + that for the sake of our analysis we can consider value of this class not extendable.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/util/DescriptorClassEnumeration.html b/api/proguard/classfile/util/DescriptorClassEnumeration.html new file mode 100644 index 000000000..389dff9c9 --- /dev/null +++ b/api/proguard/classfile/util/DescriptorClassEnumeration.html @@ -0,0 +1,400 @@ + + + + + +DescriptorClassEnumeration (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DescriptorClassEnumeration

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.DescriptorClassEnumeration
    • +
    +
  • +
+
+
    +
  • +
    +
    public class DescriptorClassEnumeration
    +extends java.lang.Object
    +
    A DescriptorClassEnumeration provides an enumeration of all classes mentioned in a given + descriptor or signature.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DescriptorClassEnumeration​(java.lang.String descriptor) +
      Creates a new DescriptorClassEnumeration for the given descriptor.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      intclassCount() +
      Returns the number of classes contained in the descriptor.
      +
      booleanhasMoreClassNames() +
      Returns whether the enumeration can provide more class names from the descriptor.
      +
      booleanisInnerClassName() +
      Returns whether the most recently returned class name was a recomposed inner class name from a + signature.
      +
      static voidmain​(java.lang.String[] args) +
      A main method for testing the class name enumeration.
      +
      java.lang.StringnextClassName() +
      Returns the next class name from the descriptor.
      +
      java.lang.StringnextFluff() +
      Returns the next fluff (surrounding class names) from the descriptor.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DescriptorClassEnumeration

        +
        public DescriptorClassEnumeration​(java.lang.String descriptor)
        +
        Creates a new DescriptorClassEnumeration for the given descriptor.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        classCount

        +
        public int classCount()
        +
        Returns the number of classes contained in the descriptor. This is the number of class names + that the enumeration will return.
        +
      • +
      + + + +
        +
      • +

        hasMoreClassNames

        +
        public boolean hasMoreClassNames()
        +
        Returns whether the enumeration can provide more class names from the descriptor.
        +
      • +
      + + + +
        +
      • +

        nextFluff

        +
        public java.lang.String nextFluff()
        +
        Returns the next fluff (surrounding class names) from the descriptor.
        +
      • +
      + + + +
        +
      • +

        nextClassName

        +
        public java.lang.String nextClassName()
        +
        Returns the next class name from the descriptor.
        +
      • +
      + + + +
        +
      • +

        isInnerClassName

        +
        public boolean isInnerClassName()
        +
        Returns whether the most recently returned class name was a recomposed inner class name from a + signature.
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        A main method for testing the class name enumeration.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/DynamicClassReferenceInitializer.html b/api/proguard/classfile/util/DynamicClassReferenceInitializer.html new file mode 100644 index 000000000..f1472ebe1 --- /dev/null +++ b/api/proguard/classfile/util/DynamicClassReferenceInitializer.html @@ -0,0 +1,725 @@ + + + + + +DynamicClassReferenceInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DynamicClassReferenceInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.DynamicClassReferenceInitializer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/DynamicMemberReferenceInitializer.html b/api/proguard/classfile/util/DynamicMemberReferenceInitializer.html new file mode 100644 index 000000000..43a1bbab2 --- /dev/null +++ b/api/proguard/classfile/util/DynamicMemberReferenceInitializer.html @@ -0,0 +1,601 @@ + + + + + +DynamicMemberReferenceInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DynamicMemberReferenceInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.DynamicMemberReferenceInitializer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/EnumFieldReferenceInitializer.html b/api/proguard/classfile/util/EnumFieldReferenceInitializer.html new file mode 100644 index 000000000..5e2cbb256 --- /dev/null +++ b/api/proguard/classfile/util/EnumFieldReferenceInitializer.html @@ -0,0 +1,488 @@ + + + + + +EnumFieldReferenceInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class EnumFieldReferenceInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.EnumFieldReferenceInitializer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/ExternalTypeEnumeration.html b/api/proguard/classfile/util/ExternalTypeEnumeration.html new file mode 100644 index 000000000..739e77c17 --- /dev/null +++ b/api/proguard/classfile/util/ExternalTypeEnumeration.html @@ -0,0 +1,351 @@ + + + + + +ExternalTypeEnumeration (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExternalTypeEnumeration

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.ExternalTypeEnumeration
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ExternalTypeEnumeration
    +extends java.lang.Object
    +
    An ExternalTypeEnumeration provides an enumeration of all types listed in a given + external descriptor string. The method name can be retrieved separately. + +

    An ExternalTypeEnumeration instance can be reused for processing different subsequent + descriptors, by means of the setDescriptor(java.lang.String) method.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ExternalTypeEnumeration​(java.lang.String descriptor) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanhasMoreTypes() 
      java.lang.StringmethodName() 
      java.lang.StringnextType() 
      voidreset() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExternalTypeEnumeration

        +
        public ExternalTypeEnumeration​(java.lang.String descriptor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        reset

        +
        public void reset()
        +
      • +
      + + + +
        +
      • +

        hasMoreTypes

        +
        public boolean hasMoreTypes()
        +
      • +
      + + + +
        +
      • +

        nextType

        +
        public java.lang.String nextType()
        +
      • +
      + + + +
        +
      • +

        methodName

        +
        public java.lang.String methodName()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/InitializationUtil.html b/api/proguard/classfile/util/InitializationUtil.html new file mode 100644 index 000000000..75a193ffa --- /dev/null +++ b/api/proguard/classfile/util/InitializationUtil.html @@ -0,0 +1,349 @@ + + + + + +InitializationUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InitializationUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.InitializationUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class InitializationUtil
    +extends java.lang.Object
    +
    This utility class provides a method to initialize the cached cross-references classes. They are + necessary to traverse the class hierarchy efficiently, for example when preverifying code or + performing more general partial evaluation.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      InitializationUtil() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidinitialize​(ClassPool programClassPool, + ClassPool libraryClassPool) +
      Initializes the cached cross-references of the classes in the given class pools.
      +
      static voidinitialize​(ClassPool programClassPool, + ClassPool libraryClassPool, + WarningPrinter warningPrinter) +
      Initializes the cached cross-references of the classes in the given class pools.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InitializationUtil

        +
        public InitializationUtil()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        initialize

        +
        public static void initialize​(ClassPool programClassPool,
        +                              ClassPool libraryClassPool)
        +
        Initializes the cached cross-references of the classes in the given class pools. + +

        Note: no warnings are given when classes are missing: if you require warnings about missing + classes use initialize(ClassPool, ClassPool, WarningPrinter) + instead.

        +
        +
        Parameters:
        +
        programClassPool - the program class pool, typically with processed classes.
        +
        libraryClassPool - the library class pool, typically with run-time classes.
        +
        +
      • +
      + + + +
        +
      • +

        initialize

        +
        public static void initialize​(ClassPool programClassPool,
        +                              ClassPool libraryClassPool,
        +                              WarningPrinter warningPrinter)
        +
        Initializes the cached cross-references of the classes in the given class pools.
        +
        +
        Parameters:
        +
        programClassPool - the program class pool, typically with processed classes.
        +
        libraryClassPool - the library class pool, typically with run-time classes.
        +
        warningPrinter - the WarningPrinter to use for printing warnings about missing + classes.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/InitializedClassUtil.html b/api/proguard/classfile/util/InitializedClassUtil.html new file mode 100644 index 000000000..9c316229d --- /dev/null +++ b/api/proguard/classfile/util/InitializedClassUtil.html @@ -0,0 +1,282 @@ + + + + + +InitializedClassUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InitializedClassUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.InitializedClassUtil
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static booleanisInstanceOf​(java.lang.String type, + @NotNull Clazz clazz) +
      Returns true if the given type is instance of the given clazz (i.e.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isInstanceOf

        +
        public static boolean isInstanceOf​(java.lang.String type,
        +                                   @NotNull
        +                                   @NotNull Clazz clazz)
        +
        Returns true if the given type is instance of the given clazz (i.e. whether the class is the + same type or an extension of the given type). + +

        If the type is a reference array checks the inheritance of the referenced type (e.g. true + for "[Ljava/lang/String;" and Clazz{java/lang/Object}, false for "[Ljava/lang/String;" and + Clazz{java/lan/Boolean}). + +

        Requires that at least ClassReferenceInitializer and ClassSubHierarchyInitializer have been run on the ClassPools.

        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/util/InstructionSequenceMatcher.html b/api/proguard/classfile/util/InstructionSequenceMatcher.html new file mode 100644 index 000000000..6a9350869 --- /dev/null +++ b/api/proguard/classfile/util/InstructionSequenceMatcher.html @@ -0,0 +1,1575 @@ + + + + + +InstructionSequenceMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionSequenceMatcher

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.InstructionSequenceMatcher
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/InternalTypeEnumeration.html b/api/proguard/classfile/util/InternalTypeEnumeration.html new file mode 100644 index 000000000..78b3a5bb5 --- /dev/null +++ b/api/proguard/classfile/util/InternalTypeEnumeration.html @@ -0,0 +1,502 @@ + + + + + +InternalTypeEnumeration (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InternalTypeEnumeration

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.InternalTypeEnumeration
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.util.Iterator<java.lang.String>
    +
    +
    +
    public class InternalTypeEnumeration
    +extends java.lang.Object
    +implements java.util.Iterator<java.lang.String>
    +
    An InternalTypeEnumeration provides an enumeration of all types listed in a given + internal descriptor or signature of a class, a method, or a field. + +

    The leading formal type parameters, if any, can be retrieved separately. + +

    The return type of a method descriptor can also be retrieved separately.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      InternalTypeEnumeration​(java.lang.String descriptor) +
      Creates a new InternalTypeEnumeration for the given method descriptor.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.StringformalTypeParameters() +
      Returns the leading formal type parameters from the descriptor.
      +
      booleanhasFormalTypeParameters() +
      Returns whether the descriptor has leading formal type parameters.
      +
      booleanhasMoreTypes() +
      Returns whether the enumeration can provide more types from the method descriptor.
      +
      booleanhasNext() 
      booleanisMethodSignature() +
      Returns whether the descriptor is a method signature.
      +
      static voidmain​(java.lang.String[] args) +
      A main method for testing the type enumeration.
      +
      java.lang.Stringnext() 
      java.lang.StringnextType() +
      Returns the next type from the method descriptor.
      +
      java.lang.StringreturnType() +
      Returns the return type from the descriptor, assuming it's a method descriptor.
      +
      inttypeCount() +
      Returns the number of types contained in the descriptor.
      +
      inttypesSize() +
      Returns the total size of the types contained in the descriptor.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
        +
      • + + +

        Methods inherited from interface java.util.Iterator

        +forEachRemaining, remove
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InternalTypeEnumeration

        +
        public InternalTypeEnumeration​(java.lang.String descriptor)
        +
        Creates a new InternalTypeEnumeration for the given method descriptor.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        typeCount

        +
        public int typeCount()
        +
        Returns the number of types contained in the descriptor. This is the number of types that the + enumeration will return.
        +
      • +
      + + + +
        +
      • +

        typesSize

        +
        public int typesSize()
        +
        Returns the total size of the types contained in the descriptor. This accounts for long and + double parameters taking up two entries.
        +
      • +
      + + + +
        +
      • +

        hasFormalTypeParameters

        +
        public boolean hasFormalTypeParameters()
        +
        Returns whether the descriptor has leading formal type parameters.
        +
      • +
      + + + +
        +
      • +

        formalTypeParameters

        +
        public java.lang.String formalTypeParameters()
        +
        Returns the leading formal type parameters from the descriptor.
        +
      • +
      + + + +
        +
      • +

        isMethodSignature

        +
        public boolean isMethodSignature()
        +
        Returns whether the descriptor is a method signature.
        +
      • +
      + + + +
        +
      • +

        hasMoreTypes

        +
        public boolean hasMoreTypes()
        +
        Returns whether the enumeration can provide more types from the method descriptor.
        +
      • +
      + + + +
        +
      • +

        nextType

        +
        public java.lang.String nextType()
        +
        Returns the next type from the method descriptor.
        +
      • +
      + + + +
        +
      • +

        returnType

        +
        public java.lang.String returnType()
        +
        Returns the return type from the descriptor, assuming it's a method descriptor.
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        A main method for testing the type enumeration.
        +
      • +
      + + + +
        +
      • +

        hasNext

        +
        public boolean hasNext()
        +
        +
        Specified by:
        +
        hasNext in interface java.util.Iterator<java.lang.String>
        +
        +
      • +
      + + + +
        +
      • +

        next

        +
        public java.lang.String next()
        +
        +
        Specified by:
        +
        next in interface java.util.Iterator<java.lang.String>
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/InternalTypeIterable.html b/api/proguard/classfile/util/InternalTypeIterable.html new file mode 100644 index 000000000..27b79fd91 --- /dev/null +++ b/api/proguard/classfile/util/InternalTypeIterable.html @@ -0,0 +1,322 @@ + + + + + +InternalTypeIterable (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InternalTypeIterable

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.InternalTypeIterable
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Iterable<java.lang.String>
    +
    +
    +
    public class InternalTypeIterable
    +extends java.lang.Object
    +implements java.lang.Iterable<java.lang.String>
    +
    This class wraps InternalTypeEnumeration to provide an Iterable interface for use with + enhanced for loops.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      InternalTypeIterable​(java.lang.String descriptor) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.util.Iterator<java.lang.String>iterator() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
        +
      • + + +

        Methods inherited from interface java.lang.Iterable

        +forEach, spliterator
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InternalTypeIterable

        +
        public InternalTypeIterable​(java.lang.String descriptor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        iterator

        +
        public java.util.Iterator<java.lang.String> iterator()
        +
        +
        Specified by:
        +
        iterator in interface java.lang.Iterable<java.lang.String>
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/InvalidClassReferenceVisitor.html b/api/proguard/classfile/util/InvalidClassReferenceVisitor.html new file mode 100644 index 000000000..e1e53c9c6 --- /dev/null +++ b/api/proguard/classfile/util/InvalidClassReferenceVisitor.html @@ -0,0 +1,287 @@ + + + + + +InvalidClassReferenceVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface InvalidClassReferenceVisitor

+
+
+
+
    +
  • +
    +
    All Known Subinterfaces:
    +
    InvalidReferenceVisitor
    +
    +
    +
    public interface InvalidClassReferenceVisitor
    +
    A visitor that is visited for invalid class references.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitMissingClass

        +
        void visitMissingClass​(Clazz referencingClazz,
        +                       java.lang.String reference)
        +
        Visit a missing class.
        +
        +
        Parameters:
        +
        referencingClazz - the class from which the reference is made.
        +
        reference - the name of the referenced class that was not found.
        +
        +
      • +
      + + + +
        +
      • +

        visitProgramDependency

        +
        void visitProgramDependency​(Clazz referencingClazz,
        +                            Clazz dependency)
        +
        Visit a library class depending on a program class.
        +
        +
        Parameters:
        +
        referencingClazz - the library class.
        +
        dependency - the program class that is referenced by referencingClazz
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/util/InvalidMemberReferenceVisitor.html b/api/proguard/classfile/util/InvalidMemberReferenceVisitor.html new file mode 100644 index 000000000..6580c761f --- /dev/null +++ b/api/proguard/classfile/util/InvalidMemberReferenceVisitor.html @@ -0,0 +1,439 @@ + + + + + +InvalidMemberReferenceVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface InvalidMemberReferenceVisitor

+
+
+
+
    +
  • +
    +
    All Known Subinterfaces:
    +
    InvalidReferenceVisitor
    +
    +
    +
    public interface InvalidMemberReferenceVisitor
    +
    A visitor for invalid member references.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyMissingMember

        +
        void visitAnyMissingMember​(Clazz referencingClazz,
        +                           Clazz reference,
        +                           java.lang.String name,
        +                           java.lang.String type)
        +
        Visit a missing field or method reference.
        +
        +
        Parameters:
        +
        referencingClazz - the class from which the field or method is referenced.
        +
        reference - the referenced class.
        +
        name - the name of the missing referenced field or method.
        +
        type - the type of the missing field or method.
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyMissingField

        +
        default void visitAnyMissingField​(Clazz referencingClazz,
        +                                  Clazz reference,
        +                                  java.lang.String name,
        +                                  java.lang.String type)
        +
        Visit a missing field reference.
        +
        +
        Parameters:
        +
        referencingClazz - the class from which the field is referenced.
        +
        reference - the referenced class.
        +
        name - the name of the missing referenced field.
        +
        type - the type of the missing referenced field.
        +
        +
      • +
      + + + +
        +
      • +

        visitMissingProgramField

        +
        default void visitMissingProgramField​(Clazz referencingClazz,
        +                                      ProgramClass reference,
        +                                      java.lang.String name,
        +                                      java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        visitMissingLibraryField

        +
        default void visitMissingLibraryField​(Clazz referencingClazz,
        +                                      LibraryClass reference,
        +                                      java.lang.String name,
        +                                      java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        visitAnyMissingMethod

        +
        default void visitAnyMissingMethod​(Clazz referencingClazz,
        +                                   Clazz reference,
        +                                   java.lang.String name,
        +                                   java.lang.String type)
        +
        Visit a missing method.
        +
        +
        Parameters:
        +
        referencingClazz - the class from which the method is referenced.
        +
        reference - the referenced class.
        +
        name - the name of the missing referenced method.
        +
        type - the type of the missing referenced method.
        +
        +
      • +
      + + + +
        +
      • +

        visitMissingProgramMethod

        +
        default void visitMissingProgramMethod​(Clazz referencingClazz,
        +                                       ProgramClass reference,
        +                                       java.lang.String name,
        +                                       java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        visitMissingLibraryMethod

        +
        default void visitMissingLibraryMethod​(Clazz referencingClazz,
        +                                       LibraryClass reference,
        +                                       java.lang.String name,
        +                                       java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        visitMissingEnclosingMethod

        +
        default void visitMissingEnclosingMethod​(Clazz enclosingClazz,
        +                                         Clazz reference,
        +                                         java.lang.String name,
        +                                         java.lang.String type)
        +
        Visit a missing enclosing method.
        +
        +
        Parameters:
        +
        enclosingClazz - the class containing the enclosing method.
        +
        reference - the referenced class that encloses the method.
        +
        name - the name of the enclosing method.
        +
        type - the type of the enclosing method.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/util/InvalidReferenceVisitor.html b/api/proguard/classfile/util/InvalidReferenceVisitor.html new file mode 100644 index 000000000..4df727c8a --- /dev/null +++ b/api/proguard/classfile/util/InvalidReferenceVisitor.html @@ -0,0 +1,224 @@ + + + + + +InvalidReferenceVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface InvalidReferenceVisitor

+
+
+
+ +
+ +
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/util/MemberFinder.html b/api/proguard/classfile/util/MemberFinder.html new file mode 100644 index 000000000..086bd0e62 --- /dev/null +++ b/api/proguard/classfile/util/MemberFinder.html @@ -0,0 +1,545 @@ + + + + + +MemberFinder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberFinder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.MemberFinder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberFinder
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This utility class provides methods to find class members in a given class or in its hierarchy.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      MemberFinder() +
      Creates a new MemberFinder that looks in the class hierarchy.
      +
      MemberFinder​(boolean searchHierarchy) +
      Creates a new MemberFinder that looks in the class hierarchy if specified.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      ClazzcorrespondingClass() +
      Returns the corresponding class of the most recently found class member.
      +
      FieldfindField​(Clazz clazz, + java.lang.String name, + java.lang.String descriptor) +
      Finds the field with the given name and descriptor in the given class or its hierarchy.
      +
      FieldfindField​(Clazz referencingClass, + Clazz clazz, + java.lang.String name, + java.lang.String descriptor) +
      Finds the field with the given name and descriptor in the given class or its hierarchy.
      +
      MemberfindMember​(Clazz clazz, + java.lang.String name, + java.lang.String descriptor, + boolean isField) +
      Finds the class member with the given name and descriptor in the given class or its hierarchy.
      +
      MemberfindMember​(Clazz referencingClass, + Clazz clazz, + java.lang.String name, + java.lang.String descriptor, + boolean isField) +
      Finds the class member with the given name and descriptor in the given class or its hierarchy, + referenced from the optional given class.
      +
      MethodfindMethod​(Clazz clazz, + java.lang.String name, + java.lang.String descriptor) +
      Finds the method with the given name and descriptor in the given class or its hierarchy.
      +
      MethodfindMethod​(Clazz referencingClass, + Clazz clazz, + java.lang.String name, + java.lang.String descriptor) +
      Finds the method with the given name and descriptor in the given class or its hierarchy.
      +
      booleanisOverriden​(Clazz clazz, + Method method) +
      Returns whether the given method is overridden anywhere down the class hierarchy.
      +
      booleanisShadowed​(Clazz clazz, + Field field) +
      Returns whether the given field is shadowed anywhere down the class hierarchy.
      +
      voidvisitAnyMember​(Clazz clazz, + Member member) +
      Visits any Member instance.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      + +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MemberFinder

        +
        public MemberFinder()
        +
        Creates a new MemberFinder that looks in the class hierarchy.
        +
      • +
      + + + +
        +
      • +

        MemberFinder

        +
        public MemberFinder​(boolean searchHierarchy)
        +
        Creates a new MemberFinder that looks in the class hierarchy if specified.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        findField

        +
        public Field findField​(Clazz clazz,
        +                       java.lang.String name,
        +                       java.lang.String descriptor)
        +
        Finds the field with the given name and descriptor in the given class or its hierarchy. The + name and descriptor may contain wildcards.
        +
      • +
      + + + +
        +
      • +

        findField

        +
        public Field findField​(Clazz referencingClass,
        +                       Clazz clazz,
        +                       java.lang.String name,
        +                       java.lang.String descriptor)
        +
        Finds the field with the given name and descriptor in the given class or its hierarchy. The + name and descriptor may contain wildcards.
        +
      • +
      + + + +
        +
      • +

        findMethod

        +
        public Method findMethod​(Clazz clazz,
        +                         java.lang.String name,
        +                         java.lang.String descriptor)
        +
        Finds the method with the given name and descriptor in the given class or its hierarchy. The + name and descriptor may contain wildcards.
        +
      • +
      + + + +
        +
      • +

        findMethod

        +
        public Method findMethod​(Clazz referencingClass,
        +                         Clazz clazz,
        +                         java.lang.String name,
        +                         java.lang.String descriptor)
        +
        Finds the method with the given name and descriptor in the given class or its hierarchy. The + name and descriptor may contain wildcards.
        +
      • +
      + + + +
        +
      • +

        findMember

        +
        public Member findMember​(Clazz clazz,
        +                         java.lang.String name,
        +                         java.lang.String descriptor,
        +                         boolean isField)
        +
        Finds the class member with the given name and descriptor in the given class or its hierarchy. + The name and descriptor may contain wildcards.
        +
      • +
      + + + +
        +
      • +

        findMember

        +
        public Member findMember​(Clazz referencingClass,
        +                         Clazz clazz,
        +                         java.lang.String name,
        +                         java.lang.String descriptor,
        +                         boolean isField)
        +
        Finds the class member with the given name and descriptor in the given class or its hierarchy, + referenced from the optional given class. The name and descriptor may contain wildcards.
        +
      • +
      + + + +
        +
      • +

        correspondingClass

        +
        public Clazz correspondingClass()
        +
        Returns the corresponding class of the most recently found class member.
        +
      • +
      + + + +
        +
      • +

        isOverriden

        +
        public boolean isOverriden​(Clazz clazz,
        +                           Method method)
        +
        Returns whether the given method is overridden anywhere down the class hierarchy.
        +
      • +
      + + + +
        +
      • +

        isShadowed

        +
        public boolean isShadowed​(Clazz clazz,
        +                          Field field)
        +
        Returns whether the given field is shadowed anywhere down the class hierarchy.
        +
      • +
      + + + +
        +
      • +

        visitAnyMember

        +
        public void visitAnyMember​(Clazz clazz,
        +                           Member member)
        +
        Description copied from interface: MemberVisitor
        +
        Visits any Member instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyMember in interface MemberVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/MemberRenamer.html b/api/proguard/classfile/util/MemberRenamer.html new file mode 100644 index 000000000..518becb74 --- /dev/null +++ b/api/proguard/classfile/util/MemberRenamer.html @@ -0,0 +1,373 @@ + + + + + +MemberRenamer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberRenamer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.MemberRenamer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberRenamer
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor renames the class member names of the classes it visits.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MemberRenamer

        +
        public MemberRenamer​(java.util.function.BiFunction<Clazz,​Member,​java.lang.String> memberNameFunction)
        +
      • +
      + + + +
        +
      • +

        MemberRenamer

        +
        public MemberRenamer​(java.util.function.Function<Clazz,​java.lang.String> classNameFunction,
        +                     MemberVisitor extraMemberVisitor)
        +
      • +
      + + + +
        +
      • +

        MemberRenamer

        +
        public MemberRenamer​(java.util.function.BiFunction<Clazz,​Member,​java.lang.String> memberNameFunction,
        +                     MemberVisitor extraMemberVisitor)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/MethodLinker.html b/api/proguard/classfile/util/MethodLinker.html new file mode 100644 index 000000000..363660d84 --- /dev/null +++ b/api/proguard/classfile/util/MethodLinker.html @@ -0,0 +1,407 @@ + + + + + +MethodLinker (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodLinker

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.MethodLinker
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor, MemberVisitor
    +
    +
    +
    public class MethodLinker
    +extends java.lang.Object
    +implements ClassVisitor, MemberVisitor
    +
    This ClassVisitor links all corresponding non-private, non-static, non-initializer + methods in the class hierarchies of all visited classes. Visited classes are typically all class + files that are not being subclassed. Chains of links that have been created in previous + invocations are merged with new chains of links, in order to create a consistent set of chains.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodLinker

        +
        public MethodLinker()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyMember

        +
        public void visitAnyMember​(Clazz clazz,
        +                           Member member)
        +
        Description copied from interface: MemberVisitor
        +
        Visits any Member instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyMember in interface MemberVisitor
        +
        +
      • +
      + + + +
        +
      • +

        lastMember

        +
        public static Member lastMember​(Member member)
        +
        Finds the last method in the linked list of related methods.
        +
        +
        Parameters:
        +
        member - The given method.
        +
        Returns:
        +
        The last method in the linked list.
        +
        +
      • +
      + + + +
        +
      • +

        lastProcessable

        +
        public static Processable lastProcessable​(Processable processable)
        +
        Finds the last method in the linked list of related methods.
        +
        +
        Parameters:
        +
        processable - The given method.
        +
        Returns:
        +
        The last method in the linked list.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/NestHostFinder.html b/api/proguard/classfile/util/NestHostFinder.html new file mode 100644 index 000000000..a6db16579 --- /dev/null +++ b/api/proguard/classfile/util/NestHostFinder.html @@ -0,0 +1,434 @@ + + + + + +NestHostFinder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NestHostFinder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.NestHostFinder
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NestHostFinder

        +
        public NestHostFinder()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        inSameNest

        +
        public boolean inSameNest​(Clazz class1,
        +                          Clazz class2)
        +
        Returns whether the two given classes are in the same nest.
        +
      • +
      + + + +
        +
      • +

        findNestHostClassName

        +
        public java.lang.String findNestHostClassName​(Clazz clazz)
        +
        Returns the class name of the nest host of the given class. This may be the class itself, if + the class doesn't have a nest host attribute (including for class versions below Java 11 and + for library classes).
        +
      • +
      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + + + + +
        +
      • +

        visitAnyAttribute

        +
        public void visitAnyAttribute​(Clazz clazz,
        +                              Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/PrimitiveArrayConstantReplacer.html b/api/proguard/classfile/util/PrimitiveArrayConstantReplacer.html new file mode 100644 index 000000000..9e74c5f97 --- /dev/null +++ b/api/proguard/classfile/util/PrimitiveArrayConstantReplacer.html @@ -0,0 +1,718 @@ + + + + + +PrimitiveArrayConstantReplacer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PrimitiveArrayConstantReplacer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.PrimitiveArrayConstantReplacer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/StringReferenceInitializer.html b/api/proguard/classfile/util/StringReferenceInitializer.html new file mode 100644 index 000000000..f1321ca7a --- /dev/null +++ b/api/proguard/classfile/util/StringReferenceInitializer.html @@ -0,0 +1,355 @@ + + + + + +StringReferenceInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StringReferenceInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.StringReferenceInitializer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor
    +
    +
    +
    public class StringReferenceInitializer
    +extends java.lang.Object
    +implements ConstantVisitor
    +
    This ConstantVisitor initializes any class references of all string constants it visits. + More specifically, it fills out the references of string constant pool entries that happen to + refer to a class in the program class pool or in the library class pool.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StringReferenceInitializer

        +
        public StringReferenceInitializer​(ClassPool programClassPool,
        +                                  ClassPool libraryClassPool)
        +
        Creates a new StringReferenceInitializer.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/StringSharer.html b/api/proguard/classfile/util/StringSharer.html new file mode 100644 index 000000000..300277cc6 --- /dev/null +++ b/api/proguard/classfile/util/StringSharer.html @@ -0,0 +1,501 @@ + + + + + +StringSharer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StringSharer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.StringSharer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/WarningLogger.html b/api/proguard/classfile/util/WarningLogger.html new file mode 100644 index 000000000..bcad1f960 --- /dev/null +++ b/api/proguard/classfile/util/WarningLogger.html @@ -0,0 +1,447 @@ + + + + + +WarningLogger (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class WarningLogger

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      WarningLogger​(org.apache.logging.log4j.Logger logger) 
      WarningLogger​(org.apache.logging.log4j.Logger logger, + java.util.List<java.lang.String> classFilter) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      intgetWarningCount() +
      Returns the number of warnings printed so far.
      +
      voidnote​(java.lang.String className, + java.lang.String message) +
      Prints out the given note without incrementing the warning count, if the given class name + passes the class name filter.
      +
      voidnote​(java.lang.String className, + java.lang.String className2, + java.lang.String message) +
      Prints out the given note without incrementing the warning count, if the given class nams pass + the class name filter.
      +
      voidprint​(java.lang.String className, + java.lang.String message) +
      Prints out the given warning and increments the warning count, if the given class name passes + the class name filter.
      +
      voidprint​(java.lang.String className, + java.lang.String className2, + java.lang.String message) +
      Prints out the given warning and increments the warning count, if the given class names pass + the class name filter.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        WarningLogger

        +
        public WarningLogger​(org.apache.logging.log4j.Logger logger)
        +
      • +
      + + + +
        +
      • +

        WarningLogger

        +
        public WarningLogger​(org.apache.logging.log4j.Logger logger,
        +                     java.util.List<java.lang.String> classFilter)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        print

        +
        public void print​(java.lang.String className,
        +                  java.lang.String message)
        +
        Description copied from class: WarningPrinter
        +
        Prints out the given warning and increments the warning count, if the given class name passes + the class name filter.
        +
        +
        Overrides:
        +
        print in class WarningPrinter
        +
        +
      • +
      + + + +
        +
      • +

        print

        +
        public void print​(java.lang.String className,
        +                  java.lang.String className2,
        +                  java.lang.String message)
        +
        Description copied from class: WarningPrinter
        +
        Prints out the given warning and increments the warning count, if the given class names pass + the class name filter.
        +
        +
        Overrides:
        +
        print in class WarningPrinter
        +
        +
      • +
      + + + +
        +
      • +

        note

        +
        public void note​(java.lang.String className,
        +                 java.lang.String message)
        +
        Description copied from class: WarningPrinter
        +
        Prints out the given note without incrementing the warning count, if the given class name + passes the class name filter.
        +
        +
        Overrides:
        +
        note in class WarningPrinter
        +
        +
      • +
      + + + +
        +
      • +

        note

        +
        public void note​(java.lang.String className,
        +                 java.lang.String className2,
        +                 java.lang.String message)
        +
        Description copied from class: WarningPrinter
        +
        Prints out the given note without incrementing the warning count, if the given class nams pass + the class name filter.
        +
        +
        Overrides:
        +
        note in class WarningPrinter
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/WarningPrinter.html b/api/proguard/classfile/util/WarningPrinter.html new file mode 100644 index 000000000..04ee14fce --- /dev/null +++ b/api/proguard/classfile/util/WarningPrinter.html @@ -0,0 +1,459 @@ + + + + + +WarningPrinter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class WarningPrinter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.WarningPrinter
    • +
    +
  • +
+
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    WarningLogger
    +
    +
    +
    public class WarningPrinter
    +extends java.lang.Object
    +
    This class prints out and counts warnings.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      WarningPrinter​(java.io.PrintWriter printWriter) +
      Creates a new WarningPrinter that prints to the given print writer.
      +
      WarningPrinter​(java.io.PrintWriter printWriter, + java.util.List classFilter) +
      Creates a new WarningPrinter that prints to the given print stream, except if the names of any + involved classes matches the given filter.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanaccepts​(java.lang.String className) +
      Returns whether the given class name passes the class name filter.
      +
      booleanaccepts​(java.lang.String className1, + java.lang.String className2) +
      Returns whether the given class names pass the class name filter.
      +
      intgetWarningCount() +
      Returns the number of warnings printed so far.
      +
      voidnote​(java.lang.String className, + java.lang.String message) +
      Prints out the given note without incrementing the warning count, if the given class name + passes the class name filter.
      +
      voidnote​(java.lang.String className1, + java.lang.String className2, + java.lang.String message) +
      Prints out the given note without incrementing the warning count, if the given class nams pass + the class name filter.
      +
      voidprint​(java.lang.String className, + java.lang.String warning) +
      Prints out the given warning and increments the warning count, if the given class name passes + the class name filter.
      +
      voidprint​(java.lang.String className1, + java.lang.String className2, + java.lang.String warning) +
      Prints out the given warning and increments the warning count, if the given class names pass + the class name filter.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        WarningPrinter

        +
        public WarningPrinter​(java.io.PrintWriter printWriter)
        +
        Creates a new WarningPrinter that prints to the given print writer.
        +
      • +
      + + + +
        +
      • +

        WarningPrinter

        +
        public WarningPrinter​(java.io.PrintWriter printWriter,
        +                      java.util.List classFilter)
        +
        Creates a new WarningPrinter that prints to the given print stream, except if the names of any + involved classes matches the given filter.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        print

        +
        public void print​(java.lang.String className,
        +                  java.lang.String warning)
        +
        Prints out the given warning and increments the warning count, if the given class name passes + the class name filter.
        +
      • +
      + + + +
        +
      • +

        accepts

        +
        public boolean accepts​(java.lang.String className)
        +
        Returns whether the given class name passes the class name filter.
        +
      • +
      + + + +
        +
      • +

        print

        +
        public void print​(java.lang.String className1,
        +                  java.lang.String className2,
        +                  java.lang.String warning)
        +
        Prints out the given warning and increments the warning count, if the given class names pass + the class name filter.
        +
      • +
      + + + +
        +
      • +

        accepts

        +
        public boolean accepts​(java.lang.String className1,
        +                       java.lang.String className2)
        +
        Returns whether the given class names pass the class name filter.
        +
      • +
      + + + +
        +
      • +

        note

        +
        public void note​(java.lang.String className,
        +                 java.lang.String message)
        +
        Prints out the given note without incrementing the warning count, if the given class name + passes the class name filter.
        +
      • +
      + + + +
        +
      • +

        note

        +
        public void note​(java.lang.String className1,
        +                 java.lang.String className2,
        +                 java.lang.String message)
        +
        Prints out the given note without incrementing the warning count, if the given class nams pass + the class name filter.
        +
      • +
      + + + +
        +
      • +

        getWarningCount

        +
        public int getWarningCount()
        +
        Returns the number of warnings printed so far.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/WildcardConstantFilter.html b/api/proguard/classfile/util/WildcardConstantFilter.html new file mode 100644 index 000000000..51987a648 --- /dev/null +++ b/api/proguard/classfile/util/WildcardConstantFilter.html @@ -0,0 +1,671 @@ + + + + + +WildcardConstantFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class WildcardConstantFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.WildcardConstantFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/kotlin/KotlinMetadataInitializer.html b/api/proguard/classfile/util/kotlin/KotlinMetadataInitializer.html new file mode 100644 index 000000000..80ea463d1 --- /dev/null +++ b/api/proguard/classfile/util/kotlin/KotlinMetadataInitializer.html @@ -0,0 +1,587 @@ + + + + + +KotlinMetadataInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMetadataInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.kotlin.KotlinMetadataInitializer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/util/kotlin/KotlinMetadataType.html b/api/proguard/classfile/util/kotlin/KotlinMetadataType.html new file mode 100644 index 000000000..b87a8fc95 --- /dev/null +++ b/api/proguard/classfile/util/kotlin/KotlinMetadataType.html @@ -0,0 +1,460 @@ + + + + + +KotlinMetadataType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum KotlinMetadataType

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Enum<KotlinMetadataType>
    • +
    • +
        +
      • proguard.classfile.util.kotlin.KotlinMetadataType
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<KotlinMetadataType>
    +
    +
    +
    public enum KotlinMetadataType
    +extends java.lang.Enum<KotlinMetadataType>
    +
    The different fields of the Kotlin metadata annotation. Names of these enum values should not + be changed!
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Enum Constants 
      Enum ConstantDescription
      bv +
      Deprecated.
      +
      d1 
      d2 
      k 
      mv 
      pn 
      xi 
      xs 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static KotlinMetadataTypevalueOf​(java.lang.String name) +
      Returns the enum constant of this type with the specified name.
      +
      static KotlinMetadataType[]values() +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Enum

        +clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static KotlinMetadataType[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (KotlinMetadataType c : KotlinMetadataType.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static KotlinMetadataType valueOf​(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/kotlin/KotlinNameUtil.html b/api/proguard/classfile/util/kotlin/KotlinNameUtil.html new file mode 100644 index 000000000..21531af2d --- /dev/null +++ b/api/proguard/classfile/util/kotlin/KotlinNameUtil.html @@ -0,0 +1,422 @@ + + + + + +KotlinNameUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinNameUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.kotlin.KotlinNameUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class KotlinNameUtil
    +extends java.lang.Object
    +
    Kotlin utility methods to help with Kotlin naming conventions. + +

    See, for example, + https://github.com/JetBrains/kotlin/blob/master/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/JvmAbi.java

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      static java.lang.StringGET_PREFIX 
      static java.lang.StringIS_PREFIX 
      static java.lang.StringSET_PREFIX 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static java.lang.StringgenerateGetterName​(java.lang.String name) 
      static java.lang.StringgenerateSetterName​(java.lang.String name) 
      static java.lang.StringgetterNameToPropertyName​(java.lang.String name, + boolean stripAfterDollar) +
      See propertiesConventionUtil.kt
      +
      static booleanisGetterName​(java.lang.String name) 
      static booleanisSetterName​(java.lang.String name) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        generateGetterName

        +
        public static java.lang.String generateGetterName​(java.lang.String name)
        +
      • +
      + + + +
        +
      • +

        generateSetterName

        +
        public static java.lang.String generateSetterName​(java.lang.String name)
        +
      • +
      + + + +
        +
      • +

        isGetterName

        +
        public static boolean isGetterName​(java.lang.String name)
        +
      • +
      + + + +
        +
      • +

        isSetterName

        +
        public static boolean isSetterName​(java.lang.String name)
        +
      • +
      + + + +
        +
      • +

        getterNameToPropertyName

        +
        public static java.lang.String getterNameToPropertyName​(java.lang.String name,
        +                                                        boolean stripAfterDollar)
        +
        See propertiesConventionUtil.kt + +

        For example: + +

        getMyProperty -> myProperty isProperty -> property isfalse -> isfalse

        +
        +
        Parameters:
        +
        name - the property getter name e.g. getMyProperty
        +
        stripAfterDollar - strip any extra info added by the compiler
        +
        Returns:
        +
        the property name
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/kotlin/KotlinStringUtil.html b/api/proguard/classfile/util/kotlin/KotlinStringUtil.html new file mode 100644 index 000000000..3014ad4e7 --- /dev/null +++ b/api/proguard/classfile/util/kotlin/KotlinStringUtil.html @@ -0,0 +1,300 @@ + + + + + +KotlinStringUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinStringUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.kotlin.KotlinStringUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class KotlinStringUtil
    +extends java.lang.Object
    +
    Kotlin String utility methods.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        capitializeFirstCharacterAsciiOnly

        +
        public static java.lang.String capitializeFirstCharacterAsciiOnly​(java.lang.String s)
        +
      • +
      + + + +
        +
      • +

        decapitializeFirstCharacterAsciiOnly

        +
        public static java.lang.String decapitializeFirstCharacterAsciiOnly​(java.lang.String s)
        +
      • +
      + + + +
        +
      • +

        decapitializeForKotlinCompiler

        +
        public static java.lang.String decapitializeForKotlinCompiler​(java.lang.String s)
        +
        Decaptialize according to the Kotlin compiler, basically first words are decapitialized. + +

        See capitializeDecapitialze.kt + +

        "FooBar" -> "fooBar" "FOOBar" -> "fooBar" "FOO" -> "foo" "FOO_BAR" -> "foo_BAR"

        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/util/kotlin/package-summary.html b/api/proguard/classfile/util/kotlin/package-summary.html new file mode 100644 index 000000000..81a0a9290 --- /dev/null +++ b/api/proguard/classfile/util/kotlin/package-summary.html @@ -0,0 +1,195 @@ + + + + + +proguard.classfile.util.kotlin (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.util.kotlin

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    KotlinMetadataInitializer +
    Initializes the kotlin metadata for a Kotlin class.
    +
    KotlinNameUtil +
    Kotlin utility methods to help with Kotlin naming conventions.
    +
    KotlinStringUtil +
    Kotlin String utility methods.
    +
    +
  • +
  • + + + + + + + + + + + + +
    Enum Summary 
    EnumDescription
    KotlinMetadataType +
    The different fields of the Kotlin metadata annotation.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/classfile/util/kotlin/package-tree.html b/api/proguard/classfile/util/kotlin/package-tree.html new file mode 100644 index 000000000..2d82ebbcb --- /dev/null +++ b/api/proguard/classfile/util/kotlin/package-tree.html @@ -0,0 +1,177 @@ + + + + + +proguard.classfile.util.kotlin Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.util.kotlin

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Enum Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/classfile/util/package-summary.html b/api/proguard/classfile/util/package-summary.html new file mode 100644 index 000000000..0e7f7705f --- /dev/null +++ b/api/proguard/classfile/util/package-summary.html @@ -0,0 +1,405 @@ + + + + + +proguard.classfile.util (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.util

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/util/package-tree.html b/api/proguard/classfile/util/package-tree.html new file mode 100644 index 000000000..7b55aa4ea --- /dev/null +++ b/api/proguard/classfile/util/package-tree.html @@ -0,0 +1,215 @@ + + + + + +proguard.classfile.util Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.util

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/util/renderer/ClassViewModel.html b/api/proguard/classfile/util/renderer/ClassViewModel.html new file mode 100644 index 000000000..d81cbe5ca --- /dev/null +++ b/api/proguard/classfile/util/renderer/ClassViewModel.html @@ -0,0 +1,480 @@ + + + + + +ClassViewModel (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassViewModel

+
+
+ +
+
    +
  • +
    +
    public class ClassViewModel
    +extends ProcessableViewModel
    +
    This utility class renders Clazz objects into a more human-readable format. It can be + used as a Java type renderer in Intellij-based IDE to support debugging.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        render

        +
        public static ClassViewModel render​(Clazz clazz)
        +
        Renders Clazz object into an abstract representation that hides the low-level Jvm class + data structure. The processing flags rendering are limited to those declared in ProcessingFlags.
        +
        +
        Parameters:
        +
        clazz - The Clazz object to be rendered.
        +
        Returns:
        +
        A high-level representation of Clazz (i.e., ClassViewModel object).
        +
        +
      • +
      + + + +
        +
      • +

        render

        +
        public static <T extends ProcessingFlagsClassViewModel render​(Clazz clazz,
        +                                                                java.lang.Class<T> processingFlagsHolder)
        +
        Renders Clazz object into an abstract representation that hides the low-level Jvm class + data structure; additional processing flags declared in a subclass of ProcessingFlags + will also be rendered.
        +
        +
        Parameters:
        +
        clazz - The Clazz object to be rendered.
        +
        processingFlagsHolder - A subclass of ProcessingFlags that holds additional + processing flags.
        +
        Returns:
        +
        A high-level representation of Clazz (i.e., ClassViewModel object).
        +
        +
      • +
      + + + +
        +
      • +

        renderPreview

        +
        public static java.lang.String renderPreview​(Clazz model)
        +
        A utility method that renders a Clazz object into a string containing class name, type, + accessibility. (e.g., "public static class Foo").
        +
        +
        Parameters:
        +
        model - Clazz object to be rendered.
        +
        Returns:
        +
        A string previewing the class signature.
        +
        +
      • +
      + + + +
        +
      • +

        renderSuperClass

        +
        public static ClassViewModel renderSuperClass​(Clazz model)
        +
        A utility method for recursively rendering Clazz objects in the hierarchy.
        +
        +
        Parameters:
        +
        model - A Clazz object whose parent needs to be rendered.
        +
        Returns:
        +
        A high-level representation of the parent Clazz.
        +
        +
      • +
      + + + +
        +
      • +

        renderInterfaces

        +
        public static ClassViewModel[] renderInterfaces​(Clazz model)
        +
        A utility method for recursively rendering interfaces of an implementing Clazz.
        +
        +
        Parameters:
        +
        model - A Clazz object whose interfaces need to be rendered.
        +
        Returns:
        +
        An array of high-level representation of the implemented interfaces.
        +
        +
      • +
      + + + +
        +
      • +

        renderConstantPool

        +
        public static ConstantViewModel[] renderConstantPool​(Clazz model)
        +
        A utility method for rendering each constant pool entry into a higher-level representation. see + ConstantViewModel.
        +
        +
        Parameters:
        +
        model - A Clazz object whose constant pool needs to be rendered.
        +
        Returns:
        +
        An array of high-level representation of the constant pool entries.
        +
        +
      • +
      + + + +
        +
      • +

        renderFields

        +
        public static FieldViewModel[] renderFields​(Clazz model)
        +
        A utility method for rendering each Field into a higher-level representation. see + FieldViewModel.
        +
        +
        Parameters:
        +
        model - A Clazz object whose fields need to be rendered.
        +
        Returns:
        +
        An array of high-level representation of the class' fields.
        +
        +
      • +
      + + + +
        +
      • +

        renderMethods

        +
        public static MethodViewModel[] renderMethods​(Clazz model)
        +
        A utility method for rendering each Method into a higher-level representation. see + MethodViewModel.
        +
        +
        Parameters:
        +
        model - A Clazz object whose methods need to be rendered.
        +
        Returns:
        +
        An array of high-level representation of the class' methods.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/util/renderer/ConstantViewModel.html b/api/proguard/classfile/util/renderer/ConstantViewModel.html new file mode 100644 index 000000000..23868966f --- /dev/null +++ b/api/proguard/classfile/util/renderer/ConstantViewModel.html @@ -0,0 +1,356 @@ + + + + + +ConstantViewModel (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantViewModel

+
+
+ +
+
    +
  • +
    +
    public class ConstantViewModel
    +extends ProcessableViewModel
    +
    This utility class renders Constant objects into a more human-readable format. It can be + used as a Java type renderer in Intellij-based IDE to support debugging.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConstantViewModel

        +
        public ConstantViewModel​(Clazz clazz,
        +                         Constant constant)
        +
        A constructor to keep track of the Constant object to be rendered and its associated + Clazz
        +
        +
        Parameters:
        +
        clazz - The Clazz that the Constant entry belongs to.
        +
        constant - The Constant object to be rendered.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        renderPreview

        +
        public java.lang.String renderPreview()
        +
        A utility method that renders a Constant entry into a preview string, e.g., String(18) + -> "Foo".
        +
        +
        Returns:
        +
        A string previewing the constant pool entry.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/renderer/FieldViewModel.html b/api/proguard/classfile/util/renderer/FieldViewModel.html new file mode 100644 index 000000000..41a1c4325 --- /dev/null +++ b/api/proguard/classfile/util/renderer/FieldViewModel.html @@ -0,0 +1,359 @@ + + + + + +FieldViewModel (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FieldViewModel

+
+
+ +
+
    +
  • +
    +
    public class FieldViewModel
    +extends MemberViewModel
    +
    This utility class renders Field objects into a more human-readable format. It can be + used as a Java type renderer in Intellij-based IDE to support debugging.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        render

        +
        public static FieldViewModel render​(Clazz clazz,
        +                                    Field field)
        +
        A wrapper utility method that wraps a Field object in a FieldViewModel
        +
        +
        Parameters:
        +
        clazz - The Clazz that the Field belongs to.
        +
        field - The Field object to be rendered.
        +
        Returns:
        +
        An abstract representation of the Field object.
        +
        +
      • +
      + + + +
        +
      • +

        renderPreview

        +
        public java.lang.String renderPreview()
        +
        A utility method that renders a Field entry into a preview string, e.g., "public static + int bar"
        +
        +
        Returns:
        +
        A string previewing the constant pool entry.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/renderer/MemberViewModel.Pair.html b/api/proguard/classfile/util/renderer/MemberViewModel.Pair.html new file mode 100644 index 000000000..c4c5d9421 --- /dev/null +++ b/api/proguard/classfile/util/renderer/MemberViewModel.Pair.html @@ -0,0 +1,336 @@ + + + + + +MemberViewModel.Pair (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberViewModel.Pair<K,​V>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.renderer.MemberViewModel.Pair<K,​V>
    • +
    +
  • +
+
+
    +
  • +
    +
    Type Parameters:
    +
    K - A generic class.
    +
    V - Another generic class.
    +
    +
    +
    Enclosing class:
    +
    MemberViewModel
    +
    +
    +
    public static class MemberViewModel.Pair<K,​V>
    +extends java.lang.Object
    +
    A utility class for keeping track of pairs, e.g.Clazz and Member
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      Kkey 
      Vvalue 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Pair​(K key, + V value) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        key

        +
        public K key
        +
      • +
      + + + +
        +
      • +

        value

        +
        public V value
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + + + +
        +
      • +

        Pair

        +
        public Pair​(K key,
        +            V value)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/renderer/MemberViewModel.html b/api/proguard/classfile/util/renderer/MemberViewModel.html new file mode 100644 index 000000000..95f228b05 --- /dev/null +++ b/api/proguard/classfile/util/renderer/MemberViewModel.html @@ -0,0 +1,386 @@ + + + + + +MemberViewModel (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberViewModel

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MemberViewModel

        +
        protected MemberViewModel​(Clazz clazz,
        +                          Member member)
        +
        A constructor to keep track of the Member object to be rendered and its associated + Clazz
        +
        +
        Parameters:
        +
        clazz - The Clazz that the Constant entry belongs to.
        +
        member - The Member object to be rendered.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/renderer/MethodViewModel.html b/api/proguard/classfile/util/renderer/MethodViewModel.html new file mode 100644 index 000000000..360035a7b --- /dev/null +++ b/api/proguard/classfile/util/renderer/MethodViewModel.html @@ -0,0 +1,359 @@ + + + + + +MethodViewModel (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodViewModel

+
+
+ +
+
    +
  • +
    +
    public class MethodViewModel
    +extends MemberViewModel
    +
    This utility class renders Method objects into a more human-readable format. It can be + used as a Java type renderer in Intellij-based IDE to support debugging.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        renderPreview

        +
        public java.lang.String renderPreview()
        +
        A utility method that renders a Method entry into a preview string, e.g., private int + bar(Foo obj)
        +
        +
        Returns:
        +
        A string previewing the method signature.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/renderer/ProcessableViewModel.html b/api/proguard/classfile/util/renderer/ProcessableViewModel.html new file mode 100644 index 000000000..a6eb4a16d --- /dev/null +++ b/api/proguard/classfile/util/renderer/ProcessableViewModel.html @@ -0,0 +1,399 @@ + + + + + +ProcessableViewModel (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProcessableViewModel

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.renderer.ProcessableViewModel
    • +
    +
  • +
+
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    ClassViewModel, ConstantViewModel, MemberViewModel
    +
    +
    +
    public abstract class ProcessableViewModel
    +extends java.lang.Object
    +
    A base ViewModel class for implementing classes of the Processable interface. This class takes + care of rendering the processing flags.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      protected java.util.List<java.lang.String>processingFlags 
      protected java.lang.ObjectprocessingInfo 
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected static <T extends ProcessingFlags>
      void
      addExtraProcessingFlags​(java.lang.Class<T> extraProcessingFlagsHolder) +
      A utility method that allows for adding additional processing flags that can be rendered as + strings.
      +
      static java.util.List<java.lang.String>renderProcessingFlags​(int processingFlags) +
      A utility method for rendering the processing flags of a processable instance.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        processingFlags

        +
        protected java.util.List<java.lang.String> processingFlags
        +
      • +
      + + + +
        +
      • +

        processingInfo

        +
        protected java.lang.Object processingInfo
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ProcessableViewModel

        +
        public ProcessableViewModel()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        renderProcessingFlags

        +
        public static java.util.List<java.lang.String> renderProcessingFlags​(int processingFlags)
        +
        A utility method for rendering the processing flags of a processable instance.
        +
        +
        Parameters:
        +
        processingFlags - The processing flags of a processable to be rendered.
        +
        Returns:
        +
        A list of strings containing rendered flags.
        +
        +
      • +
      + + + +
        +
      • +

        addExtraProcessingFlags

        +
        protected static <T extends ProcessingFlags> void addExtraProcessingFlags​(java.lang.Class<T> extraProcessingFlagsHolder)
        +
        A utility method that allows for adding additional processing flags that can be rendered as + strings.
        +
        +
        Parameters:
        +
        extraProcessingFlagsHolder - A sub class of ProcessingFlags that holds the additional + flags.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/renderer/core/StringListWriter.html b/api/proguard/classfile/util/renderer/core/StringListWriter.html new file mode 100644 index 000000000..68588bf89 --- /dev/null +++ b/api/proguard/classfile/util/renderer/core/StringListWriter.html @@ -0,0 +1,432 @@ + + + + + +StringListWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StringListWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.io.Writer
    • +
    • +
        +
      • proguard.classfile.util.renderer.core.StringListWriter
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Closeable, java.io.Flushable, java.lang.Appendable, java.lang.AutoCloseable
    +
    +
    +
    public class StringListWriter
    +extends java.io.Writer
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      +
        +
      • + + +

        Fields inherited from class java.io.Writer

        +lock
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      StringListWriter​(java.util.List<java.lang.String> output) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() 
      voidflush() 
      java.util.List<java.lang.String>getOutput() 
      voidwrite​(@org.jetbrains.annotations.NotNull char[] cbuf, + int off, + int len) 
      voidwrite​(java.lang.String str) 
      +
        +
      • + + +

        Methods inherited from class java.io.Writer

        +append, append, append, nullWriter, write, write, write
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StringListWriter

        +
        public StringListWriter​(java.util.List<java.lang.String> output)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        write

        +
        public void write​(@NotNull
        +                  @org.jetbrains.annotations.NotNull char[] cbuf,
        +                  int off,
        +                  int len)
        +           throws java.io.IOException
        +
        +
        Specified by:
        +
        write in class java.io.Writer
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        write

        +
        public void write​(java.lang.String str)
        +           throws java.io.IOException
        +
        +
        Overrides:
        +
        write in class java.io.Writer
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        getOutput

        +
        public java.util.List<java.lang.String> getOutput()
        +
      • +
      + + + +
        +
      • +

        flush

        +
        public void flush()
        +           throws java.io.IOException
        +
        +
        Specified by:
        +
        flush in interface java.io.Flushable
        +
        Specified by:
        +
        flush in class java.io.Writer
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface java.io.Closeable
        +
        Specified by:
        +
        close in class java.io.Writer
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/util/renderer/core/package-summary.html b/api/proguard/classfile/util/renderer/core/package-summary.html new file mode 100644 index 000000000..3ef8b78ac --- /dev/null +++ b/api/proguard/classfile/util/renderer/core/package-summary.html @@ -0,0 +1,164 @@ + + + + + +proguard.classfile.util.renderer.core (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.util.renderer.core

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    StringListWriter 
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/classfile/util/renderer/core/package-tree.html b/api/proguard/classfile/util/renderer/core/package-tree.html new file mode 100644 index 000000000..890cc323a --- /dev/null +++ b/api/proguard/classfile/util/renderer/core/package-tree.html @@ -0,0 +1,165 @@ + + + + + +proguard.classfile.util.renderer.core Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.util.renderer.core

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.io.Writer (implements java.lang.Appendable, java.io.Closeable, java.io.Flushable) + +
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/classfile/util/renderer/package-summary.html b/api/proguard/classfile/util/renderer/package-summary.html new file mode 100644 index 000000000..f9c95229f --- /dev/null +++ b/api/proguard/classfile/util/renderer/package-summary.html @@ -0,0 +1,202 @@ + + + + + +proguard.classfile.util.renderer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.util.renderer

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/util/renderer/package-tree.html b/api/proguard/classfile/util/renderer/package-tree.html new file mode 100644 index 000000000..a4b45d13c --- /dev/null +++ b/api/proguard/classfile/util/renderer/package-tree.html @@ -0,0 +1,173 @@ + + + + + +proguard.classfile.util.renderer Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.util.renderer

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/classfile/visitor/AllClassVisitor.html b/api/proguard/classfile/visitor/AllClassVisitor.html new file mode 100644 index 000000000..435ffd048 --- /dev/null +++ b/api/proguard/classfile/visitor/AllClassVisitor.html @@ -0,0 +1,315 @@ + + + + + +AllClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.AllClassVisitor
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidvisitClassPool​(ClassPool classPool) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/AllFieldVisitor.html b/api/proguard/classfile/visitor/AllFieldVisitor.html new file mode 100644 index 000000000..66280087d --- /dev/null +++ b/api/proguard/classfile/visitor/AllFieldVisitor.html @@ -0,0 +1,327 @@ + + + + + +AllFieldVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllFieldVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.AllFieldVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AllFieldVisitor

        +
        public AllFieldVisitor​(MemberVisitor memberVisitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/AllMemberVisitor.html b/api/proguard/classfile/visitor/AllMemberVisitor.html new file mode 100644 index 000000000..6c878f189 --- /dev/null +++ b/api/proguard/classfile/visitor/AllMemberVisitor.html @@ -0,0 +1,327 @@ + + + + + +AllMemberVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllMemberVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.AllMemberVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AllMemberVisitor

        +
        public AllMemberVisitor​(MemberVisitor memberVisitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/AllMethodVisitor.html b/api/proguard/classfile/visitor/AllMethodVisitor.html new file mode 100644 index 000000000..b2e328a3c --- /dev/null +++ b/api/proguard/classfile/visitor/AllMethodVisitor.html @@ -0,0 +1,327 @@ + + + + + +AllMethodVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AllMethodVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.AllMethodVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AllMethodVisitor

        +
        public AllMethodVisitor​(MemberVisitor memberVisitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/BottomClassFilter.html b/api/proguard/classfile/visitor/BottomClassFilter.html new file mode 100644 index 000000000..4f80dc0b7 --- /dev/null +++ b/api/proguard/classfile/visitor/BottomClassFilter.html @@ -0,0 +1,389 @@ + + + + + +BottomClassFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BottomClassFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.BottomClassFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class BottomClassFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates its visits to one of two other given ClassVisitor + instances, depending on whether they have any subclasses or not.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BottomClassFilter

        +
        public BottomClassFilter​(ClassVisitor bottomClassVisitor)
        +
        Creates a new BottomClassFilter.
        +
        +
        Parameters:
        +
        bottomClassVisitor - the ClassVisitor to which visits to bottom classes will + be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        BottomClassFilter

        +
        public BottomClassFilter​(ClassVisitor bottomClassVisitor,
        +                         ClassVisitor otherClassVisitor)
        +
        Creates a new BottomClassFilter.
        +
        +
        Parameters:
        +
        bottomClassVisitor - the ClassVisitor to which visits to bottom classes will + be delegated.
        +
        otherClassVisitor - the ClassVisitor to which visits to non-bottom classes + will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassAccessFilter.html b/api/proguard/classfile/visitor/ClassAccessFilter.html new file mode 100644 index 000000000..0f38a8f86 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassAccessFilter.html @@ -0,0 +1,344 @@ + + + + + +ClassAccessFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassAccessFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassAccessFilter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassAccessFilter​(int requiredSetAccessFlags, + int requiredUnsetAccessFlags, + ClassVisitor classVisitor) +
      Creates a new ClassAccessFilter.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassAccessFilter

        +
        public ClassAccessFilter​(int requiredSetAccessFlags,
        +                         int requiredUnsetAccessFlags,
        +                         ClassVisitor classVisitor)
        +
        Creates a new ClassAccessFilter.
        +
        +
        Parameters:
        +
        requiredSetAccessFlags - the class access flags that should be set.
        +
        requiredUnsetAccessFlags - the class access flags that should be unset.
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassCleaner.html b/api/proguard/classfile/visitor/ClassCleaner.html new file mode 100644 index 000000000..cdbd55035 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassCleaner.html @@ -0,0 +1,1260 @@ + + + + + +ClassCleaner (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassCleaner

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassCleaner
    • +
    +
  • +
+ +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassCollector.html b/api/proguard/classfile/visitor/ClassCollector.html new file mode 100644 index 000000000..26707db64 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassCollector.html @@ -0,0 +1,333 @@ + + + + + +ClassCollector (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassCollector

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassCollector
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ClassCollector
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor collects the classes that it visits in the given collection.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassCollector​(java.util.Collection<Clazz> collection) +
      Creates a new ClassCollector.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassCollector

        +
        public ClassCollector​(java.util.Collection<Clazz> collection)
        +
        Creates a new ClassCollector.
        +
        +
        Parameters:
        +
        collection - the Collection in which all classes will be collected.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassConstantClassFilter.html b/api/proguard/classfile/visitor/ClassConstantClassFilter.html new file mode 100644 index 000000000..9a064b490 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassConstantClassFilter.html @@ -0,0 +1,432 @@ + + + + + +ClassConstantClassFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassConstantClassFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassConstantClassFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor, ClassVisitor
    +
    +
    +
    public class ClassConstantClassFilter
    +extends java.lang.Object
    +implements ClassVisitor, ConstantVisitor
    +
    This ClassVisitor delegates all visits to another given visitor, but only if the visited class + contains the specified class constant. This can be useful to avoid applying expensive visitors + when they aren't necessary.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassConstantClassFilter

        +
        public ClassConstantClassFilter​(java.lang.String regularExpression,
        +                                ClassVisitor classVisitor)
        +
        Creates a new ClassConstantClassFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which class names of class constants + will be matched.
        +
        classVisitor - the class visitor for classes that contain the specified class constant.
        +
        +
      • +
      + + + +
        +
      • +

        ClassConstantClassFilter

        +
        public ClassConstantClassFilter​(StringMatcher regularExpressionMatcher,
        +                                ClassVisitor classVisitor)
        +
        Creates a new ClassConstantClassFilter.
        +
        +
        Parameters:
        +
        regularExpressionMatcher - the string matcher against which class names will be matched.
        +
        classVisitor - the class visitor for classes that contain the specified class constant.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassCounter.html b/api/proguard/classfile/visitor/ClassCounter.html new file mode 100644 index 000000000..5d6b13284 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassCounter.html @@ -0,0 +1,348 @@ + + + + + +ClassCounter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassCounter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassCounter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassCounter() 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassCounter

        +
        public ClassCounter()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getCount

        +
        public int getCount()
        +
        Description copied from interface: Counter
        +
        Returns the current value of the counter.
        +
        +
        Specified by:
        +
        getCount in interface Counter
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassFeatureNameCollector.html b/api/proguard/classfile/visitor/ClassFeatureNameCollector.html new file mode 100644 index 000000000..6a118a192 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassFeatureNameCollector.html @@ -0,0 +1,334 @@ + + + + + +ClassFeatureNameCollector (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassFeatureNameCollector

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassFeatureNameCollector
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ClassFeatureNameCollector
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor collects the feature names of the classes that it visits in the + given collection.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassFeatureNameCollector​(java.util.Collection<java.lang.String> collection) +
      Creates a new ClassNameCollector.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassFeatureNameCollector

        +
        public ClassFeatureNameCollector​(java.util.Collection<java.lang.String> collection)
        +
        Creates a new ClassNameCollector.
        +
        +
        Parameters:
        +
        collection - the Collection in which all feature names will be collected.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassHierarchyTraveler.html b/api/proguard/classfile/visitor/ClassHierarchyTraveler.html new file mode 100644 index 000000000..9b48c3586 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassHierarchyTraveler.html @@ -0,0 +1,346 @@ + + + + + +ClassHierarchyTraveler (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassHierarchyTraveler

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassHierarchyTraveler
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ClassHierarchyTraveler
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor lets a given ClassVisitor optionally travel to the visited + class, its superclass, its interfaces, and its subclasses.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassHierarchyTraveler​(boolean visitThisClass, + boolean visitSuperClass, + boolean visitInterfaces, + boolean visitSubclasses, + ClassVisitor classVisitor) +
      Creates a new ClassHierarchyTraveler.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassHierarchyTraveler

        +
        public ClassHierarchyTraveler​(boolean visitThisClass,
        +                              boolean visitSuperClass,
        +                              boolean visitInterfaces,
        +                              boolean visitSubclasses,
        +                              ClassVisitor classVisitor)
        +
        Creates a new ClassHierarchyTraveler.
        +
        +
        Parameters:
        +
        visitThisClass - specifies whether to visit the originally visited classes.
        +
        visitSuperClass - specifies whether to visit the super classes of the visited classes.
        +
        visitInterfaces - specifies whether to visit the interfaces of the visited classes.
        +
        visitSubclasses - specifies whether to visit the subclasses of the visited classes.
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassNameCollector.html b/api/proguard/classfile/visitor/ClassNameCollector.html new file mode 100644 index 000000000..98b544197 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassNameCollector.html @@ -0,0 +1,334 @@ + + + + + +ClassNameCollector (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassNameCollector

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassNameCollector
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ClassNameCollector
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor collects the names of the classes that it visits in the given + collection.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassNameCollector​(java.util.Collection<java.lang.String> collection) +
      Creates a new ClassNameCollector.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassNameCollector

        +
        public ClassNameCollector​(java.util.Collection<java.lang.String> collection)
        +
        Creates a new ClassNameCollector.
        +
        +
        Parameters:
        +
        collection - the Collection in which all class names will be collected.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassNameFilter.html b/api/proguard/classfile/visitor/ClassNameFilter.html new file mode 100644 index 000000000..610fe1631 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassNameFilter.html @@ -0,0 +1,586 @@ + + + + + +ClassNameFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassNameFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassNameFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ClassNameFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates its visits to another given ClassVisitor, but only + when the visited class has a name that matches a given regular expression.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassNameFilter

        +
        public ClassNameFilter​(java.lang.String regularExpression,
        +                       ClassVisitor acceptedClassVisitor)
        +
        Creates a new ClassNameFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which class names will be matched.
        +
        acceptedClassVisitor - the ClassVisitor to which accepted visits will be + delegated.
        +
        +
      • +
      + + + +
        +
      • +

        ClassNameFilter

        +
        public ClassNameFilter​(java.lang.String regularExpression,
        +                       WildcardManager wildcardManager,
        +                       ClassVisitor acceptedClassVisitor)
        +
        Creates a new ClassNameFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which class names will be matched.
        +
        wildcardManager - an optional scope for StringMatcher instances that match wildcards.
        +
        acceptedClassVisitor - the ClassVisitor to which accepted visits will be + delegated.
        +
        +
      • +
      + + + +
        +
      • +

        ClassNameFilter

        +
        public ClassNameFilter​(java.util.List regularExpression,
        +                       ClassVisitor acceptedClassVisitor)
        +
        Creates a new ClassNameFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which class names will be matched.
        +
        acceptedClassVisitor - the ClassVisitor to which accepted visits will be + delegated.
        +
        +
      • +
      + + + +
        +
      • +

        ClassNameFilter

        +
        public ClassNameFilter​(java.util.List regularExpression,
        +                       WildcardManager wildcardManager,
        +                       ClassVisitor acceptedClassVisitor)
        +
        Creates a new ClassNameFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which class names will be matched.
        +
        wildcardManager - an optional scope for StringMatcher instances that match wildcards.
        +
        acceptedClassVisitor - the ClassVisitor to which accepted visits will be + delegated.
        +
        +
      • +
      + + + +
        +
      • +

        ClassNameFilter

        +
        public ClassNameFilter​(StringMatcher regularExpressionMatcher,
        +                       ClassVisitor acceptedClassVisitor)
        +
        Creates a new ClassNameFilter.
        +
        +
        Parameters:
        +
        regularExpressionMatcher - the string matcher against which class names will be matched.
        +
        acceptedClassVisitor - the ClassVisitor to which accepted visits will be + delegated.
        +
        +
      • +
      + + + +
        +
      • +

        ClassNameFilter

        +
        public ClassNameFilter​(java.lang.String regularExpression,
        +                       ClassVisitor acceptedClassVisitor,
        +                       ClassVisitor rejectedClassVisitor)
        +
        Creates a new ClassNameFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which class names will be matched.
        +
        acceptedClassVisitor - the ClassVisitor to which accepted visits will be + delegated.
        +
        rejectedClassVisitor - the ClassVisitor to which rejected visits will be + delegated.
        +
        +
      • +
      + + + +
        +
      • +

        ClassNameFilter

        +
        public ClassNameFilter​(java.lang.String regularExpression,
        +                       WildcardManager wildcardManager,
        +                       ClassVisitor acceptedClassVisitor,
        +                       ClassVisitor rejectedClassVisitor)
        +
        Creates a new ClassNameFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which class names will be matched.
        +
        wildcardManager - an optional scope for StringMatcher instances that match wildcards.
        +
        acceptedClassVisitor - the ClassVisitor to which accepted visits will be + delegated.
        +
        rejectedClassVisitor - the ClassVisitor to which rejected visits will be + delegated.
        +
        +
      • +
      + + + +
        +
      • +

        ClassNameFilter

        +
        public ClassNameFilter​(java.util.List regularExpression,
        +                       ClassVisitor acceptedClassVisitor,
        +                       ClassVisitor rejectedClassVisitor)
        +
        Creates a new ClassNameFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which class names will be matched.
        +
        acceptedClassVisitor - the ClassVisitor to which accepted visits will be + delegated.
        +
        rejectedClassVisitor - the ClassVisitor to which rejected visits will be + delegated.
        +
        +
      • +
      + + + +
        +
      • +

        ClassNameFilter

        +
        public ClassNameFilter​(java.util.List regularExpression,
        +                       WildcardManager wildcardManager,
        +                       ClassVisitor acceptedClassVisitor,
        +                       ClassVisitor rejectedClassVisitor)
        +
        Creates a new ClassNameFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which class names will be matched.
        +
        wildcardManager - an optional scope for StringMatcher instances that match wildcards.
        +
        acceptedClassVisitor - the ClassVisitor to which accepted visits will be + delegated.
        +
        rejectedClassVisitor - the ClassVisitor to which rejected visits will be + delegated.
        +
        +
      • +
      + + + +
        +
      • +

        ClassNameFilter

        +
        public ClassNameFilter​(StringMatcher regularExpressionMatcher,
        +                       ClassVisitor acceptedClassVisitor,
        +                       ClassVisitor rejectedClassVisitor)
        +
        Creates a new ClassNameFilter.
        +
        +
        Parameters:
        +
        regularExpressionMatcher - the string matcher against which class names will be matched.
        +
        acceptedClassVisitor - the ClassVisitor to which accepted visits will be + delegated.
        +
        rejectedClassVisitor - the ClassVisitor to which rejected visits will be + delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassPoolClassVisitor.html b/api/proguard/classfile/visitor/ClassPoolClassVisitor.html new file mode 100644 index 000000000..f9450ba50 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassPoolClassVisitor.html @@ -0,0 +1,353 @@ + + + + + +ClassPoolClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassPoolClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassPoolClassVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassPoolClassVisitor

        +
        public ClassPoolClassVisitor​(ClassPoolVisitor classPoolVisitor)
        +
        Creates a new ClassPoolClassVisitor.
        +
        +
        Parameters:
        +
        classPoolVisitor -
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassPoolFiller.html b/api/proguard/classfile/visitor/ClassPoolFiller.html new file mode 100644 index 000000000..bfd69409e --- /dev/null +++ b/api/proguard/classfile/visitor/ClassPoolFiller.html @@ -0,0 +1,329 @@ + + + + + +ClassPoolFiller (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassPoolFiller

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassPoolFiller
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ClassPoolFiller
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor collects all the classes it visits in a given class pool.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassPoolFiller

        +
        public ClassPoolFiller​(ClassPool classPool)
        +
        Creates a new ClassPoolFiller.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassPoolRemover.html b/api/proguard/classfile/visitor/ClassPoolRemover.html new file mode 100644 index 000000000..f2bae915a --- /dev/null +++ b/api/proguard/classfile/visitor/ClassPoolRemover.html @@ -0,0 +1,329 @@ + + + + + +ClassPoolRemover (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassPoolRemover

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassPoolRemover
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ClassPoolRemover
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor removes all the classes it visits from a given class pool.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassPoolRemover

        +
        public ClassPoolRemover​(ClassPool classPool)
        +
        Creates a new ClassPoolFiller.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassPoolVisitor.html b/api/proguard/classfile/visitor/ClassPoolVisitor.html new file mode 100644 index 000000000..f67657534 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassPoolVisitor.html @@ -0,0 +1,255 @@ + + + + + +ClassPoolVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ClassPoolVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitClassPool

        +
        void visitClassPool​(ClassPool classPool)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/visitor/ClassPresenceFilter.html b/api/proguard/classfile/visitor/ClassPresenceFilter.html new file mode 100644 index 000000000..b126f8b7a --- /dev/null +++ b/api/proguard/classfile/visitor/ClassPresenceFilter.html @@ -0,0 +1,367 @@ + + + + + +ClassPresenceFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassPresenceFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassPresenceFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ClassPresenceFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates its visits to one of two ClassVisitor instances, + depending on whether the name of the visited class file is present in a given ClassPool + or not.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassPresenceFilter

        +
        public ClassPresenceFilter​(ClassPool classPool,
        +                           ClassVisitor presentClassVisitor,
        +                           ClassVisitor missingClassVisitor)
        +
        Creates a new ClassPresenceFilter.
        +
        +
        Parameters:
        +
        classPool - the ClassPool in which the presence will be tested.
        +
        presentClassVisitor - the ClassVisitor to which visits of present class files + will be delegated.
        +
        missingClassVisitor - the ClassVisitor to which visits of missing class files + will be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        ClassPresenceFilter

        +
        public ClassPresenceFilter​(ClassPool classPool,
        +                           ClassVisitor presentClassVisitor)
        +
        Creates a new ClassPresenceFilter.
        +
        +
        Parameters:
        +
        classPool - the ClassPool in which the presence will be tested.
        +
        presentClassVisitor - the ClassVisitor to which visits of present class files + will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassPrinter.html b/api/proguard/classfile/visitor/ClassPrinter.html new file mode 100644 index 000000000..cc2bf0379 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassPrinter.html @@ -0,0 +1,2799 @@ + + + + + +ClassPrinter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassPrinter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassPrinter
    • +
    +
  • +
+ +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassProcessingFlagFilter.html b/api/proguard/classfile/visitor/ClassProcessingFlagFilter.html new file mode 100644 index 000000000..0b513f112 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassProcessingFlagFilter.html @@ -0,0 +1,340 @@ + + + + + +ClassProcessingFlagFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassProcessingFlagFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassProcessingFlagFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ClassProcessingFlagFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates its visits to another given ClassVisitor, but only + when the visited class has the proper processing flags.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassProcessingFlagFilter​(int requiredSetProcessingFlags, + int requiredUnsetProcessingFlags, + ClassVisitor classVisitor) +
      Creates a new ClassProcessingFlagFilter.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassProcessingFlagFilter

        +
        public ClassProcessingFlagFilter​(int requiredSetProcessingFlags,
        +                                 int requiredUnsetProcessingFlags,
        +                                 ClassVisitor classVisitor)
        +
        Creates a new ClassProcessingFlagFilter.
        +
        +
        Parameters:
        +
        requiredSetProcessingFlags - the class processing flags that should be set.
        +
        requiredUnsetProcessingFlags - the class processing flags that should be unset.
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassProcessingInfoFilter.html b/api/proguard/classfile/visitor/ClassProcessingInfoFilter.html new file mode 100644 index 000000000..34590554c --- /dev/null +++ b/api/proguard/classfile/visitor/ClassProcessingInfoFilter.html @@ -0,0 +1,364 @@ + + + + + +ClassProcessingInfoFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassProcessingInfoFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassProcessingInfoFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ClassProcessingInfoFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    Delegates all class visits to another given visitor, depending on if the given predicate passes + or not.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassProcessingInfoFilter​(java.util.function.Predicate<java.lang.Object> predicate, + ClassVisitor acceptedClassVisitor) +
      Creates a new ClassVisitorInfoFilter.
      +
      ClassProcessingInfoFilter​(java.util.function.Predicate<java.lang.Object> predicate, + ClassVisitor acceptedClassVisitor, + ClassVisitor rejectedClassVisitor) +
      Creates a new ClassVisitorInfoFilter that checks the identity of the given visitor info.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassProcessingInfoFilter

        +
        public ClassProcessingInfoFilter​(java.util.function.Predicate<java.lang.Object> predicate,
        +                                 ClassVisitor acceptedClassVisitor)
        +
        Creates a new ClassVisitorInfoFilter.
        +
        +
        Parameters:
        +
        predicate - the visitor info predicate to check.
        +
        acceptedClassVisitor - the class visitor for classes that have the given visitor info.
        +
        +
      • +
      + + + +
        +
      • +

        ClassProcessingInfoFilter

        +
        public ClassProcessingInfoFilter​(java.util.function.Predicate<java.lang.Object> predicate,
        +                                 ClassVisitor acceptedClassVisitor,
        +                                 ClassVisitor rejectedClassVisitor)
        +
        Creates a new ClassVisitorInfoFilter that checks the identity of the given visitor info.
        +
        +
        Parameters:
        +
        predicate - the visitor info to check.
        +
        acceptedClassVisitor - the class visitor for classes that have the given visitor info.
        +
        rejectedClassVisitor - the class visitor for classes that don't have the given visitor + info.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassVersionFilter.html b/api/proguard/classfile/visitor/ClassVersionFilter.html new file mode 100644 index 000000000..af0a3f21e --- /dev/null +++ b/api/proguard/classfile/visitor/ClassVersionFilter.html @@ -0,0 +1,381 @@ + + + + + +ClassVersionFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassVersionFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassVersionFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ClassVersionFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates its visits to program classes to another given ClassVisitor, but only when the class version number of the visited program class lies in a + given range.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassVersionFilter

        +
        public ClassVersionFilter​(int minimumClassVersion,
        +                          ClassVisitor classVisitor)
        +
        Creates a new ClassVersionFilter.
        +
        +
        Parameters:
        +
        minimumClassVersion - the minimum class version number.
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        ClassVersionFilter

        +
        public ClassVersionFilter​(int minimumClassVersion,
        +                          int maximumClassVersion,
        +                          ClassVisitor classVisitor)
        +
        Creates a new ClassVersionFilter.
        +
        +
        Parameters:
        +
        minimumClassVersion - the minimum class version number.
        +
        maximumClassVersion - the maximum class version number.
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassVersionSetter.html b/api/proguard/classfile/visitor/ClassVersionSetter.html new file mode 100644 index 000000000..93dd4e882 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassVersionSetter.html @@ -0,0 +1,377 @@ + + + + + +ClassVersionSetter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassVersionSetter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassVersionSetter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ClassVersionSetter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor sets the version number of the program classes that it visits.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassVersionSetter​(int classVersion) +
      Creates a new ClassVersionSetter.
      +
      ClassVersionSetter​(int classVersion, + java.util.Set<java.lang.Integer> newerClassVersions) +
      Creates a new ClassVersionSetter that also stores any newer class version numbers that it + encounters while visiting program classes.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassVersionSetter

        +
        public ClassVersionSetter​(int classVersion)
        +
        Creates a new ClassVersionSetter.
        +
        +
        Parameters:
        +
        classVersion - the class version number.
        +
        +
      • +
      + + + +
        +
      • +

        ClassVersionSetter

        +
        public ClassVersionSetter​(int classVersion,
        +                          java.util.Set<java.lang.Integer> newerClassVersions)
        +
        Creates a new ClassVersionSetter that also stores any newer class version numbers that it + encounters while visiting program classes.
        +
        +
        Parameters:
        +
        classVersion - the class version number.
        +
        newerClassVersions - the Set in which newer class version numbers can be + collected.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ClassVisitor.html b/api/proguard/classfile/visitor/ClassVisitor.html new file mode 100644 index 000000000..46bf077b7 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassVisitor.html @@ -0,0 +1,289 @@ + + + + + +ClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ClassVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        void visitAnyClass​(Clazz clazz)
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
      • +
      + + + +
        +
      • +

        visitProgramClass

        +
        default void visitProgramClass​(ProgramClass programClass)
        +
      • +
      + + + +
        +
      • +

        visitLibraryClass

        +
        default void visitLibraryClass​(LibraryClass libraryClass)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/visitor/ConcreteClassDownTraveler.html b/api/proguard/classfile/visitor/ConcreteClassDownTraveler.html new file mode 100644 index 000000000..d6f9526ed --- /dev/null +++ b/api/proguard/classfile/visitor/ConcreteClassDownTraveler.html @@ -0,0 +1,363 @@ + + + + + +ConcreteClassDownTraveler (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConcreteClassDownTraveler

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ConcreteClassDownTraveler
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ConcreteClassDownTraveler
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor lets a given ClassVisitor travel to the first concrete + subclasses down in its hierarchy of abstract classes and concrete classes.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConcreteClassDownTraveler

        +
        public ConcreteClassDownTraveler​(ClassVisitor classVisitor)
        +
        Creates a new ConcreteClassDownTraveler.
        +
        +
        Parameters:
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ConstantProcessingFlagFilter.html b/api/proguard/classfile/visitor/ConstantProcessingFlagFilter.html new file mode 100644 index 000000000..ddbfc880e --- /dev/null +++ b/api/proguard/classfile/visitor/ConstantProcessingFlagFilter.html @@ -0,0 +1,342 @@ + + + + + +ConstantProcessingFlagFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantProcessingFlagFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ConstantProcessingFlagFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor
    +
    +
    +
    public class ConstantProcessingFlagFilter
    +extends java.lang.Object
    +implements ConstantVisitor
    +
    This ConstantVisitor delegates its visits to another given ConstantVisitor, but + only when the visited constant has the proper processing flags.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConstantProcessingFlagFilter

        +
        public ConstantProcessingFlagFilter​(int requiredSetProcessingFlags,
        +                                    int requiredUnsetProcessingFlags,
        +                                    ConstantVisitor constantVisitor)
        +
        Creates a new ConstantProcessingFlagFilter.
        +
        +
        Parameters:
        +
        requiredSetProcessingFlags - the constant processing flags that should be set.
        +
        requiredUnsetProcessingFlags - the constant processing flags that should be unset.
        +
        constantVisitor - the ConstantVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyConstant

        +
        public void visitAnyConstant​(Clazz clazz,
        +                             Constant constant)
        +
        Description copied from interface: ConstantVisitor
        +
        Visits any Constant instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyConstant in interface ConstantVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ConstructorMethodFilter.html b/api/proguard/classfile/visitor/ConstructorMethodFilter.html new file mode 100644 index 000000000..22b938078 --- /dev/null +++ b/api/proguard/classfile/visitor/ConstructorMethodFilter.html @@ -0,0 +1,450 @@ + + + + + +ConstructorMethodFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstructorMethodFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ConstructorMethodFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/CounterConditionalClassVisitor.html b/api/proguard/classfile/visitor/CounterConditionalClassVisitor.html new file mode 100644 index 000000000..32c2b39e7 --- /dev/null +++ b/api/proguard/classfile/visitor/CounterConditionalClassVisitor.html @@ -0,0 +1,368 @@ + + + + + +CounterConditionalClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CounterConditionalClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.CounterConditionalClassVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class CounterConditionalClassVisitor
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates to a given class visitor, and then, if the given predicate succeeds + with the given Counter before and after values, also to a second given class visitor.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CounterConditionalClassVisitor

        +
        public CounterConditionalClassVisitor​(Counter counter,
        +                                      java.util.function.BiPredicate<java.lang.Integer,​java.lang.Integer> predicate,
        +                                      ClassVisitor classVisitor1,
        +                                      ClassVisitor classVisitor2)
        +
        Creates a new CounterConditionalClassVisitor.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + +
        +
      • +

        hasIncreased

        +
        public static boolean hasIncreased​(int before,
        +                                   int after)
        +
      • +
      + + + +
        +
      • +

        isSame

        +
        public static boolean isSame​(int before,
        +                             int after)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/DotClassClassVisitor.html b/api/proguard/classfile/visitor/DotClassClassVisitor.html new file mode 100644 index 000000000..3c217f4b4 --- /dev/null +++ b/api/proguard/classfile/visitor/DotClassClassVisitor.html @@ -0,0 +1,423 @@ + + + + + +DotClassClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DotClassClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.DotClassClassVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/DynamicReturnedClassVisitor.html b/api/proguard/classfile/visitor/DynamicReturnedClassVisitor.html new file mode 100644 index 000000000..3a6035d87 --- /dev/null +++ b/api/proguard/classfile/visitor/DynamicReturnedClassVisitor.html @@ -0,0 +1,411 @@ + + + + + +DynamicReturnedClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DynamicReturnedClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.DynamicReturnedClassVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor
    +
    +
    +
    public class DynamicReturnedClassVisitor
    +extends java.lang.Object
    +implements ConstantVisitor
    +
    This ConstantVisitor lets a given ClassVisitor visit all the referenced classes + that are returned by the dynamic constants and invoke dynamic constants that it visits.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ExceptClassFilter.html b/api/proguard/classfile/visitor/ExceptClassFilter.html new file mode 100644 index 000000000..373691034 --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptClassFilter.html @@ -0,0 +1,337 @@ + + + + + +ExceptClassFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptClassFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ExceptClassFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptClassFilter

        +
        public ExceptClassFilter​(Clazz exceptClass,
        +                         ClassVisitor classVisitor)
        +
        Creates a new ClassNameFilter.
        +
        +
        Parameters:
        +
        exceptClass - the class that will not be visited.
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ExceptClassesFilter.html b/api/proguard/classfile/visitor/ExceptClassesFilter.html new file mode 100644 index 000000000..b884fe36a --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptClassesFilter.html @@ -0,0 +1,337 @@ + + + + + +ExceptClassesFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptClassesFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ExceptClassesFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ExceptClassesFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates its visits to another given ClassVisitor, except for + classes are in a given list.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptClassesFilter

        +
        public ExceptClassesFilter​(Clazz[] exceptClasses,
        +                           ClassVisitor classVisitor)
        +
        Creates a new ExceptClassesFilter.
        +
        +
        Parameters:
        +
        exceptClasses - the classes that will not be visited.
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ExceptionCounter.html b/api/proguard/classfile/visitor/ExceptionCounter.html new file mode 100644 index 000000000..80bb4a09d --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptionCounter.html @@ -0,0 +1,341 @@ + + + + + +ExceptionCounter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptionCounter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ExceptionCounter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ExceptionCounter() 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ExceptionExcludedOffsetFilter.html b/api/proguard/classfile/visitor/ExceptionExcludedOffsetFilter.html new file mode 100644 index 000000000..1c77f6b36 --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptionExcludedOffsetFilter.html @@ -0,0 +1,331 @@ + + + + + +ExceptionExcludedOffsetFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptionExcludedOffsetFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ExceptionExcludedOffsetFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptionExcludedOffsetFilter

        +
        public ExceptionExcludedOffsetFilter​(int instructionOffset,
        +                                     ExceptionInfoVisitor exceptionInfoVisitor)
        +
        Creates a new ExceptionExcludedOffsetFilter.
        +
        +
        Parameters:
        +
        instructionOffset - the instruction offset.
        +
        exceptionInfoVisitor - the ExceptionInfoVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ExceptionHandlerConstantVisitor.html b/api/proguard/classfile/visitor/ExceptionHandlerConstantVisitor.html new file mode 100644 index 000000000..96134b5e9 --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptionHandlerConstantVisitor.html @@ -0,0 +1,328 @@ + + + + + +ExceptionHandlerConstantVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptionHandlerConstantVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ExceptionHandlerConstantVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptionHandlerConstantVisitor

        +
        public ExceptionHandlerConstantVisitor​(ConstantVisitor constantVisitor)
        +
        Creates a new ExceptionHandlerConstantVisitor.
        +
        +
        Parameters:
        +
        constantVisitor - the ConstantVisitor that will visit the catch class constants.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ExceptionHandlerFilter.html b/api/proguard/classfile/visitor/ExceptionHandlerFilter.html new file mode 100644 index 000000000..b289ce3de --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptionHandlerFilter.html @@ -0,0 +1,334 @@ + + + + + +ExceptionHandlerFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptionHandlerFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ExceptionHandlerFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptionHandlerFilter

        +
        public ExceptionHandlerFilter​(int startOffset,
        +                              int endOffset,
        +                              ExceptionInfoVisitor exceptionInfoVisitor)
        +
        Creates a new ExceptionHandlerFilter.
        +
        +
        Parameters:
        +
        startOffset - the start of the instruction offset range.
        +
        endOffset - the end of the instruction offset range.
        +
        exceptionInfoVisitor - the ExceptionInfoVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ExceptionOffsetFilter.html b/api/proguard/classfile/visitor/ExceptionOffsetFilter.html new file mode 100644 index 000000000..2c7d8ae81 --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptionOffsetFilter.html @@ -0,0 +1,331 @@ + + + + + +ExceptionOffsetFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptionOffsetFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ExceptionOffsetFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptionOffsetFilter

        +
        public ExceptionOffsetFilter​(int instructionOffset,
        +                             ExceptionInfoVisitor exceptionInfoVisitor)
        +
        Creates a new ExceptionOffsetFilter.
        +
        +
        Parameters:
        +
        instructionOffset - the instruction offset.
        +
        exceptionInfoVisitor - the ExceptionInfoVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ExceptionRangeFilter.html b/api/proguard/classfile/visitor/ExceptionRangeFilter.html new file mode 100644 index 000000000..29d08a975 --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptionRangeFilter.html @@ -0,0 +1,334 @@ + + + + + +ExceptionRangeFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptionRangeFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ExceptionRangeFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptionRangeFilter

        +
        public ExceptionRangeFilter​(int startOffset,
        +                            int endOffset,
        +                            ExceptionInfoVisitor exceptionInfoVisitor)
        +
        Creates a new ExceptionRangeFilter.
        +
        +
        Parameters:
        +
        startOffset - the start offset of the instruction range.
        +
        endOffset - the end offset of the instruction range.
        +
        exceptionInfoVisitor - the ExceptionInfoVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/FilteredClassVisitor.html b/api/proguard/classfile/visitor/FilteredClassVisitor.html new file mode 100644 index 000000000..ba0b051a0 --- /dev/null +++ b/api/proguard/classfile/visitor/FilteredClassVisitor.html @@ -0,0 +1,351 @@ + + + + + +FilteredClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FilteredClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.FilteredClassVisitor
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      FilteredClassVisitor​(java.lang.String classNameFilter, + ClassVisitor classVisitor) +
      Creates a new FilteredClassVisitor with the given class name filter and visitor.
      +
      FilteredClassVisitor​(StringMatcher classNameFilter, + ClassVisitor classVisitor) +
      Creates a new FilteredClassVisitor with the given class name filter and visitor.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidvisitClassPool​(ClassPool classPool) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FilteredClassVisitor

        +
        public FilteredClassVisitor​(java.lang.String classNameFilter,
        +                            ClassVisitor classVisitor)
        +
        Creates a new FilteredClassVisitor with the given class name filter and visitor.
        +
        +
        Parameters:
        +
        classNameFilter - the regular expression that is used to filter the classes of a ClassPool that must be visited. If the value of classNameFilter is null, then no + classes can possibly match, so this instance will never visit any ClassPool.
        +
        classVisitor - the visitor that is passed along when a ClassPool is visited.
        +
        +
      • +
      + + + +
        +
      • +

        FilteredClassVisitor

        +
        public FilteredClassVisitor​(StringMatcher classNameFilter,
        +                            ClassVisitor classVisitor)
        +
        Creates a new FilteredClassVisitor with the given class name filter and visitor.
        +
        +
        Parameters:
        +
        classNameFilter - the filter that is used to filter the classes of a ClassPool + that must be visited. If the value of classNameFilter is null, then no classes can + possibly match, so this instance will never visit any ClassPool.
        +
        classVisitor - the visitor that is passed along when a ClassPool is visited.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/FunctionalInterfaceFilter.html b/api/proguard/classfile/visitor/FunctionalInterfaceFilter.html new file mode 100644 index 000000000..c4cca8d40 --- /dev/null +++ b/api/proguard/classfile/visitor/FunctionalInterfaceFilter.html @@ -0,0 +1,334 @@ + + + + + +FunctionalInterfaceFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FunctionalInterfaceFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.FunctionalInterfaceFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class FunctionalInterfaceFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates its visits to another given ClassVisitor, but only + for functional interfaces, that is, interface classes that have exactly one abstract method.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FunctionalInterfaceFilter

        +
        public FunctionalInterfaceFilter​(ClassVisitor classVisitor)
        +
        Creates a new ProgramClassFilter.
        +
        +
        Parameters:
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ImplementedClassConstantFilter.html b/api/proguard/classfile/visitor/ImplementedClassConstantFilter.html new file mode 100644 index 000000000..c4c90dfe2 --- /dev/null +++ b/api/proguard/classfile/visitor/ImplementedClassConstantFilter.html @@ -0,0 +1,334 @@ + + + + + +ImplementedClassConstantFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ImplementedClassConstantFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ImplementedClassConstantFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor
    +
    +
    +
    public class ImplementedClassConstantFilter
    +extends java.lang.Object
    +implements ConstantVisitor
    +
    This ConstantVisitor delegates its visits to class constants to another given ConstantVisitor, except for classes that extend or implement a given class. This exception + includes the class itself.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ImplementedClassConstantFilter

        +
        public ImplementedClassConstantFilter​(Clazz implementedClass,
        +                                      ConstantVisitor constantVisitor)
        +
        Creates a new ImplementedClassConstantFilter.
        +
        +
        Parameters:
        +
        implementedClass - the class whose implementations will not be visited.
        +
        constantVisitor - the ConstantVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ImplementedClassFilter.html b/api/proguard/classfile/visitor/ImplementedClassFilter.html new file mode 100644 index 000000000..a705041cc --- /dev/null +++ b/api/proguard/classfile/visitor/ImplementedClassFilter.html @@ -0,0 +1,349 @@ + + + + + +ImplementedClassFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ImplementedClassFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ImplementedClassFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ImplementedClassFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates its visits to one of two given ClassVisitors, + depending on whether the visited classes extend/implement a given class or not. + +

    Filter: - accepted: the visited class extends/implements the given class. - rejected: the + visited class does not extend/implement the given class.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ImplementedClassFilter

        +
        public ImplementedClassFilter​(Clazz implementedClass,
        +                              boolean includeImplementedClass,
        +                              ClassVisitor acceptedClassVisitor,
        +                              ClassVisitor rejectedClassVisistor)
        +
        Creates a new ImplementedClassFilter.
        +
        +
        Parameters:
        +
        implementedClass - the class whose implementations will be accepted.
        +
        includeImplementedClass - if true, the implemented class itself will also be accepted, + otherwise it will be rejected.
        +
        acceptedClassVisitor - the ClassVisitor to which visits of classes + implementing the given class will be delegated.
        +
        rejectedClassVisistor - the ClassVisitor to which visits of classes not + implementing the given class will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ImplementingClassConstantFilter.html b/api/proguard/classfile/visitor/ImplementingClassConstantFilter.html new file mode 100644 index 000000000..5814dcfe6 --- /dev/null +++ b/api/proguard/classfile/visitor/ImplementingClassConstantFilter.html @@ -0,0 +1,334 @@ + + + + + +ImplementingClassConstantFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ImplementingClassConstantFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ImplementingClassConstantFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor
    +
    +
    +
    public class ImplementingClassConstantFilter
    +extends java.lang.Object
    +implements ConstantVisitor
    +
    This ConstantVisitor delegates its visits to class constants to another given ConstantVisitor, except for classes that are extended or implemented by a given class. This + exception includes the class itself.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ImplementingClassConstantFilter

        +
        public ImplementingClassConstantFilter​(Clazz implementingClass,
        +                                       ConstantVisitor constantVisitor)
        +
        Creates a new ImplementingClassConstantFilter.
        +
        +
        Parameters:
        +
        implementingClass - the class whose superclasses and interfaces will not be visited.
        +
        constantVisitor - the ConstantVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/InitializerMethodFilter.html b/api/proguard/classfile/visitor/InitializerMethodFilter.html new file mode 100644 index 000000000..a396ec8b2 --- /dev/null +++ b/api/proguard/classfile/visitor/InitializerMethodFilter.html @@ -0,0 +1,418 @@ + + + + + +InitializerMethodFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InitializerMethodFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.InitializerMethodFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class InitializerMethodFilter
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor delegates its visits to one of two other given MemberVisitor + instances, depending on whether the visited method is a static initializer or instance + initializer, or not.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InitializerMethodFilter

        +
        public InitializerMethodFilter​(MemberVisitor initializerMemberVisitor)
        +
        Creates a new InitializerMethodFilter.
        +
        +
        Parameters:
        +
        initializerMemberVisitor - the member visitor to which visits to initializers will be + delegated.
        +
        +
      • +
      + + + +
        +
      • +

        InitializerMethodFilter

        +
        public InitializerMethodFilter​(MemberVisitor initializerMemberVisitor,
        +                               MemberVisitor otherMemberVisitor)
        +
        Creates a new InitializerMethodFilter.
        +
        +
        Parameters:
        +
        initializerMemberVisitor - the member visitor to which visits to initializers will be + delegated.
        +
        otherMemberVisitor - the member visitor to which visits to non-initializer methods will be + delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/LibraryClassFilter.html b/api/proguard/classfile/visitor/LibraryClassFilter.html new file mode 100644 index 000000000..9418a61d9 --- /dev/null +++ b/api/proguard/classfile/visitor/LibraryClassFilter.html @@ -0,0 +1,352 @@ + + + + + +LibraryClassFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LibraryClassFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.LibraryClassFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class LibraryClassFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates its visits to another given ClassVisitor, but only + when visiting library classes.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LibraryClassFilter

        +
        public LibraryClassFilter​(ClassVisitor classVisitor)
        +
        Creates a new LibraryClassFilter.
        +
        +
        Parameters:
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/LibraryMemberFilter.html b/api/proguard/classfile/visitor/LibraryMemberFilter.html new file mode 100644 index 000000000..5f2724964 --- /dev/null +++ b/api/proguard/classfile/visitor/LibraryMemberFilter.html @@ -0,0 +1,391 @@ + + + + + +LibraryMemberFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LibraryMemberFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.LibraryMemberFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class LibraryMemberFilter
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor delegates its visits to another given MemberVisitor, but only + when visiting members of library classes.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/LineNumberFinder.html b/api/proguard/classfile/visitor/LineNumberFinder.html new file mode 100644 index 000000000..81099b9e6 --- /dev/null +++ b/api/proguard/classfile/visitor/LineNumberFinder.html @@ -0,0 +1,416 @@ + + + + + +LineNumberFinder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LineNumberFinder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.LineNumberFinder
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class LineNumberFinder
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    Retrieves the lineNumber for a given offset from a codeattribute.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberAccessFilter.html b/api/proguard/classfile/visitor/MemberAccessFilter.html new file mode 100644 index 000000000..e33af709b --- /dev/null +++ b/api/proguard/classfile/visitor/MemberAccessFilter.html @@ -0,0 +1,379 @@ + + + + + +MemberAccessFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberAccessFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MemberAccessFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberAccessFilter
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor delegates its visits to another given MemberVisitor, but only + when the visited member has the proper access flags. + +

    If conflicting access flags (public/private/protected) are specified, having one of them set + will be considered sufficient.

    +
    +
    See Also:
    +
    ClassConstants
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MemberAccessFilter

        +
        public MemberAccessFilter​(int requiredSetAccessFlags,
        +                          int requiredUnsetAccessFlags,
        +                          MemberVisitor acceptedMemberVisitor)
        +
        Creates a new MemberAccessFilter.
        +
        +
        Parameters:
        +
        requiredSetAccessFlags - the member access flags that should be set.
        +
        requiredUnsetAccessFlags - the member access flags that should be unset.
        +
        acceptedMemberVisitor - the MemberVisitor to which visits will be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        MemberAccessFilter

        +
        public MemberAccessFilter​(int requiredSetAccessFlags,
        +                          int requiredUnsetAccessFlags,
        +                          MemberVisitor acceptedMemberVisitor,
        +                          MemberVisitor rejectedMemberVisitor)
        +
        Creates a new MemberAccessFilter.
        +
        +
        Parameters:
        +
        requiredSetAccessFlags - the member access flags that should be set.
        +
        requiredUnsetAccessFlags - the member access flags that should be unset.
        +
        acceptedMemberVisitor - the MemberVisitor to which visits will be delegated.
        +
        rejectedMemberVisitor - the MemberVisitor to which visits of members that do + not have the proper flags will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyMember

        +
        public void visitAnyMember​(Clazz clazz,
        +                           Member member)
        +
        Description copied from interface: MemberVisitor
        +
        Visits any Member instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyMember in interface MemberVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberAccessFlagCleaner.html b/api/proguard/classfile/visitor/MemberAccessFlagCleaner.html new file mode 100644 index 000000000..fe181de9f --- /dev/null +++ b/api/proguard/classfile/visitor/MemberAccessFlagCleaner.html @@ -0,0 +1,454 @@ + + + + + +MemberAccessFlagCleaner (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberAccessFlagCleaner

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MemberAccessFlagCleaner
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberAccessFlagSetter.html b/api/proguard/classfile/visitor/MemberAccessFlagSetter.html new file mode 100644 index 000000000..420099fe4 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberAccessFlagSetter.html @@ -0,0 +1,395 @@ + + + + + +MemberAccessFlagSetter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberAccessFlagSetter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MemberAccessFlagSetter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberAccessFlagSetter
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor sets the specified access flags of the program class members that it + visits.
    +
    +
    See Also:
    +
    ClassConstants
    +
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberAccessSetter.html b/api/proguard/classfile/visitor/MemberAccessSetter.html new file mode 100644 index 000000000..e4681f6b8 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberAccessSetter.html @@ -0,0 +1,395 @@ + + + + + +MemberAccessSetter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberAccessSetter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MemberAccessSetter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberAccessSetter
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor sets the access part of the access flags of the program class members + that its visits to a given value.
    +
    +
    See Also:
    +
    ClassConstants
    +
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberClassAccessFilter.html b/api/proguard/classfile/visitor/MemberClassAccessFilter.html new file mode 100644 index 000000000..5d4239d45 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberClassAccessFilter.html @@ -0,0 +1,394 @@ + + + + + +MemberClassAccessFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberClassAccessFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MemberClassAccessFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberClassAccessFilter
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor delegates its visits to another given MemberVisitor, but only + when the visited member is accessible from the given referencing class.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberCollectionFilter.html b/api/proguard/classfile/visitor/MemberCollectionFilter.html new file mode 100644 index 000000000..6633dc28b --- /dev/null +++ b/api/proguard/classfile/visitor/MemberCollectionFilter.html @@ -0,0 +1,367 @@ + + + + + +MemberCollectionFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberCollectionFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MemberCollectionFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberCollectionFilter
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor delegates its visits to one of two other visitors, depending on whether the + member is present in the given member collection or not.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MemberCollectionFilter

        +
        public MemberCollectionFilter​(java.util.Set<? extends Member> members,
        +                              MemberVisitor acceptedVisitor)
        +
        Creates a new MemberCollectionFilter.
        +
        +
        Parameters:
        +
        members - the members collection to be searched in.
        +
        acceptedVisitor - this visitor will be called for members that are present in the member + collection.
        +
        +
      • +
      + + + +
        +
      • +

        MemberCollectionFilter

        +
        public MemberCollectionFilter​(java.util.Set<? extends Member> members,
        +                              MemberVisitor acceptedVisitor,
        +                              MemberVisitor rejectedVisitor)
        +
        Creates a new MemberCollectionFilter.
        +
        +
        Parameters:
        +
        members - the member collection to be searched in.
        +
        acceptedVisitor - this visitor will be called for members that are present in the member + collection.
        +
        rejectedVisitor - this visitor will be called otherwise.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyMember

        +
        public void visitAnyMember​(Clazz clazz,
        +                           Member member)
        +
        Description copied from interface: MemberVisitor
        +
        Visits any Member instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyMember in interface MemberVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberCollector.html b/api/proguard/classfile/visitor/MemberCollector.html new file mode 100644 index 000000000..273471da8 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberCollector.html @@ -0,0 +1,347 @@ + + + + + +MemberCollector (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberCollector

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MemberCollector
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberCollector
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor collects dot-separated classname.membername.descriptor strings of the + class members that it visits.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MemberCollector

        +
        public MemberCollector​(boolean includeClassName,
        +                       boolean includeMemberName,
        +                       boolean includeMemberDescriptor,
        +                       java.util.Set<java.lang.String> set)
        +
        Creates a new MemberCollector.
        +
        +
        Parameters:
        +
        includeClassName - specifies whether to include the class name in each collected strings.
        +
        includeMemberName - specifies whether to include the member name in each collected + strings.
        +
        includeMemberDescriptor - specifies whether to include the member descriptor in each + collected strings.
        +
        set - the Set in which all strings will be collected.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyMember

        +
        public void visitAnyMember​(Clazz clazz,
        +                           Member member)
        +
        Description copied from interface: MemberVisitor
        +
        Visits any Member instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyMember in interface MemberVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberCounter.html b/api/proguard/classfile/visitor/MemberCounter.html new file mode 100644 index 000000000..8a23f758b --- /dev/null +++ b/api/proguard/classfile/visitor/MemberCounter.html @@ -0,0 +1,404 @@ + + + + + +MemberCounter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberCounter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MemberCounter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberDescriptorFilter.html b/api/proguard/classfile/visitor/MemberDescriptorFilter.html new file mode 100644 index 000000000..27c2abd10 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberDescriptorFilter.html @@ -0,0 +1,446 @@ + + + + + +MemberDescriptorFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberDescriptorFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MemberDescriptorFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberDescriptorFilter
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor delegates its visits to another given MemberVisitor, but only + when the visited member has a descriptor that matches a given regular expression.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MemberDescriptorFilter

        +
        public MemberDescriptorFilter​(java.lang.String regularExpression,
        +                              MemberVisitor memberVisitor)
        +
        Creates a new MemberDescriptorFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which member descriptors will be + matched.
        +
        memberVisitor - the MemberVisitor to which visits will be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        MemberDescriptorFilter

        +
        public MemberDescriptorFilter​(java.lang.String regularExpression,
        +                              WildcardManager wildcardManager,
        +                              MemberVisitor memberVisitor)
        +
        Creates a new MemberDescriptorFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which member descriptors will be + matched.
        +
        wildcardManager - an optional scope for StringMatcher instances that match wildcards.
        +
        memberVisitor - the MemberVisitor to which visits will be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        MemberDescriptorFilter

        +
        public MemberDescriptorFilter​(StringMatcher regularExpressionMatcher,
        +                              MemberVisitor memberVisitor)
        +
        Creates a new MemberDescriptorFilter.
        +
        +
        Parameters:
        +
        regularExpressionMatcher - the regular expression against which member descriptors will be + matched.
        +
        memberVisitor - the MemberVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberDescriptorReferencedClassVisitor.html b/api/proguard/classfile/visitor/MemberDescriptorReferencedClassVisitor.html new file mode 100644 index 000000000..7acf01b4c --- /dev/null +++ b/api/proguard/classfile/visitor/MemberDescriptorReferencedClassVisitor.html @@ -0,0 +1,363 @@ + + + + + +MemberDescriptorReferencedClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberDescriptorReferencedClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MemberDescriptorReferencedClassVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberDescriptorReferencedClassVisitor
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor lets a given ClassVisitor visit all the classes referenced by + the descriptors of the class members that it visits. + +

    It also takes into account functions with Kotlin inline class parameters, if + includeKotlinMetadata = true: in the case of inline classes, in the underlying JVM method the + actual class will not be referenced since the Kotlin compiler inlines uses.

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberNameFilter.html b/api/proguard/classfile/visitor/MemberNameFilter.html new file mode 100644 index 000000000..6d1f7c5dd --- /dev/null +++ b/api/proguard/classfile/visitor/MemberNameFilter.html @@ -0,0 +1,444 @@ + + + + + +MemberNameFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberNameFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MemberNameFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberNameFilter
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor delegates its visits to another given MemberVisitor, but only + when the visited member has a name that matches a given regular expression.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MemberNameFilter

        +
        public MemberNameFilter​(java.lang.String regularExpression,
        +                        MemberVisitor memberVisitor)
        +
        Creates a new MemberNameFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which member names will be matched.
        +
        memberVisitor - the MemberVisitor to which visits will be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        MemberNameFilter

        +
        public MemberNameFilter​(java.lang.String regularExpression,
        +                        WildcardManager wildcardManager,
        +                        MemberVisitor memberVisitor)
        +
        Creates a new MemberNameFilter.
        +
        +
        Parameters:
        +
        regularExpression - the regular expression against which member names will be matched.
        +
        wildcardManager - an optional scope for StringMatcher instances that match wildcards.
        +
        memberVisitor - the MemberVisitor to which visits will be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        MemberNameFilter

        +
        public MemberNameFilter​(StringMatcher regularExpressionMatcher,
        +                        MemberVisitor memberVisitor)
        +
        /** Creates a new MemberNameFilter.
        +
        +
        Parameters:
        +
        regularExpressionMatcher - the regular expression against which member names will be + matched.
        +
        memberVisitor - the MemberVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberProcessingFlagFilter.html b/api/proguard/classfile/visitor/MemberProcessingFlagFilter.html new file mode 100644 index 000000000..b68bf9724 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberProcessingFlagFilter.html @@ -0,0 +1,374 @@ + + + + + +MemberProcessingFlagFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberProcessingFlagFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MemberProcessingFlagFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberProcessingFlagFilter
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor delegates its visits to another given MemberVisitor, but only + when the visited member has the proper processing flags.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MemberProcessingFlagFilter

        +
        public MemberProcessingFlagFilter​(int requiredSetProcessingFlags,
        +                                  int requiredUnsetProcessingFlags,
        +                                  MemberVisitor acceptedMemberVisitor)
        +
        Creates a new MemberProcessingFlagFilter.
        +
        +
        Parameters:
        +
        requiredSetProcessingFlags - the member processing flags that should be set.
        +
        requiredUnsetProcessingFlags - the member processing flags that should be unset.
        +
        acceptedMemberVisitor - the MemberVisitor to which visits of members with the + proper processing flags will be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        MemberProcessingFlagFilter

        +
        public MemberProcessingFlagFilter​(int requiredSetProcessingFlags,
        +                                  int requiredUnsetProcessingFlags,
        +                                  MemberVisitor acceptedMemberVisitor,
        +                                  MemberVisitor rejectedMemberVisitor)
        +
        Creates a new MemberProcessingFlagFilter.
        +
        +
        Parameters:
        +
        requiredSetProcessingFlags - the member processing flags that should be set.
        +
        requiredUnsetProcessingFlags - the member processing flags that should be unset.
        +
        acceptedMemberVisitor - the MemberVisitor to which visits of members with the + proper processing flags will be delegated.
        +
        rejectedMemberVisitor - the MemberVisitor to which all other visits will be + delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyMember

        +
        public void visitAnyMember​(Clazz clazz,
        +                           Member member)
        +
        Description copied from interface: MemberVisitor
        +
        Visits any Member instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyMember in interface MemberVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberToClassVisitor.html b/api/proguard/classfile/visitor/MemberToClassVisitor.html new file mode 100644 index 000000000..79855aece --- /dev/null +++ b/api/proguard/classfile/visitor/MemberToClassVisitor.html @@ -0,0 +1,384 @@ + + + + + +MemberToClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MemberToClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MemberToClassVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MemberToClassVisitor
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor delegates all visits to a given ClassVisitor. The latter + visits the class of each visited class member.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MemberVisitor.html b/api/proguard/classfile/visitor/MemberVisitor.html new file mode 100644 index 000000000..b26d7a17e --- /dev/null +++ b/api/proguard/classfile/visitor/MemberVisitor.html @@ -0,0 +1,359 @@ + + + + + +MemberVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface MemberVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyMember

        +
        default void visitAnyMember​(Clazz clazz,
        +                            Member member)
        +
        Visits any Member instance. The more specific default implementations of this interface + delegate to this method.
        +
      • +
      + + + + + + + +
        +
      • +

        visitProgramField

        +
        default void visitProgramField​(ProgramClass programClass,
        +                               ProgramField programField)
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        visitLibraryField

        +
        default void visitLibraryField​(LibraryClass libraryClass,
        +                               LibraryField libraryField)
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/visitor/MethodCollector.html b/api/proguard/classfile/visitor/MethodCollector.html new file mode 100644 index 000000000..407371517 --- /dev/null +++ b/api/proguard/classfile/visitor/MethodCollector.html @@ -0,0 +1,350 @@ + + + + + +MethodCollector (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodCollector

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MethodCollector
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MethodCollector
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor collects the methods that it visits in the given collection.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodCollector

        +
        public MethodCollector​(java.util.Collection<Method> collection)
        +
        Creates a new MethodCollector.
        +
        +
        Parameters:
        +
        collection - the Collection in which all methods will be collected.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MethodCounter.html b/api/proguard/classfile/visitor/MethodCounter.html new file mode 100644 index 000000000..cef75870e --- /dev/null +++ b/api/proguard/classfile/visitor/MethodCounter.html @@ -0,0 +1,370 @@ + + + + + +MethodCounter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodCounter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MethodCounter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodCounter

        +
        public MethodCounter()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getCount

        +
        public int getCount()
        +
        Description copied from interface: Counter
        +
        Returns the current value of the counter.
        +
        +
        Specified by:
        +
        getCount in interface Counter
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyMember

        +
        public void visitAnyMember​(Clazz clazz,
        +                           Member member)
        +
        Description copied from interface: MemberVisitor
        +
        Visits any Member instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyMember in interface MemberVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MethodFilter.html b/api/proguard/classfile/visitor/MethodFilter.html new file mode 100644 index 000000000..5bd7aeac4 --- /dev/null +++ b/api/proguard/classfile/visitor/MethodFilter.html @@ -0,0 +1,414 @@ + + + + + +MethodFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MethodFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MethodFilter
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor delegates its visits to one of two other given MemberVisitor + instances, depending on whether the visited method is a method or a field.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MethodImplementationFilter.html b/api/proguard/classfile/visitor/MethodImplementationFilter.html new file mode 100644 index 000000000..682338080 --- /dev/null +++ b/api/proguard/classfile/visitor/MethodImplementationFilter.html @@ -0,0 +1,354 @@ + + + + + +MethodImplementationFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodImplementationFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MethodImplementationFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MethodImplementationTraveler.html b/api/proguard/classfile/visitor/MethodImplementationTraveler.html new file mode 100644 index 000000000..0b0429375 --- /dev/null +++ b/api/proguard/classfile/visitor/MethodImplementationTraveler.html @@ -0,0 +1,363 @@ + + + + + +MethodImplementationTraveler (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodImplementationTraveler

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MethodImplementationTraveler
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class MethodImplementationTraveler
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor lets a given MemberVisitor travel to all concrete and abstract + implementations of the visited methods in their class hierarchies.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodImplementationTraveler

        +
        public MethodImplementationTraveler​(boolean visitThisMethod,
        +                                    boolean visitSuperMethods,
        +                                    boolean visitInterfaceMethods,
        +                                    boolean visitOverridingMethods,
        +                                    MemberVisitor memberVisitor)
        +
        Creates a new MethodImplementationTraveler.
        +
        +
        Parameters:
        +
        visitThisMethod - specifies whether to visit the originally visited methods.
        +
        visitSuperMethods - specifies whether to visit the method in the super classes.
        +
        visitInterfaceMethods - specifies whether to visit the method in the interface classes.
        +
        visitOverridingMethods - specifies whether to visit the method in the subclasses.
        +
        memberVisitor - the MemberVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MultiClassPoolVisitor.html b/api/proguard/classfile/visitor/MultiClassPoolVisitor.html new file mode 100644 index 000000000..824af7494 --- /dev/null +++ b/api/proguard/classfile/visitor/MultiClassPoolVisitor.html @@ -0,0 +1,355 @@ + + + + + +MultiClassPoolVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiClassPoolVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MultiClassPoolVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MultiClassPoolVisitor

        +
        public MultiClassPoolVisitor()
        +
      • +
      + + + +
        +
      • +

        MultiClassPoolVisitor

        +
        public MultiClassPoolVisitor​(ClassPoolVisitor... classPoolVisitors)
        +
      • +
      + + + +
        +
      • +

        MultiClassPoolVisitor

        +
        public MultiClassPoolVisitor​(java.util.ArrayList<ClassPoolVisitor> classPoolVisitors)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MultiClassVisitor.html b/api/proguard/classfile/visitor/MultiClassVisitor.html new file mode 100644 index 000000000..8e0561ee5 --- /dev/null +++ b/api/proguard/classfile/visitor/MultiClassVisitor.html @@ -0,0 +1,353 @@ + + + + + +MultiClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MultiClassVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MultiClassVisitor

        +
        public MultiClassVisitor()
        +
      • +
      + + + +
        +
      • +

        MultiClassVisitor

        +
        public MultiClassVisitor​(ClassVisitor... classVisitors)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addClassVisitor

        +
        public void addClassVisitor​(ClassVisitor classVisitor)
        +
      • +
      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MultiConstantVisitor.html b/api/proguard/classfile/visitor/MultiConstantVisitor.html new file mode 100644 index 000000000..7a9aceadb --- /dev/null +++ b/api/proguard/classfile/visitor/MultiConstantVisitor.html @@ -0,0 +1,356 @@ + + + + + +MultiConstantVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiConstantVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MultiConstantVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MultiConstantVisitor

        +
        public MultiConstantVisitor()
        +
      • +
      + + + +
        +
      • +

        MultiConstantVisitor

        +
        public MultiConstantVisitor​(ConstantVisitor... constantVisitors)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addClassVisitor

        +
        public void addClassVisitor​(ConstantVisitor constantVisitor)
        +
      • +
      + + + +
        +
      • +

        visitAnyConstant

        +
        public void visitAnyConstant​(Clazz clazz,
        +                             Constant constant)
        +
        Description copied from interface: ConstantVisitor
        +
        Visits any Constant instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyConstant in interface ConstantVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/MultiMemberVisitor.html b/api/proguard/classfile/visitor/MultiMemberVisitor.html new file mode 100644 index 000000000..42ba5a4d4 --- /dev/null +++ b/api/proguard/classfile/visitor/MultiMemberVisitor.html @@ -0,0 +1,410 @@ + + + + + +MultiMemberVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiMemberVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.MultiMemberVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/NamedClassVisitor.html b/api/proguard/classfile/visitor/NamedClassVisitor.html new file mode 100644 index 000000000..bc211382d --- /dev/null +++ b/api/proguard/classfile/visitor/NamedClassVisitor.html @@ -0,0 +1,317 @@ + + + + + +NamedClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NamedClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.NamedClassVisitor
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      NamedClassVisitor​(ClassVisitor classVisitor, + java.lang.String name) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidvisitClassPool​(ClassPool classPool) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NamedClassVisitor

        +
        public NamedClassVisitor​(ClassVisitor classVisitor,
        +                         java.lang.String name)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/NamedFieldVisitor.html b/api/proguard/classfile/visitor/NamedFieldVisitor.html new file mode 100644 index 000000000..37465c378 --- /dev/null +++ b/api/proguard/classfile/visitor/NamedFieldVisitor.html @@ -0,0 +1,331 @@ + + + + + +NamedFieldVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NamedFieldVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.NamedFieldVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class NamedFieldVisitor
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This class visits ProgramMember instances referring to fields, identified by a name and + descriptor pair.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NamedFieldVisitor

        +
        public NamedFieldVisitor​(java.lang.String name,
        +                         java.lang.String descriptor,
        +                         MemberVisitor memberVisitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/NamedMethodVisitor.html b/api/proguard/classfile/visitor/NamedMethodVisitor.html new file mode 100644 index 000000000..35b8d2e43 --- /dev/null +++ b/api/proguard/classfile/visitor/NamedMethodVisitor.html @@ -0,0 +1,331 @@ + + + + + +NamedMethodVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NamedMethodVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.NamedMethodVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class NamedMethodVisitor
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This class visits ProgramMember instances referring to methods, identified by a name and + descriptor pair.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NamedMethodVisitor

        +
        public NamedMethodVisitor​(java.lang.String name,
        +                          java.lang.String descriptor,
        +                          MemberVisitor memberVisitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ParallelAllClassVisitor.ClassVisitorFactory.html b/api/proguard/classfile/visitor/ParallelAllClassVisitor.ClassVisitorFactory.html new file mode 100644 index 000000000..7f520f394 --- /dev/null +++ b/api/proguard/classfile/visitor/ParallelAllClassVisitor.ClassVisitorFactory.html @@ -0,0 +1,256 @@ + + + + + +ParallelAllClassVisitor.ClassVisitorFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ParallelAllClassVisitor.ClassVisitorFactory

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createClassVisitor

        +
        ClassVisitor createClassVisitor()
        +
        Creates a ClassVisitor that will be used during parallel visiting of classes in a ClassPool.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/visitor/ParallelAllClassVisitor.html b/api/proguard/classfile/visitor/ParallelAllClassVisitor.html new file mode 100644 index 000000000..76bdf699f --- /dev/null +++ b/api/proguard/classfile/visitor/ParallelAllClassVisitor.html @@ -0,0 +1,354 @@ + + + + + +ParallelAllClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ParallelAllClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ParallelAllClassVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassPoolVisitor
    +
    +
    +
    public class ParallelAllClassVisitor
    +extends java.lang.Object
    +implements ClassPoolVisitor
    +
    This ClassPoolVisitor will visit all Clazz instances of the class pool in a parallel way. + For each thread, a separate ClassVisitor will be created using ParallelAllClassVisitor.ClassVisitorFactory.createClassVisitor(). + +

    The number of parallel threads is coupled to the number of available processors: + +

    +     parallel_threads = Runtime.getRuntime().availableProcessors() - 1;
    + 
    + +

    It is possible to override the number of threads by setting the environment variable + parallel.threads to an integer > 0.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ParallelAllClassVisitor

        +
        public ParallelAllClassVisitor​(ParallelAllClassVisitor.ClassVisitorFactory classVisitorFactory)
        +
        Create a new ParallelAllClassVisitor that will use the given factory to visit all classes in a + ClassPool in a parallel way.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ParameterVisitor.html b/api/proguard/classfile/visitor/ParameterVisitor.html new file mode 100644 index 000000000..510686d21 --- /dev/null +++ b/api/proguard/classfile/visitor/ParameterVisitor.html @@ -0,0 +1,285 @@ + + + + + +ParameterVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ParameterVisitor

+
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      voidvisitParameter​(Clazz clazz, + Member member, + int parameterIndex, + int parameterCount, + int parameterOffset, + int parameterSize, + java.lang.String parameterType, + Clazz referencedClass) +
      Visits the given parameter.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitParameter

        +
        void visitParameter​(Clazz clazz,
        +                    Member member,
        +                    int parameterIndex,
        +                    int parameterCount,
        +                    int parameterOffset,
        +                    int parameterSize,
        +                    java.lang.String parameterType,
        +                    Clazz referencedClass)
        +
        Visits the given parameter.
        +
        +
        Parameters:
        +
        clazz - the class of the method.
        +
        member - the field or method of the parameter.
        +
        parameterIndex - the index of the parameter.
        +
        parameterCount - the total number of parameters.
        +
        parameterOffset - the offset of the parameter, accounting for longs and doubles taking up + two entries.
        +
        parameterSize - the total size of the parameters, accounting for longs and doubles taking + up two entries.
        +
        parameterType - the parameter type.
        +
        referencedClass - the class contained in the parameter type, if any.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/classfile/visitor/ProcessingInfoSetter.html b/api/proguard/classfile/visitor/ProcessingInfoSetter.html new file mode 100644 index 000000000..a4b1e6659 --- /dev/null +++ b/api/proguard/classfile/visitor/ProcessingInfoSetter.html @@ -0,0 +1,713 @@ + + + + + +ProcessingInfoSetter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProcessingInfoSetter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ProcessingInfoSetter
    • +
    +
  • +
+ +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ProgramClassFilter.html b/api/proguard/classfile/visitor/ProgramClassFilter.html new file mode 100644 index 000000000..144d8d396 --- /dev/null +++ b/api/proguard/classfile/visitor/ProgramClassFilter.html @@ -0,0 +1,352 @@ + + + + + +ProgramClassFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProgramClassFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ProgramClassFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class ProgramClassFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates its visits to another given ClassVisitor, but only + when visiting program classes.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ProgramClassFilter

        +
        public ProgramClassFilter​(ClassVisitor classVisitor)
        +
        Creates a new ProgramClassFilter.
        +
        +
        Parameters:
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ProgramMemberFilter.html b/api/proguard/classfile/visitor/ProgramMemberFilter.html new file mode 100644 index 000000000..c10246231 --- /dev/null +++ b/api/proguard/classfile/visitor/ProgramMemberFilter.html @@ -0,0 +1,391 @@ + + + + + +ProgramMemberFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProgramMemberFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ProgramMemberFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class ProgramMemberFilter
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor delegates its visits to another given MemberVisitor, but only + when visiting members of program classes.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ReferencedClassVisitor.KotlinReferencedClassVisitor.html b/api/proguard/classfile/visitor/ReferencedClassVisitor.KotlinReferencedClassVisitor.html new file mode 100644 index 000000000..101a6e4eb --- /dev/null +++ b/api/proguard/classfile/visitor/ReferencedClassVisitor.KotlinReferencedClassVisitor.html @@ -0,0 +1,756 @@ + + + + + +ReferencedClassVisitor.KotlinReferencedClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReferencedClassVisitor.KotlinReferencedClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ReferencedClassVisitor.KotlinReferencedClassVisitor
    • +
    +
  • +
+ +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ReferencedClassVisitor.html b/api/proguard/classfile/visitor/ReferencedClassVisitor.html new file mode 100644 index 000000000..0f4aa8acd --- /dev/null +++ b/api/proguard/classfile/visitor/ReferencedClassVisitor.html @@ -0,0 +1,1001 @@ + + + + + +ReferencedClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReferencedClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ReferencedClassVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ReferencedClassesExtractor.html b/api/proguard/classfile/visitor/ReferencedClassesExtractor.html new file mode 100644 index 000000000..733122ae6 --- /dev/null +++ b/api/proguard/classfile/visitor/ReferencedClassesExtractor.html @@ -0,0 +1,418 @@ + + + + + +ReferencedClassesExtractor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReferencedClassesExtractor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ReferencedClassesExtractor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class ReferencedClassesExtractor
    +extends java.lang.Object
    +implements MemberVisitor
    +
    Divides the referenced classes in a program/library method in the classes referenced in return + and parameters.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ReferencedClassesExtractor

        +
        public ReferencedClassesExtractor()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyMember

        +
        public void visitAnyMember​(Clazz clazz,
        +                           Member member)
        +
        Description copied from interface: MemberVisitor
        +
        Visits any Member instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyMember in interface MemberVisitor
        +
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        getReturnClass

        +
        @Nullable
        +public @Nullable Clazz getReturnClass()
        +
        Returns the referenced return Clazz of the target method.
        +
        +
        Returns:
        +
        The instance referenced class. Null if the return type is a primitive or array of + primitives. Can be null if the class pools have not been initialized; even if they have, + the clazz not being null is not a guarantee.
        +
        +
      • +
      + + + +
        +
      • +

        getParameterClasses

        +
        public Clazz[] getParameterClasses()
        +
        Returns the referenced Clazz for each parameter.
        +
        +
        Returns:
        +
        The referenced class for each parameter (instance excluded), where each parameter can + be accessed given its position (starting from 0, category 2 values take only one slot). An + element is null if the corresponding parameter is of a primitive type or an array of + primitives. An element can be null if the class pools have not been initialized; even if + they have, elements not being null is not a guarantee
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/ReferencedMemberVisitor.html b/api/proguard/classfile/visitor/ReferencedMemberVisitor.html new file mode 100644 index 000000000..9cd02d4ad --- /dev/null +++ b/api/proguard/classfile/visitor/ReferencedMemberVisitor.html @@ -0,0 +1,450 @@ + + + + + +ReferencedMemberVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReferencedMemberVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ReferencedMemberVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/SignatureAdapter.html b/api/proguard/classfile/visitor/SignatureAdapter.html new file mode 100644 index 000000000..80e528e4a --- /dev/null +++ b/api/proguard/classfile/visitor/SignatureAdapter.html @@ -0,0 +1,328 @@ + + + + + +SignatureAdapter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SignatureAdapter<T extends Signature>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.SignatureAdapter<T>
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SignatureAdapter

        +
        public SignatureAdapter​(java.util.function.Consumer<T> consumer)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyMember

        +
        public void visitAnyMember​(Clazz clazz,
        +                           Member member)
        +
        Description copied from interface: MemberVisitor
        +
        Visits any Member instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyMember in interface MemberVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/SignatureAttributeReferencedClassVisitor.html b/api/proguard/classfile/visitor/SignatureAttributeReferencedClassVisitor.html new file mode 100644 index 000000000..61ff92a5b --- /dev/null +++ b/api/proguard/classfile/visitor/SignatureAttributeReferencedClassVisitor.html @@ -0,0 +1,349 @@ + + + + + +SignatureAttributeReferencedClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SignatureAttributeReferencedClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.SignatureAttributeReferencedClassVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class SignatureAttributeReferencedClassVisitor
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor lets a given ClassVisitor visit all the classes referenced + by the type descriptors of the signatures that it visits.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/SimilarMemberVisitor.html b/api/proguard/classfile/visitor/SimilarMemberVisitor.html new file mode 100644 index 000000000..ad85bf7dc --- /dev/null +++ b/api/proguard/classfile/visitor/SimilarMemberVisitor.html @@ -0,0 +1,446 @@ + + + + + +SimilarMemberVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SimilarMemberVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.SimilarMemberVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    MemberVisitor
    +
    +
    +
    public class SimilarMemberVisitor
    +extends java.lang.Object
    +implements MemberVisitor
    +
    This MemberVisitor lets a given MemberVisitor visit all members that have the + same name and type as the visited methods in the class hierarchy of the members' classes or of a + given target class.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SimilarMemberVisitor

        +
        public SimilarMemberVisitor​(boolean visitThisMember,
        +                            boolean visitSuperMembers,
        +                            boolean visitInterfaceMembers,
        +                            boolean visitOverridingMembers,
        +                            MemberVisitor memberVisitor)
        +
        Creates a new SimilarMemberVisitor.
        +
        +
        Parameters:
        +
        visitThisMember - specifies whether to visit the class members in the members' classes + themselves.
        +
        visitSuperMembers - specifies whether to visit the class members in the super classes of + the members' classes.
        +
        visitInterfaceMembers - specifies whether to visit the class members in the interface + classes of the members' classes.
        +
        visitOverridingMembers - specifies whether to visit the class members in the subclasses of + the members' classes.
        +
        memberVisitor - the MemberVisitor to which visits will be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        SimilarMemberVisitor

        +
        public SimilarMemberVisitor​(Clazz targetClass,
        +                            boolean visitThisMember,
        +                            boolean visitSuperMembers,
        +                            boolean visitInterfaceMembers,
        +                            boolean visitOverridingMembers,
        +                            MemberVisitor memberVisitor)
        +
        Creates a new SimilarMemberVisitor.
        +
        +
        Parameters:
        +
        targetClass - the class in whose hierarchy to look for the visited class members.
        +
        visitThisMember - specifies whether to visit the class members in the target class itself.
        +
        visitSuperMembers - specifies whether to visit the class members in the super classes of + the target class.
        +
        visitInterfaceMembers - specifies whether to visit the class members in the interface + classes of the target class.
        +
        visitOverridingMembers - specifies whether to visit the class members in the subclasses of + the target class.
        +
        memberVisitor - the MemberVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/SimpleClassPrinter.html b/api/proguard/classfile/visitor/SimpleClassPrinter.html new file mode 100644 index 000000000..d18b5e0e2 --- /dev/null +++ b/api/proguard/classfile/visitor/SimpleClassPrinter.html @@ -0,0 +1,440 @@ + + + + + +SimpleClassPrinter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SimpleClassPrinter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.SimpleClassPrinter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor, MemberVisitor
    +
    +
    +
    public class SimpleClassPrinter
    +extends java.lang.Object
    +implements ClassVisitor, MemberVisitor
    +
    This ClassVisitor and MemberVisitor prints out the class names of the classes it + visits, and the full class member descriptions of the class members it visits. The names are + printed in a readable, Java-like format. The access modifiers can be included or not.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SimpleClassPrinter

        +
        public SimpleClassPrinter​(boolean printAccessModifiers)
        +
        Creates a new SimpleClassPrinter that prints to the standard output, with or without the access + modifiers.
        +
      • +
      + + + +
        +
      • +

        SimpleClassPrinter

        +
        public SimpleClassPrinter​(boolean printAccessModifiers,
        +                          java.io.PrintWriter printWriter)
        +
        Creates a new SimpleClassPrinter that prints to the given writer, with or without the access + modifiers.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/SingleTimeClassVisitor.html b/api/proguard/classfile/visitor/SingleTimeClassVisitor.html new file mode 100644 index 000000000..63bf2eb17 --- /dev/null +++ b/api/proguard/classfile/visitor/SingleTimeClassVisitor.html @@ -0,0 +1,327 @@ + + + + + +SingleTimeClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SingleTimeClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.SingleTimeClassVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class SingleTimeClassVisitor
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates all visits to a given ClassVisitor, although only + once to the same class in a row.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SingleTimeClassVisitor

        +
        public SingleTimeClassVisitor​(ClassVisitor classVisitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/SubclassFilter.html b/api/proguard/classfile/visitor/SubclassFilter.html new file mode 100644 index 000000000..379687dfb --- /dev/null +++ b/api/proguard/classfile/visitor/SubclassFilter.html @@ -0,0 +1,366 @@ + + + + + +SubclassFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SubclassFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.SubclassFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class SubclassFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates its visits to another given ClassVisitor, except for + classes that have a given class as direct subclass.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SubclassFilter

        +
        public SubclassFilter​(Clazz subclass,
        +                      ClassVisitor classVisitor)
        +
        Creates a new SubclassFilter.
        +
        +
        Parameters:
        +
        subclass - the class whose superclasses will not be visited.
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/SubclassTraveler.html b/api/proguard/classfile/visitor/SubclassTraveler.html new file mode 100644 index 000000000..2a34b6b03 --- /dev/null +++ b/api/proguard/classfile/visitor/SubclassTraveler.html @@ -0,0 +1,334 @@ + + + + + +SubclassTraveler (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SubclassTraveler

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.SubclassTraveler
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SubclassTraveler

        +
        public SubclassTraveler​(ClassVisitor classVisitor)
        +
        Creates a new ClassHierarchyTraveler.
        +
        +
        Parameters:
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/UniqueClassFilter.html b/api/proguard/classfile/visitor/UniqueClassFilter.html new file mode 100644 index 000000000..f175f1abe --- /dev/null +++ b/api/proguard/classfile/visitor/UniqueClassFilter.html @@ -0,0 +1,334 @@ + + + + + +UniqueClassFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UniqueClassFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.UniqueClassFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class UniqueClassFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates its visits to another given ClassVisitor, + but at most a single time.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UniqueClassFilter

        +
        public UniqueClassFilter​(ClassVisitor classVisitor)
        +
        Creates a new UniqueClassFilter.
        +
        +
        Parameters:
        +
        classVisitor - the ClassVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/VariableClassVisitor.html b/api/proguard/classfile/visitor/VariableClassVisitor.html new file mode 100644 index 000000000..81bc36fb1 --- /dev/null +++ b/api/proguard/classfile/visitor/VariableClassVisitor.html @@ -0,0 +1,368 @@ + + + + + +VariableClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VariableClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.VariableClassVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class VariableClassVisitor
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates all method calls to a ClassVisitor that can be + changed at any time.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        VariableClassVisitor

        +
        public VariableClassVisitor()
        +
      • +
      + + + +
        +
      • +

        VariableClassVisitor

        +
        public VariableClassVisitor​(ClassVisitor classVisitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setClassVisitor

        +
        public void setClassVisitor​(ClassVisitor classVisitor)
        +
      • +
      + + + +
        +
      • +

        getClassVisitor

        +
        public ClassVisitor getClassVisitor()
        +
      • +
      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/VariableMemberVisitor.html b/api/proguard/classfile/visitor/VariableMemberVisitor.html new file mode 100644 index 000000000..2517cb27a --- /dev/null +++ b/api/proguard/classfile/visitor/VariableMemberVisitor.html @@ -0,0 +1,425 @@ + + + + + +VariableMemberVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VariableMemberVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.VariableMemberVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/classfile/visitor/package-summary.html b/api/proguard/classfile/visitor/package-summary.html new file mode 100644 index 000000000..9d9dca27a --- /dev/null +++ b/api/proguard/classfile/visitor/package-summary.html @@ -0,0 +1,804 @@ + + + + + +proguard.classfile.visitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.classfile.visitor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/classfile/visitor/package-tree.html b/api/proguard/classfile/visitor/package-tree.html new file mode 100644 index 000000000..75b5c8fe7 --- /dev/null +++ b/api/proguard/classfile/visitor/package-tree.html @@ -0,0 +1,259 @@ + + + + + +proguard.classfile.visitor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.classfile.visitor

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/dexfile/AndroidConstants.html b/api/proguard/dexfile/AndroidConstants.html new file mode 100644 index 000000000..a3b9bc3af --- /dev/null +++ b/api/proguard/dexfile/AndroidConstants.html @@ -0,0 +1,2689 @@ + + + + + +AndroidConstants (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AndroidConstants

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.AndroidConstants
    • +
    +
  • +
+
+
    +
  • +
    +
    public class AndroidConstants
    +extends java.lang.Object
    +
    Android-related constants.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        ANDROID_TIRAMISU

        +
        public static final int ANDROID_TIRAMISU
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANDROID_UPSIDE_DOWN_CAKE

        +
        public static final int ANDROID_UPSIDE_DOWN_CAKE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ZIP_META_INF_EXPRESSION

        +
        public static final java.lang.String ZIP_META_INF_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        APK_FILE_EXTENSION

        +
        public static final java.lang.String APK_FILE_EXTENSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANDROID_MANIFEST_XML

        +
        public static final java.lang.String ANDROID_MANIFEST_XML
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RESOURCES_ARSC

        +
        public static final java.lang.String RESOURCES_ARSC
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASSES_PREFIX

        +
        public static final java.lang.String CLASSES_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        DEX_FILE_EXTENSION

        +
        public static final java.lang.String DEX_FILE_EXTENSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASSES_DEX

        +
        public static final java.lang.String CLASSES_DEX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        APK_ASSETS_PREFIX

        +
        public static final java.lang.String APK_ASSETS_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        APK_RES_PREFIX

        +
        public static final java.lang.String APK_RES_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        APK_LIB_PREFIX

        +
        public static final java.lang.String APK_LIB_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        APK_CLASSES_DEX_EXPRESSION

        +
        public static final java.lang.String APK_CLASSES_DEX_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        APK_ASSETS_FILE_EXPRESSION

        +
        public static final java.lang.String APK_ASSETS_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        APK_ASSETS_DEX_FILE_EXPRESSION

        +
        public static final java.lang.String APK_ASSETS_DEX_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        APK_RES_FILE_EXPRESSION

        +
        public static final java.lang.String APK_RES_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        APK_RES_XML_FILE_EXPRESSION

        +
        public static final java.lang.String APK_RES_XML_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        APK_LIB_FILE_EXPRESSION

        +
        public static final java.lang.String APK_LIB_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        APK_DYLIB_FILE_EXPRESSION

        +
        public static final java.lang.String APK_DYLIB_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        APK_XML_FILE_EXPRESSION

        +
        public static final java.lang.String APK_XML_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        SERVICE_PROVIDER_EXPRESSION

        +
        public static final java.lang.String SERVICE_PROVIDER_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        OBB_FILE_EXTENSION

        +
        public static final java.lang.String OBB_FILE_EXTENSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_FILE_EXTENSION

        +
        public static final java.lang.String AAB_FILE_EXTENSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RESOURCES_PB

        +
        public static final java.lang.String RESOURCES_PB
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        BUNDLE_CONFIG_PB

        +
        public static final java.lang.String BUNDLE_CONFIG_PB
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        PROGUARD_MAP

        +
        public static final java.lang.String PROGUARD_MAP
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        AAB_BASE_PREFIX

        +
        public static final java.lang.String AAB_BASE_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        AAB_ROOT_PREFIX

        +
        public static final java.lang.String AAB_ROOT_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_BASE_MANIFEST_PREFIX

        +
        public static final java.lang.String AAB_BASE_MANIFEST_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_BASE_RES_PREFIX

        +
        public static final java.lang.String AAB_BASE_RES_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_BASE_DEX_PREFIX

        +
        public static final java.lang.String AAB_BASE_DEX_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_BASE_ROOT_PREFIX

        +
        public static final java.lang.String AAB_BASE_ROOT_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_METADATA_PREFIX

        +
        public static final java.lang.String AAB_METADATA_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_OBFUSCATION_PREFIX

        +
        public static final java.lang.String AAB_OBFUSCATION_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_BUNDLETOOL_PREFIX

        +
        public static final java.lang.String AAB_BUNDLETOOL_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        MAIN_DEX_LIST_TXT

        +
        public static final java.lang.String MAIN_DEX_LIST_TXT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_ANDROID_MANIFEST_XML_SUFFIX

        +
        public static final java.lang.String AAB_ANDROID_MANIFEST_XML_SUFFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_RESOURCES_PB_SUFFIX

        +
        public static final java.lang.String AAB_RESOURCES_PB_SUFFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_RESOURCES_ARSC_SUFFIX

        +
        public static final java.lang.String AAB_RESOURCES_ARSC_SUFFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_MANIFEST_INFIX

        +
        public static final java.lang.String AAB_MANIFEST_INFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_DEX_INFIX

        +
        public static final java.lang.String AAB_DEX_INFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_ROOT_INFIX

        +
        public static final java.lang.String AAB_ROOT_INFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_BUNDLE_METADATA_EXPRESSION

        +
        public static final java.lang.String AAB_BUNDLE_METADATA_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_ANDROID_MANIFEST_XML_EXPRESSION

        +
        public static final java.lang.String AAB_ANDROID_MANIFEST_XML_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_RESOURCES_PB_EXPRESSION

        +
        public static final java.lang.String AAB_RESOURCES_PB_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_ASSETS_PB_EXPRESSION

        +
        public static final java.lang.String AAB_ASSETS_PB_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_NATIVE_PB_EXPRESSION

        +
        public static final java.lang.String AAB_NATIVE_PB_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_RESOURCES_ARSC_EXPRESSION

        +
        public static final java.lang.String AAB_RESOURCES_ARSC_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_CLASSES_DEX_EXPRESSION

        +
        public static final java.lang.String AAB_CLASSES_DEX_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_ASSETS_FILE_EXPRESSION

        +
        public static final java.lang.String AAB_ASSETS_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_ASSETS_DEX_FILE_EXPRESSION

        +
        public static final java.lang.String AAB_ASSETS_DEX_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_RES_FILE_EXPRESSION

        +
        public static final java.lang.String AAB_RES_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_RES_XML_FILE_EXPRESSION

        +
        public static final java.lang.String AAB_RES_XML_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_LIB_FILE_EXPRESSION

        +
        public static final java.lang.String AAB_LIB_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_DYLIB_FILE_EXPRESSION

        +
        public static final java.lang.String AAB_DYLIB_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_RESOURCES_EXPRESSION

        +
        public static final java.lang.String AAB_RESOURCES_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAB_XML_FILE_EXPRESSION

        +
        public static final java.lang.String AAB_XML_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        FEATURE_ZIP_CLASSES_DEX_EXPRESSION

        +
        public static final java.lang.String FEATURE_ZIP_CLASSES_DEX_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAR_FILE_EXTENSION

        +
        public static final java.lang.String AAR_FILE_EXTENSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAR_JNI_PREFIX

        +
        public static final java.lang.String AAR_JNI_PREFIX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAR_JNI_FILE_EXPRESSION

        +
        public static final java.lang.String AAR_JNI_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        AAR_JNI_DYFILE_EXPRESSION

        +
        public static final java.lang.String AAR_JNI_DYFILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        AAR_RESOURCE_FILES_ALLOW_SHRINKING

        +
        public static final java.lang.String AAR_RESOURCE_FILES_ALLOW_SHRINKING
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ARSC_EXPRESSION

        +
        public static final java.lang.String ARSC_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        DEX_EXPRESSION

        +
        public static final java.lang.String DEX_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANDROID_MANIFEST_XML_EXPRESSION

        +
        public static final java.lang.String ANDROID_MANIFEST_XML_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        BASE_ANDROID_MANIFEST_XML_EXPRESSION

        +
        public static final java.lang.String BASE_ANDROID_MANIFEST_XML_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RESOURCES_PB_EXPRESSION

        +
        public static final java.lang.String RESOURCES_PB_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RESOURCES_EXPRESSION

        +
        public static final java.lang.String RESOURCES_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ROOT_RESOURCES_EXPRESSION

        +
        public static final java.lang.String ROOT_RESOURCES_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        BASE_RESOURCES_EXPRESSION

        +
        public static final java.lang.String BASE_RESOURCES_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASSES_DEX_EXPRESSION

        +
        public static final java.lang.String CLASSES_DEX_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ASSETS_FILE_EXPRESSION

        +
        public static final java.lang.String ASSETS_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ASSETS_DEX_FILE_EXPRESSION

        +
        public static final java.lang.String ASSETS_DEX_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RES_FILE_EXPRESSION

        +
        public static final java.lang.String RES_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RES_XML_FILE_EXPRESSION

        +
        public static final java.lang.String RES_XML_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        LIB_FILE_EXPRESSION

        +
        public static final java.lang.String LIB_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        APK_AAR_LIB_FILE_EXPRESSION

        +
        public static final java.lang.String APK_AAR_LIB_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        LIB_DYFILE_EXPRESSION

        +
        public static final java.lang.String LIB_DYFILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        XML_FILE_EXPRESSION

        +
        public static final java.lang.String XML_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        META_INF_SIGNING_INFO

        +
        public static final java.lang.String META_INF_SIGNING_INFO
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        BUNDLE_METADATA_EXPRESSION

        +
        public static final java.lang.String BUNDLE_METADATA_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        RES_DRAWABLE

        +
        public static final java.lang.String RES_DRAWABLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        RES_NAVIGATION

        +
        public static final java.lang.String RES_NAVIGATION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RES_LAYOUT

        +
        public static final java.lang.String RES_LAYOUT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        RES_TRANSITION

        +
        public static final java.lang.String RES_TRANSITION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RES_DRAWABLE_XML

        +
        public static final java.lang.String RES_DRAWABLE_XML
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RES_LAYOUT_XML

        +
        public static final java.lang.String RES_LAYOUT_XML
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RES_MENU_XML

        +
        public static final java.lang.String RES_MENU_XML
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RES_NAVIGATION_XML

        +
        public static final java.lang.String RES_NAVIGATION_XML
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        RES_TRANSITION_XML

        +
        public static final java.lang.String RES_TRANSITION_XML
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        STANDARD_NATIVE_LIBRARY_PATH

        +
        public static final java.lang.String STANDARD_NATIVE_LIBRARY_PATH
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ALL_LIB_FILE_EXPRESSION

        +
        public static final java.lang.String ALL_LIB_FILE_EXPRESSION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AndroidConstants

        +
        public AndroidConstants()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/converter/Dex2IRConverter.html b/api/proguard/dexfile/converter/Dex2IRConverter.html new file mode 100644 index 000000000..a767d725f --- /dev/null +++ b/api/proguard/dexfile/converter/Dex2IRConverter.html @@ -0,0 +1,308 @@ + + + + + +Dex2IRConverter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Dex2IRConverter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.converter.Dex2IRConverter
    • +
    +
  • +
+
+
    +
  • +
    +
    public class Dex2IRConverter
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Dex2IRConverter() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      IrMethodconvert​(boolean isStatic, + Method method, + DexCodeNode dexCodeNode) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Dex2IRConverter

        +
        public Dex2IRConverter()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/converter/Dex2Pro.html b/api/proguard/dexfile/converter/Dex2Pro.html new file mode 100644 index 000000000..c268ee1ee --- /dev/null +++ b/api/proguard/dexfile/converter/Dex2Pro.html @@ -0,0 +1,362 @@ + + + + + +Dex2Pro (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Dex2Pro

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.converter.Dex2Pro
    • +
    +
  • +
+
+
    +
  • +
    +
    public class Dex2Pro
    +extends java.lang.Object
    +
    This utility class converts Dex2jar dex files to ProGuard class files.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Dex2Pro() +
      Create a new (single-threaded) Dex2Pro object.
      +
      Dex2Pro​(int maximumThreads) +
      Create a new Dex2Pro object that will use up to maximumThreads threads for conversion.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidconvertDex​(DexFileNode fileNode, + ClassVisitor classVisitor) +
      Converts the given Dex to classes and applies the given class visitor to them.
      +
      voidshutdown​(int timeoutSeconds) +
      Shuts down and waits for any remaining conversion workers, up to timeoutSeconds.
      +
      Dex2ProusePrimitiveArrayConstants​(boolean usePrimitiveArrayConstants) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Dex2Pro

        +
        public Dex2Pro()
        +
        Create a new (single-threaded) Dex2Pro object.
        +
      • +
      + + + +
        +
      • +

        Dex2Pro

        +
        public Dex2Pro​(int maximumThreads)
        +
        Create a new Dex2Pro object that will use up to maximumThreads threads for conversion. + If more than one thread is set, one must call shutdown() after adding all work, to allow time + for the workers to shut down in an orderly fashion.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        usePrimitiveArrayConstants

        +
        public Dex2Pro usePrimitiveArrayConstants​(boolean usePrimitiveArrayConstants)
        +
      • +
      + + + +
        +
      • +

        convertDex

        +
        public void convertDex​(DexFileNode fileNode,
        +                       ClassVisitor classVisitor)
        +
        Converts the given Dex to classes and applies the given class visitor to them.
        +
      • +
      + + + +
        +
      • +

        shutdown

        +
        public void shutdown​(int timeoutSeconds)
        +
        Shuts down and waits for any remaining conversion workers, up to timeoutSeconds.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/converter/DexFix.html b/api/proguard/dexfile/converter/DexFix.html new file mode 100644 index 000000000..4cb7e245c --- /dev/null +++ b/api/proguard/dexfile/converter/DexFix.html @@ -0,0 +1,334 @@ + + + + + +DexFix (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexFix

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.converter.DexFix
    • +
    +
  • +
+
+
    +
  • +
    +
    public class DexFix
    +extends java.lang.Object
    +
    1. Dex omit the value of static-final filed if it is the default value. + +

    2. static-final field init by zero, but assigned in clinit + +

    this method is try to fix the problems.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DexFix() 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexFix

        +
        public DexFix()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        fixStaticFinalFieldValue

        +
        public static void fixStaticFinalFieldValue​(DexFileNode dex)
        +
      • +
      + + + +
        +
      • +

        fixStaticFinalFieldValue

        +
        public static void fixStaticFinalFieldValue​(DexClassNode classNode)
        +
        init value to default if the field is static and final, and the field is not init in clinit + method + +

        erase the default value if the field is init in clinit method

        +
        +
        Parameters:
        +
        classNode -
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/converter/IR2ProConverter.html b/api/proguard/dexfile/converter/IR2ProConverter.html new file mode 100644 index 000000000..cd07f2818 --- /dev/null +++ b/api/proguard/dexfile/converter/IR2ProConverter.html @@ -0,0 +1,367 @@ + + + + + +IR2ProConverter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IR2ProConverter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.converter.IR2ProConverter
    • +
    +
  • +
+
+
    +
  • +
    +
    public class IR2ProConverter
    +extends java.lang.Object
    +
    This utility class converts code in Dex2jar's intermediate representation to ProGuard code.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/converter/package-summary.html b/api/proguard/dexfile/converter/package-summary.html new file mode 100644 index 000000000..b5a1ea8fc --- /dev/null +++ b/api/proguard/dexfile/converter/package-summary.html @@ -0,0 +1,182 @@ + + + + + +proguard.dexfile.converter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.dexfile.converter

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    Dex2IRConverter 
    Dex2Pro +
    This utility class converts Dex2jar dex files to ProGuard class files.
    +
    DexFix +
    1.
    +
    IR2ProConverter +
    This utility class converts code in Dex2jar's intermediate representation to ProGuard code.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/dexfile/converter/package-tree.html b/api/proguard/dexfile/converter/package-tree.html new file mode 100644 index 000000000..421abd322 --- /dev/null +++ b/api/proguard/dexfile/converter/package-tree.html @@ -0,0 +1,164 @@ + + + + + +proguard.dexfile.converter Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.dexfile.converter

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/dexfile/ir/ET.html b/api/proguard/dexfile/ir/ET.html new file mode 100644 index 000000000..cee948dd7 --- /dev/null +++ b/api/proguard/dexfile/ir/ET.html @@ -0,0 +1,420 @@ + + + + + +ET (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum ET

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Enum<ET>
    • +
    • +
        +
      • proguard.dexfile.ir.ET
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<ET>
    +
    +
    +
    public enum ET
    +extends java.lang.Enum<ET>
    +
    The number of argument
    +
    +
    See Also:
    +
    Stmt, +Value
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Enum Constants 
      Enum ConstantDescription
      E0 +
      no argument
      +
      E1 +
      1 argument
      +
      E2 +
      2 argument
      +
      En +
      3+ argument
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static ETvalueOf​(java.lang.String name) +
      Returns the enum constant of this type with the specified name.
      +
      static ET[]values() +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Enum

        +clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Detail

      + + + +
        +
      • +

        E0

        +
        public static final ET E0
        +
        no argument
        +
      • +
      + + + +
        +
      • +

        E1

        +
        public static final ET E1
        +
        1 argument
        +
      • +
      + + + +
        +
      • +

        E2

        +
        public static final ET E2
        +
        2 argument
        +
      • +
      + + + +
        +
      • +

        En

        +
        public static final ET En
        +
        3+ argument
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static ET[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (ET c : ET.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static ET valueOf​(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/IrMethod.html b/api/proguard/dexfile/ir/IrMethod.html new file mode 100644 index 000000000..709d8fb5a --- /dev/null +++ b/api/proguard/dexfile/ir/IrMethod.html @@ -0,0 +1,494 @@ + + + + + +IrMethod (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IrMethod

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.IrMethod
    • +
    +
  • +
+
+
    +
  • +
    +
    public class IrMethod
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      IrMethod() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      IrMethodclone() 
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        isStatic

        +
        public boolean isStatic
        +
      • +
      + + + +
        +
      • +

        args

        +
        public java.lang.String[] args
        +
      • +
      + + + +
        +
      • +

        locals

        +
        public java.util.List<Local> locals
        +
      • +
      + + + +
        +
      • +

        name

        +
        public java.lang.String name
        +
      • +
      + + + +
        +
      • +

        owner

        +
        public java.lang.String owner
        +
      • +
      + + + +
        +
      • +

        ret

        +
        public java.lang.String ret
        +
      • +
      + + + + + + + +
        +
      • +

        traps

        +
        public java.util.List<Trap> traps
        +
      • +
      + + + +
        +
      • +

        vars

        +
        public java.util.List<LocalVar> vars
        +
      • +
      + + + +
        +
      • +

        phiLabels

        +
        public java.util.List<LabelStmt> phiLabels
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        IrMethod

        +
        public IrMethod()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        clone

        +
        public IrMethod clone()
        +
        +
        Overrides:
        +
        clone in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/LabelAndLocalMapper.html b/api/proguard/dexfile/ir/LabelAndLocalMapper.html new file mode 100644 index 000000000..a787d983b --- /dev/null +++ b/api/proguard/dexfile/ir/LabelAndLocalMapper.html @@ -0,0 +1,318 @@ + + + + + +LabelAndLocalMapper (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LabelAndLocalMapper

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.LabelAndLocalMapper
    • +
    +
  • +
+
+
    +
  • +
    +
    public class LabelAndLocalMapper
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LabelAndLocalMapper

        +
        public LabelAndLocalMapper()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/LocalVar.html b/api/proguard/dexfile/ir/LocalVar.html new file mode 100644 index 000000000..62ad7a2c5 --- /dev/null +++ b/api/proguard/dexfile/ir/LocalVar.html @@ -0,0 +1,444 @@ + + + + + +LocalVar (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LocalVar

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.LocalVar
    • +
    +
  • +
+
+
    +
  • +
    +
    public class LocalVar
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      LocalVar​(java.lang.String name, + java.lang.String type, + java.lang.String signature, + LabelStmt start, + LabelStmt end, + Local reg) 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + + + + + +
        +
      • +

        name

        +
        public java.lang.String name
        +
      • +
      + + + +
        +
      • +

        type

        +
        public java.lang.String type
        +
      • +
      + + + +
        +
      • +

        signature

        +
        public java.lang.String signature
        +
      • +
      + + + +
        +
      • +

        reg

        +
        public Local reg
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LocalVar

        +
        public LocalVar​(java.lang.String name,
        +                java.lang.String type,
        +                java.lang.String signature,
        +                LabelStmt start,
        +                LabelStmt end,
        +                Local reg)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/StmtSearcher.html b/api/proguard/dexfile/ir/StmtSearcher.html new file mode 100644 index 000000000..319ceaae7 --- /dev/null +++ b/api/proguard/dexfile/ir/StmtSearcher.html @@ -0,0 +1,332 @@ + + + + + +StmtSearcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StmtSearcher

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.StmtSearcher
    • +
    +
  • +
+
+
    +
  • +
    +
    public class StmtSearcher
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      StmtSearcher() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidtravel​(Value op) 
      voidtravel​(Stmt stmt) 
      voidtravel​(StmtList stmts) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StmtSearcher

        +
        public StmtSearcher()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        travel

        +
        public void travel​(StmtList stmts)
        +
      • +
      + + + +
        +
      • +

        travel

        +
        public void travel​(Stmt stmt)
        +
      • +
      + + + +
        +
      • +

        travel

        +
        public void travel​(Value op)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/StmtTraveler.html b/api/proguard/dexfile/ir/StmtTraveler.html new file mode 100644 index 000000000..ce8eb0313 --- /dev/null +++ b/api/proguard/dexfile/ir/StmtTraveler.html @@ -0,0 +1,346 @@ + + + + + +StmtTraveler (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StmtTraveler

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.StmtTraveler
    • +
    +
  • +
+
+
    +
  • +
    +
    public class StmtTraveler
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StmtTraveler

        +
        public StmtTraveler()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        travel

        +
        public void travel​(IrMethod method)
        +
      • +
      + + + +
        +
      • +

        travel

        +
        public void travel​(StmtList stmts)
        +
      • +
      + + + +
        +
      • +

        travel

        +
        public Stmt travel​(Stmt stmt)
        +
      • +
      + + + +
        +
      • +

        travel

        +
        public Value travel​(Value op)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/Trap.html b/api/proguard/dexfile/ir/Trap.html new file mode 100644 index 000000000..059937b65 --- /dev/null +++ b/api/proguard/dexfile/ir/Trap.html @@ -0,0 +1,426 @@ + + + + + +Trap (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Trap

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.Trap
    • +
    +
  • +
+
+
    +
  • +
    +
    public class Trap
    +extends java.lang.Object
    +
    TODO DOC
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/TypeClass.html b/api/proguard/dexfile/ir/TypeClass.html new file mode 100644 index 000000000..70603728d --- /dev/null +++ b/api/proguard/dexfile/ir/TypeClass.html @@ -0,0 +1,636 @@ + + + + + +TypeClass (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum TypeClass

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Enum<TypeClass>
    • +
    • +
        +
      • proguard.dexfile.ir.TypeClass
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<TypeClass>
    +
    +
    +
    public enum TypeClass
    +extends java.lang.Enum<TypeClass>
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      booleanfixed 
      java.lang.Stringname 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static TypeClassclzOf​(java.lang.String desc) 
      static TypeClassmerge​(TypeClass thizCls, + TypeClass clz) 
      java.lang.StringtoString() 
      static TypeClassvalueOf​(java.lang.String name) +
      Returns the enum constant of this type with the specified name.
      +
      static TypeClass[]values() +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Enum

        +clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        name

        +
        public final java.lang.String name
        +
      • +
      + + + +
        +
      • +

        fixed

        +
        public final boolean fixed
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static TypeClass[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (TypeClass c : TypeClass.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static TypeClass valueOf​(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      + + + +
        +
      • +

        clzOf

        +
        public static TypeClass clzOf​(java.lang.String desc)
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Enum<TypeClass>
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/Util.html b/api/proguard/dexfile/ir/Util.html new file mode 100644 index 000000000..30984a6c0 --- /dev/null +++ b/api/proguard/dexfile/ir/Util.html @@ -0,0 +1,398 @@ + + + + + +Util (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Util

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.Util
    • +
    +
  • +
+
+
    +
  • +
    +
    public class Util
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Util() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidappendString​(java.lang.StringBuffer buf, + java.lang.String s) +
      Appends a quoted string to a given buffer.
      +
      static booleanisMemoryLimitReached​(long afterMemoryQuota) 
      static java.util.List<java.lang.String>listDesc​(java.lang.String desc) 
      static java.lang.StringtoShortClassName​(java.lang.String desc) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        irTransformMemoryLimit

        +
        public static long irTransformMemoryLimit
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Util

        +
        public Util()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        listDesc

        +
        public static java.util.List<java.lang.String> listDesc​(java.lang.String desc)
        +
      • +
      + + + +
        +
      • +

        appendString

        +
        public static void appendString​(java.lang.StringBuffer buf,
        +                                java.lang.String s)
        +
        Appends a quoted string to a given buffer.
        +
        +
        Parameters:
        +
        buf - the buffer where the string must be added.
        +
        s - the string to be added.
        +
        +
      • +
      + + + +
        +
      • +

        toShortClassName

        +
        public static java.lang.String toShortClassName​(java.lang.String desc)
        +
      • +
      + + + +
        +
      • +

        isMemoryLimitReached

        +
        public static boolean isMemoryLimitReached​(long afterMemoryQuota)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/AbstractInvokeExpr.html b/api/proguard/dexfile/ir/expr/AbstractInvokeExpr.html new file mode 100644 index 000000000..307272794 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/AbstractInvokeExpr.html @@ -0,0 +1,401 @@ + + + + + +AbstractInvokeExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AbstractInvokeExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    Direct Known Subclasses:
    +
    InvokeExpr
    +
    +
    +
    public abstract class AbstractInvokeExpr
    +extends Value.EnExpr
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AbstractInvokeExpr

        +
        public AbstractInvokeExpr​(Value.VT type,
        +                          Value[] args)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        releaseMemory

        +
        protected void releaseMemory()
        +
        Description copied from class: Value
        +
        clean resource used by this value,release memory
        +
        +
        Overrides:
        +
        releaseMemory in class Value.EnExpr
        +
        +
      • +
      + + + +
        +
      • +

        getProto

        +
        public abstract Proto getProto()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/ArrayExpr.html b/api/proguard/dexfile/ir/expr/ArrayExpr.html new file mode 100644 index 000000000..1617f9e46 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/ArrayExpr.html @@ -0,0 +1,467 @@ + + + + + +ArrayExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ArrayExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    public class ArrayExpr
    +extends Value.E2Expr
    +
    Represent an Array expression
    +
    +
    See Also:
    +
    Value.VT.ARRAY
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        elementType

        +
        public java.lang.String elementType
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ArrayExpr

        +
        public ArrayExpr()
        +
      • +
      + + + +
        +
      • +

        ArrayExpr

        +
        public ArrayExpr​(Value base,
        +                 Value index,
        +                 java.lang.String elementType)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/BinopExpr.html b/api/proguard/dexfile/ir/expr/BinopExpr.html new file mode 100644 index 000000000..dac163dfc --- /dev/null +++ b/api/proguard/dexfile/ir/expr/BinopExpr.html @@ -0,0 +1,499 @@ + + + + + +BinopExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BinopExpr

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        type

        +
        public java.lang.String type
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BinopExpr

        +
        public BinopExpr​(Value.VT vt,
        +                 Value op1,
        +                 Value op2,
        +                 java.lang.String type)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/CastExpr.html b/api/proguard/dexfile/ir/expr/CastExpr.html new file mode 100644 index 000000000..1ad9c0790 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/CastExpr.html @@ -0,0 +1,486 @@ + + + + + +CastExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CastExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    public class CastExpr
    +extends Value.E1Expr
    +
    * @see VT#CAST
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        from

        +
        public java.lang.String from
        +
      • +
      + + + +
        +
      • +

        to

        +
        public java.lang.String to
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CastExpr

        +
        public CastExpr​(Value value,
        +                java.lang.String from,
        +                java.lang.String to)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/Constant.html b/api/proguard/dexfile/ir/expr/Constant.html new file mode 100644 index 000000000..982ba6bbf --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Constant.html @@ -0,0 +1,446 @@ + + + + + +Constant (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Constant

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    public class Constant
    +extends Value.E0Expr
    +
    Represent a constant, number/string/type
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        Null

        +
        public static final java.lang.Object Null
        +
      • +
      + + + +
        +
      • +

        value

        +
        public java.lang.Object value
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Constant

        +
        public Constant​(java.lang.Object value)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/Exprs.html b/api/proguard/dexfile/ir/expr/Exprs.html new file mode 100644 index 000000000..5ac6bec03 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Exprs.html @@ -0,0 +1,1408 @@ + + + + + +Exprs (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Exprs

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.expr.Exprs
    • +
    +
  • +
+
+
    +
  • +
    +
    public final class Exprs
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        copy

        +
        public static Value[] copy​(Value[] v)
        +
      • +
      + + + +
        +
      • +

        nByte

        +
        public static Constant nByte​(byte i)
        +
      • +
      + + + +
        +
      • +

        nChar

        +
        public static Constant nChar​(char i)
        +
      • +
      + + + +
        +
      • +

        nType

        +
        public static Constant nType​(java.lang.String desc)
        +
      • +
      + + + + + + + +
        +
      • +

        nDouble

        +
        public static Constant nDouble​(double i)
        +
      • +
      + + + +
        +
      • +

        nFloat

        +
        public static Constant nFloat​(float i)
        +
      • +
      + + + +
        +
      • +

        nInt

        +
        public static Constant nInt​(int i)
        +
      • +
      + + + +
        +
      • +

        nLong

        +
        public static Constant nLong​(long i)
        +
      • +
      + + + +
        +
      • +

        nNull

        +
        public static Constant nNull()
        +
      • +
      + + + +
        +
      • +

        nShort

        +
        public static Constant nShort​(short i)
        +
      • +
      + + + +
        +
      • +

        nString

        +
        public static Constant nString​(java.lang.String i)
        +
      • +
      + + + +
        +
      • +

        nAdd

        +
        public static BinopExpr nAdd​(Value a,
        +                             Value b,
        +                             java.lang.String type)
        +
      • +
      + + + + + + + +
        +
      • +

        nAnd

        +
        public static BinopExpr nAnd​(Value a,
        +                             Value b,
        +                             java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        nArray

        +
        public static ArrayExpr nArray​(Value base,
        +                               Value index,
        +                               java.lang.String elementType)
        +
      • +
      + + + +
        +
      • +

        nArrayValue

        +
        public static Constant nArrayValue​(java.lang.Object array)
        +
      • +
      + + + +
        +
      • +

        nCast

        +
        public static CastExpr nCast​(Value obj,
        +                             java.lang.String from,
        +                             java.lang.String to)
        +
      • +
      + + + +
        +
      • +

        nCheckCast

        +
        public static TypeExpr nCheckCast​(Value obj,
        +                                  java.lang.String type)
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        nDiv

        +
        public static BinopExpr nDiv​(Value a,
        +                             Value b,
        +                             java.lang.String type)
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        nExceptionRef

        +
        public static RefExpr nExceptionRef​(java.lang.String type)
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        nField

        +
        public static FieldExpr nField​(Value object,
        +                               java.lang.String ownerType,
        +                               java.lang.String fieldName,
        +                               java.lang.String fieldType)
        +
      • +
      + + + + + + + + + + + + + + + + + + + +
        +
      • +

        nInstanceOf

        +
        public static TypeExpr nInstanceOf​(Value value,
        +                                   java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        nInvokeInterface

        +
        public static InvokeExpr nInvokeInterface​(Value[] regs,
        +                                          java.lang.String owner,
        +                                          java.lang.String name,
        +                                          java.lang.String[] argmentTypes,
        +                                          java.lang.String returnType)
        +
      • +
      + + + +
        +
      • +

        nInvokeNew

        +
        public static InvokeExpr nInvokeNew​(Value[] regs,
        +                                    java.lang.String[] argmentTypes,
        +                                    java.lang.String owner)
        +
      • +
      + + + +
        +
      • +

        nInvokeNew

        +
        public static InvokeExpr nInvokeNew​(Value[] regs,
        +                                    java.lang.String[] argmentTypes,
        +                                    java.lang.String owner,
        +                                    java.lang.String className)
        +
      • +
      + + + +
        +
      • +

        nInvokeSpecial

        +
        public static InvokeExpr nInvokeSpecial​(Value[] regs,
        +                                        java.lang.String owner,
        +                                        java.lang.String name,
        +                                        java.lang.String[] argmentTypes,
        +                                        java.lang.String returnType)
        +
      • +
      + + + +
        +
      • +

        nInvokeStatic

        +
        public static InvokeExpr nInvokeStatic​(Value[] regs,
        +                                       java.lang.String owner,
        +                                       java.lang.String name,
        +                                       java.lang.String[] argmentTypes,
        +                                       java.lang.String returnType)
        +
      • +
      + + + +
        +
      • +

        nInvokeVirtual

        +
        public static InvokeExpr nInvokeVirtual​(Value[] regs,
        +                                        java.lang.String owner,
        +                                        java.lang.String name,
        +                                        java.lang.String[] argmentTypes,
        +                                        java.lang.String returnType)
        +
      • +
      + + + + + + + + + + + + + + + + + + + +
        +
      • +

        nLength

        +
        public static UnopExpr nLength​(Value array)
        +
      • +
      + + + +
        +
      • +

        nLocal

        +
        public static Local nLocal​(int index)
        +
      • +
      + + + +
        +
      • +

        nLocal

        +
        public static Local nLocal​(java.lang.String debugName)
        +
      • +
      + + + +
        +
      • +

        nLocal

        +
        public static Local nLocal​(int index,
        +                           java.lang.String debugName)
        +
      • +
      + + + + + + + +
        +
      • +

        nMul

        +
        public static BinopExpr nMul​(Value a,
        +                             Value b,
        +                             java.lang.String type)
        +
      • +
      + + + + + + + +
        +
      • +

        nNeg

        +
        public static UnopExpr nNeg​(Value array,
        +                            java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        nNew

        +
        public static NewExpr nNew​(java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        nNewArray

        +
        public static TypeExpr nNewArray​(java.lang.String elementType,
        +                                 Value size)
        +
      • +
      + + + +
        +
      • +

        nNewIntArray

        +
        public static TypeExpr nNewIntArray​(Value size)
        +
      • +
      + + + +
        +
      • +

        nNewLongArray

        +
        public static TypeExpr nNewLongArray​(Value size)
        +
      • +
      + + + +
        +
      • +

        nFilledArray

        +
        public static FilledArrayExpr nFilledArray​(java.lang.String elementType,
        +                                           Value[] datas)
        +
      • +
      + + + +
        +
      • +

        nNewMutiArray

        +
        public static NewMutiArrayExpr nNewMutiArray​(java.lang.String base,
        +                                             int dim,
        +                                             Value[] sizes)
        +
      • +
      + + + +
        +
      • +

        nNot

        +
        public static UnopExpr nNot​(Value array,
        +                            java.lang.String type)
        +
      • +
      + + + + + + + +
        +
      • +

        nParameterRef

        +
        public static RefExpr nParameterRef​(java.lang.String type,
        +                                    int index)
        +
      • +
      + + + +
        +
      • +

        nRem

        +
        public static BinopExpr nRem​(Value a,
        +                             Value b,
        +                             java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        nShl

        +
        public static BinopExpr nShl​(Value a,
        +                             Value b,
        +                             java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        nShr

        +
        public static BinopExpr nShr​(Value a,
        +                             Value b,
        +                             java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        nStaticField

        +
        public static StaticFieldExpr nStaticField​(java.lang.String ownerType,
        +                                           java.lang.String fieldName,
        +                                           java.lang.String fieldType)
        +
      • +
      + + + +
        +
      • +

        nSub

        +
        public static BinopExpr nSub​(Value a,
        +                             Value b,
        +                             java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        nThisRef

        +
        public static RefExpr nThisRef​(java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        nUshr

        +
        public static BinopExpr nUshr​(Value a,
        +                              Value b,
        +                              java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        nXor

        +
        public static BinopExpr nXor​(Value a,
        +                             Value b,
        +                             java.lang.String type)
        +
      • +
      + + + +
        +
      • +

        nPhi

        +
        public static PhiExpr nPhi​(Value... ops)
        +
      • +
      + + + +
        +
      • +

        nConstant

        +
        public static Constant nConstant​(java.lang.Object cst)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/ir/expr/FieldExpr.html b/api/proguard/dexfile/ir/expr/FieldExpr.html new file mode 100644 index 000000000..5156a0c29 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/FieldExpr.html @@ -0,0 +1,515 @@ + + + + + +FieldExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FieldExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    public class FieldExpr
    +extends Value.E1Expr
    +
    Represent a non-static Field expression.
    +
    +
    See Also:
    +
    Value.VT.FIELD
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        name

        +
        public java.lang.String name
        +
        Field name
        +
      • +
      + + + +
        +
      • +

        owner

        +
        public java.lang.String owner
        +
        Field owner type descriptor
        +
      • +
      + + + +
        +
      • +

        type

        +
        public java.lang.String type
        +
        Field type descriptor
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FieldExpr

        +
        public FieldExpr​(Value object,
        +                 java.lang.String ownerType,
        +                 java.lang.String fieldName,
        +                 java.lang.String fieldType)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/FilledArrayExpr.html b/api/proguard/dexfile/ir/expr/FilledArrayExpr.html new file mode 100644 index 000000000..f5fdfd203 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/FilledArrayExpr.html @@ -0,0 +1,474 @@ + + + + + +FilledArrayExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FilledArrayExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    public class FilledArrayExpr
    +extends Value.EnExpr
    +
    Represent a FILLED_ARRAY expression.
    +
    +
    See Also:
    +
    Value.VT.FILLED_ARRAY
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        type

        +
        public java.lang.String type
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FilledArrayExpr

        +
        public FilledArrayExpr​(Value[] datas,
        +                       java.lang.String type)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/InvokeCustomExpr.html b/api/proguard/dexfile/ir/expr/InvokeCustomExpr.html new file mode 100644 index 000000000..df6c7f495 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/InvokeCustomExpr.html @@ -0,0 +1,561 @@ + + + + + +InvokeCustomExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InvokeCustomExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    public class InvokeCustomExpr
    +extends InvokeExpr
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/InvokeExpr.html b/api/proguard/dexfile/ir/expr/InvokeExpr.html new file mode 100644 index 000000000..cd0110a0b --- /dev/null +++ b/api/proguard/dexfile/ir/expr/InvokeExpr.html @@ -0,0 +1,588 @@ + + + + + +InvokeExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InvokeExpr

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InvokeExpr

        +
        public InvokeExpr​(Value.VT type,
        +                  Value[] args,
        +                  java.lang.String ownerType,
        +                  java.lang.String methodName,
        +                  java.lang.String[] argmentTypes,
        +                  java.lang.String returnType)
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        releaseMemory

        +
        protected void releaseMemory()
        +
        Description copied from class: Value
        +
        clean resource used by this value,release memory
        +
        +
        Overrides:
        +
        releaseMemory in class AbstractInvokeExpr
        +
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        toString0

        +
        public java.lang.String toString0()
        +
        +
        Specified by:
        +
        toString0 in class Value
        +
        +
      • +
      + + + +
        +
      • +

        getOwner

        +
        public java.lang.String getOwner()
        +
      • +
      + + + +
        +
      • +

        getRet

        +
        public java.lang.String getRet()
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
      • +
      + + + +
        +
      • +

        getArgs

        +
        public java.lang.String[] getArgs()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/InvokeNewExpr.html b/api/proguard/dexfile/ir/expr/InvokeNewExpr.html new file mode 100644 index 000000000..61830fec8 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/InvokeNewExpr.html @@ -0,0 +1,479 @@ + + + + + +InvokeNewExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InvokeNewExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    public class InvokeNewExpr
    +extends InvokeExpr
    +
    Represents an IR instructor equivalent to Java bytecode: `new X, invoke-special X.` + +

    It's possible to construct an InvokeNewExpr with either just the owner or with an + owner and a class name. + +

    It's possible that these are different: + +

    + new Foo <-- className + invokespecial java/lang/Object <-- owner +

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InvokeNewExpr

        +
        public InvokeNewExpr​(Value.VT type,
        +                     Value[] args,
        +                     java.lang.String ownerType,
        +                     java.lang.String methodName,
        +                     java.lang.String[] argumentTypes,
        +                     java.lang.String owner)
        +
      • +
      + + + +
        +
      • +

        InvokeNewExpr

        +
        public InvokeNewExpr​(Value.VT type,
        +                     Value[] args,
        +                     java.lang.String ownerType,
        +                     java.lang.String methodName,
        +                     java.lang.String[] argumentTypes,
        +                     java.lang.String owner,
        +                     java.lang.String className)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/InvokePolymorphicExpr.html b/api/proguard/dexfile/ir/expr/InvokePolymorphicExpr.html new file mode 100644 index 000000000..c0da906e9 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/InvokePolymorphicExpr.html @@ -0,0 +1,515 @@ + + + + + +InvokePolymorphicExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InvokePolymorphicExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    public class InvokePolymorphicExpr
    +extends InvokeExpr
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/Local.html b/api/proguard/dexfile/ir/expr/Local.html new file mode 100644 index 000000000..5c3451970 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Local.html @@ -0,0 +1,501 @@ + + + + + +Local (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Local

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    public class Local
    +extends Value.E0Expr
    +
    TODO DOC
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        _ls_index

        +
        public int _ls_index
        +
      • +
      + + + +
        +
      • +

        signature

        +
        public java.lang.String signature
        +
      • +
      + + + +
        +
      • +

        debugName

        +
        public java.lang.String debugName
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Local

        +
        public Local​(java.lang.String debugName)
        +
      • +
      + + + +
        +
      • +

        Local

        +
        public Local​(int index,
        +             java.lang.String debugName)
        +
      • +
      + + + +
        +
      • +

        Local

        +
        public Local()
        +
      • +
      + + + +
        +
      • +

        Local

        +
        public Local​(int index)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/NewExpr.html b/api/proguard/dexfile/ir/expr/NewExpr.html new file mode 100644 index 000000000..3df756f2d --- /dev/null +++ b/api/proguard/dexfile/ir/expr/NewExpr.html @@ -0,0 +1,453 @@ + + + + + +NewExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NewExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    public class NewExpr
    +extends Value.E0Expr
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        type

        +
        public java.lang.String type
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NewExpr

        +
        public NewExpr​(java.lang.String type)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        clone

        +
        public Value clone()
        +
        +
        Specified by:
        +
        clone in class Value
        +
        +
      • +
      + + + + + + + +
        +
      • +

        releaseMemory

        +
        protected void releaseMemory()
        +
        Description copied from class: Value
        +
        clean resource used by this value,release memory
        +
        +
        Overrides:
        +
        releaseMemory in class Value
        +
        +
      • +
      + + + +
        +
      • +

        toString0

        +
        public java.lang.String toString0()
        +
        +
        Specified by:
        +
        toString0 in class Value
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/NewMutiArrayExpr.html b/api/proguard/dexfile/ir/expr/NewMutiArrayExpr.html new file mode 100644 index 000000000..84966bea8 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/NewMutiArrayExpr.html @@ -0,0 +1,500 @@ + + + + + +NewMutiArrayExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NewMutiArrayExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    public class NewMutiArrayExpr
    +extends Value.EnExpr
    +
    Represent a NEW_MUTI_ARRAY expression.
    +
    +
    See Also:
    +
    Value.VT.NEW_MULTI_ARRAY
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        baseType

        +
        public java.lang.String baseType
        +
        the basic type, ZBSCIFDJL, no [
        +
      • +
      + + + +
        +
      • +

        dimension

        +
        public int dimension
        +
        the dimension of the array, + +

        for baseType: I, dimension 4, the result type is int[][][][]; + +

        NOTICE, not all dimension are init in ops, so ops.length <= dimension

        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NewMutiArrayExpr

        +
        public NewMutiArrayExpr​(java.lang.String base,
        +                        int dimension,
        +                        Value[] sizes)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/PhiExpr.html b/api/proguard/dexfile/ir/expr/PhiExpr.html new file mode 100644 index 000000000..3d9cf3753 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/PhiExpr.html @@ -0,0 +1,413 @@ + + + + + +PhiExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PhiExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    public class PhiExpr
    +extends Value.EnExpr
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/RefExpr.html b/api/proguard/dexfile/ir/expr/RefExpr.html new file mode 100644 index 000000000..6c5e4b532 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/RefExpr.html @@ -0,0 +1,478 @@ + + + + + +RefExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RefExpr

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        parameterIndex

        +
        public int parameterIndex
        +
      • +
      + + + +
        +
      • +

        type

        +
        public java.lang.String type
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RefExpr

        +
        public RefExpr​(Value.VT vt,
        +               java.lang.String refType,
        +               int index)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        releaseMemory

        +
        protected void releaseMemory()
        +
        Description copied from class: Value
        +
        clean resource used by this value,release memory
        +
        +
        Overrides:
        +
        releaseMemory in class Value
        +
        +
      • +
      + + + +
        +
      • +

        clone

        +
        public Value clone()
        +
        +
        Specified by:
        +
        clone in class Value
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString0

        +
        public java.lang.String toString0()
        +
        +
        Specified by:
        +
        toString0 in class Value
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/StaticFieldExpr.html b/api/proguard/dexfile/ir/expr/StaticFieldExpr.html new file mode 100644 index 000000000..c41e914be --- /dev/null +++ b/api/proguard/dexfile/ir/expr/StaticFieldExpr.html @@ -0,0 +1,499 @@ + + + + + +StaticFieldExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StaticFieldExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    public class StaticFieldExpr
    +extends Value.E0Expr
    +
    Represent a StaticField expression
    +
    +
    See Also:
    +
    Value.VT.STATIC_FIELD
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        name

        +
        public java.lang.String name
        +
        Field name
        +
      • +
      + + + +
        +
      • +

        owner

        +
        public java.lang.String owner
        +
        Field owner type
        +
      • +
      + + + +
        +
      • +

        type

        +
        public java.lang.String type
        +
        Field type
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StaticFieldExpr

        +
        public StaticFieldExpr​(java.lang.String ownerType,
        +                       java.lang.String fieldName,
        +                       java.lang.String fieldType)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        releaseMemory

        +
        protected void releaseMemory()
        +
        Description copied from class: Value
        +
        clean resource used by this value,release memory
        +
        +
        Overrides:
        +
        releaseMemory in class Value
        +
        +
      • +
      + + + +
        +
      • +

        clone

        +
        public Value clone()
        +
        +
        Specified by:
        +
        clone in class Value
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString0

        +
        public java.lang.String toString0()
        +
        +
        Specified by:
        +
        toString0 in class Value
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/TypeExpr.html b/api/proguard/dexfile/ir/expr/TypeExpr.html new file mode 100644 index 000000000..07eb8618a --- /dev/null +++ b/api/proguard/dexfile/ir/expr/TypeExpr.html @@ -0,0 +1,478 @@ + + + + + +TypeExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypeExpr

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        type

        +
        public java.lang.String type
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TypeExpr

        +
        public TypeExpr​(Value.VT vt,
        +                Value value,
        +                java.lang.String desc)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/UnopExpr.html b/api/proguard/dexfile/ir/expr/UnopExpr.html new file mode 100644 index 000000000..69208b5a1 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/UnopExpr.html @@ -0,0 +1,484 @@ + + + + + +UnopExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UnopExpr

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        type

        +
        public java.lang.String type
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UnopExpr

        +
        public UnopExpr​(Value.VT vt,
        +                Value value,
        +                java.lang.String type)
        +
        +
        Parameters:
        +
        vt -
        +
        value -
        +
        type -
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/Value.E0Expr.html b/api/proguard/dexfile/ir/expr/Value.E0Expr.html new file mode 100644 index 000000000..05fe153e6 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Value.E0Expr.html @@ -0,0 +1,329 @@ + + + + + +Value.E0Expr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Value.E0Expr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    Direct Known Subclasses:
    +
    Constant, Local, NewExpr, RefExpr, StaticFieldExpr
    +
    +
    +
    Enclosing class:
    +
    Value
    +
    +
    +
    public abstract static class Value.E0Expr
    +extends Value
    +
    Represent an expression with no argument
    +
    +
    See Also:
    +
    ET.E0
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        E0Expr

        +
        public E0Expr​(Value.VT vt)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/Value.E1Expr.html b/api/proguard/dexfile/ir/expr/Value.E1Expr.html new file mode 100644 index 000000000..970c0c8d5 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Value.E1Expr.html @@ -0,0 +1,450 @@ + + + + + +Value.E1Expr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Value.E1Expr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    Direct Known Subclasses:
    +
    CastExpr, FieldExpr, TypeExpr, UnopExpr
    +
    +
    +
    Enclosing class:
    +
    Value
    +
    +
    +
    public abstract static class Value.E1Expr
    +extends Value
    +
    Represent an expression with 1 argument
    +
    +
    See Also:
    +
    ET.E1
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        E1Expr

        +
        public E1Expr​(Value.VT vt,
        +              Value op)
        +
        +
        Parameters:
        +
        vt -
        +
        op - the value should be trimmed
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setOp

        +
        public void setOp​(Value op)
        +
        +
        Overrides:
        +
        setOp in class Value
        +
        +
      • +
      + + + +
        +
      • +

        getOp

        +
        public Value getOp()
        +
        +
        Overrides:
        +
        getOp in class Value
        +
        +
      • +
      + + + +
        +
      • +

        releaseMemory

        +
        protected void releaseMemory()
        +
        Description copied from class: Value
        +
        clean resource used by this value,release memory
        +
        +
        Overrides:
        +
        releaseMemory in class Value
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/Value.E2Expr.html b/api/proguard/dexfile/ir/expr/Value.E2Expr.html new file mode 100644 index 000000000..727d6936e --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Value.E2Expr.html @@ -0,0 +1,497 @@ + + + + + +Value.E2Expr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Value.E2Expr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    Direct Known Subclasses:
    +
    ArrayExpr, BinopExpr
    +
    +
    +
    Enclosing class:
    +
    Value
    +
    +
    +
    public abstract static class Value.E2Expr
    +extends Value
    +
    Represent an expression with 2 arguments
    +
    +
    See Also:
    +
    ET.E2
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setOp1

        +
        public void setOp1​(Value op1)
        +
        +
        Overrides:
        +
        setOp1 in class Value
        +
        +
      • +
      + + + +
        +
      • +

        setOp2

        +
        public void setOp2​(Value op2)
        +
        +
        Overrides:
        +
        setOp2 in class Value
        +
        +
      • +
      + + + +
        +
      • +

        getOp1

        +
        public Value getOp1()
        +
        +
        Overrides:
        +
        getOp1 in class Value
        +
        +
      • +
      + + + +
        +
      • +

        getOp2

        +
        public Value getOp2()
        +
        +
        Overrides:
        +
        getOp2 in class Value
        +
        +
      • +
      + + + +
        +
      • +

        releaseMemory

        +
        protected void releaseMemory()
        +
        Description copied from class: Value
        +
        clean resource used by this value,release memory
        +
        +
        Overrides:
        +
        releaseMemory in class Value
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/Value.EnExpr.html b/api/proguard/dexfile/ir/expr/Value.EnExpr.html new file mode 100644 index 000000000..a48b4299c --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Value.EnExpr.html @@ -0,0 +1,473 @@ + + + + + +Value.EnExpr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Value.EnExpr

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setOps

        +
        public void setOps​(Value[] ops)
        +
        +
        Overrides:
        +
        setOps in class Value
        +
        +
      • +
      + + + +
        +
      • +

        cloneOps

        +
        protected Value[] cloneOps()
        +
      • +
      + + + + + + + +
        +
      • +

        getOps

        +
        public Value[] getOps()
        +
        +
        Overrides:
        +
        getOps in class Value
        +
        +
      • +
      + + + +
        +
      • +

        releaseMemory

        +
        protected void releaseMemory()
        +
        Description copied from class: Value
        +
        clean resource used by this value,release memory
        +
        +
        Overrides:
        +
        releaseMemory in class Value
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/Value.VT.html b/api/proguard/dexfile/ir/expr/Value.VT.html new file mode 100644 index 000000000..7ba52f8b6 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Value.VT.html @@ -0,0 +1,1064 @@ + + + + + +Value.VT (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum Value.VT

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Enum<Value.VT>
    • +
    • +
        +
      • proguard.dexfile.ir.expr.Value.VT
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<Value.VT>
    +
    +
    +
    Enclosing class:
    +
    Value
    +
    +
    +
    public static enum Value.VT
    +extends java.lang.Enum<Value.VT>
    +
    Value Type
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Detail

      + + + +
        +
      • +

        ADD

        +
        public static final Value.VT ADD
        +
      • +
      + + + +
        +
      • +

        AND

        +
        public static final Value.VT AND
        +
      • +
      + + + +
        +
      • +

        ARRAY

        +
        public static final Value.VT ARRAY
        +
      • +
      + + + +
        +
      • +

        CAST

        +
        public static final Value.VT CAST
        +
      • +
      + + + +
        +
      • +

        CHECK_CAST

        +
        public static final Value.VT CHECK_CAST
        +
      • +
      + + + +
        +
      • +

        CONSTANT

        +
        public static final Value.VT CONSTANT
        +
      • +
      + + + +
        +
      • +

        DCMPG

        +
        public static final Value.VT DCMPG
        +
      • +
      + + + +
        +
      • +

        DCMPL

        +
        public static final Value.VT DCMPL
        +
      • +
      + + + +
        +
      • +

        IDIV

        +
        public static final Value.VT IDIV
        +
      • +
      + + + +
        +
      • +

        LDIV

        +
        public static final Value.VT LDIV
        +
      • +
      + + + +
        +
      • +

        FDIV

        +
        public static final Value.VT FDIV
        +
      • +
      + + + +
        +
      • +

        DDIV

        +
        public static final Value.VT DDIV
        +
      • +
      + + + +
        +
      • +

        EQ

        +
        public static final Value.VT EQ
        +
      • +
      + + + +
        +
      • +

        EXCEPTION_REF

        +
        public static final Value.VT EXCEPTION_REF
        +
      • +
      + + + +
        +
      • +

        FCMPG

        +
        public static final Value.VT FCMPG
        +
      • +
      + + + +
        +
      • +

        FCMPL

        +
        public static final Value.VT FCMPL
        +
      • +
      + + + +
        +
      • +

        FIELD

        +
        public static final Value.VT FIELD
        +
      • +
      + + + +
        +
      • +

        FILLED_ARRAY

        +
        public static final Value.VT FILLED_ARRAY
        +
      • +
      + + + +
        +
      • +

        GE

        +
        public static final Value.VT GE
        +
      • +
      + + + +
        +
      • +

        GT

        +
        public static final Value.VT GT
        +
      • +
      + + + +
        +
      • +

        INSTANCE_OF

        +
        public static final Value.VT INSTANCE_OF
        +
      • +
      + + + +
        +
      • +

        INVOKE_INTERFACE

        +
        public static final Value.VT INVOKE_INTERFACE
        +
      • +
      + + + +
        +
      • +

        INVOKE_NEW

        +
        public static final Value.VT INVOKE_NEW
        +
      • +
      + + + +
        +
      • +

        INVOKE_SPECIAL

        +
        public static final Value.VT INVOKE_SPECIAL
        +
      • +
      + + + +
        +
      • +

        INVOKE_STATIC

        +
        public static final Value.VT INVOKE_STATIC
        +
      • +
      + + + +
        +
      • +

        INVOKE_VIRTUAL

        +
        public static final Value.VT INVOKE_VIRTUAL
        +
      • +
      + + + +
        +
      • +

        INVOKE_CUSTOM

        +
        public static final Value.VT INVOKE_CUSTOM
        +
      • +
      + + + +
        +
      • +

        INVOKE_POLYMORPHIC

        +
        public static final Value.VT INVOKE_POLYMORPHIC
        +
      • +
      + + + +
        +
      • +

        LCMP

        +
        public static final Value.VT LCMP
        +
      • +
      + + + +
        +
      • +

        LE

        +
        public static final Value.VT LE
        +
      • +
      + + + +
        +
      • +

        LENGTH

        +
        public static final Value.VT LENGTH
        +
      • +
      + + + +
        +
      • +

        LOCAL

        +
        public static final Value.VT LOCAL
        +
      • +
      + + + +
        +
      • +

        LT

        +
        public static final Value.VT LT
        +
      • +
      + + + +
        +
      • +

        MUL

        +
        public static final Value.VT MUL
        +
      • +
      + + + +
        +
      • +

        NE

        +
        public static final Value.VT NE
        +
      • +
      + + + +
        +
      • +

        NEG

        +
        public static final Value.VT NEG
        +
      • +
      + + + +
        +
      • +

        NEW

        +
        public static final Value.VT NEW
        +
      • +
      + + + +
        +
      • +

        NEW_ARRAY

        +
        public static final Value.VT NEW_ARRAY
        +
      • +
      + + + +
        +
      • +

        NEW_MULTI_ARRAY

        +
        public static final Value.VT NEW_MULTI_ARRAY
        +
      • +
      + + + +
        +
      • +

        NOT

        +
        public static final Value.VT NOT
        +
      • +
      + + + +
        +
      • +

        OR

        +
        public static final Value.VT OR
        +
      • +
      + + + +
        +
      • +

        PARAMETER_REF

        +
        public static final Value.VT PARAMETER_REF
        +
      • +
      + + + +
        +
      • +

        PHI

        +
        public static final Value.VT PHI
        +
      • +
      + + + +
        +
      • +

        REM

        +
        public static final Value.VT REM
        +
      • +
      + + + +
        +
      • +

        SHL

        +
        public static final Value.VT SHL
        +
      • +
      + + + +
        +
      • +

        SHR

        +
        public static final Value.VT SHR
        +
      • +
      + + + +
        +
      • +

        STATIC_FIELD

        +
        public static final Value.VT STATIC_FIELD
        +
      • +
      + + + +
        +
      • +

        SUB

        +
        public static final Value.VT SUB
        +
      • +
      + + + +
        +
      • +

        THIS_REF

        +
        public static final Value.VT THIS_REF
        +
      • +
      + + + +
        +
      • +

        USHR

        +
        public static final Value.VT USHR
        +
      • +
      + + + +
        +
      • +

        XOR

        +
        public static final Value.VT XOR
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static Value.VT[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (Value.VT c : Value.VT.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static Value.VT valueOf​(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Enum<Value.VT>
        +
        +
      • +
      + + + +
        +
      • +

        canThrow

        +
        public boolean canThrow()
        +
      • +
      + + + +
        +
      • +

        mayThrow

        +
        public boolean mayThrow()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/Value.html b/api/proguard/dexfile/ir/expr/Value.html new file mode 100644 index 000000000..9a5d7d081 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Value.html @@ -0,0 +1,695 @@ + + + + + +Value (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Value

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.expr.Value
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    Direct Known Subclasses:
    +
    Value.E0Expr, Value.E1Expr, Value.E2Expr, Value.EnExpr
    +
    +
    +
    public abstract class Value
    +extends java.lang.Object
    +implements java.lang.Cloneable
    +
    Represent a local/constant/expression
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Nested Class Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Nested Classes 
      Modifier and TypeClassDescription
      static class Value.E0Expr +
      Represent an expression with no argument
      +
      static class Value.E1Expr +
      Represent an expression with 1 argument
      +
      static class Value.E2Expr +
      Represent an expression with 2 arguments
      +
      static class Value.EnExpr +
      Represent an expression with 3+ arguments
      +
      static class Value.VT +
      Value Type
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      static intCAN_THROW 
      ETet +
      The number of argument
      +
      static intMAY_THROW 
      java.lang.Objecttag 
      java.lang.StringvalueType 
      Value.VTvt +
      Value Type
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + +
      Constructors 
      ModifierConstructorDescription
      protected Value​(Value.VT vt, + ET et) 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + + + + + +
        +
      • +

        et

        +
        public final ET et
        +
        The number of argument
        +
      • +
      + + + +
        +
      • +

        valueType

        +
        public java.lang.String valueType
        +
      • +
      + + + +
        +
      • +

        tag

        +
        public java.lang.Object tag
        +
      • +
      + + + +
        +
      • +

        vt

        +
        public final Value.VT vt
        +
        Value Type
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Value

        +
        protected Value​(Value.VT vt,
        +                ET et)
        +
        +
        Parameters:
        +
        vt - Value Type
        +
        et - The number of argument
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setOp

        +
        public void setOp​(Value op)
        +
      • +
      + + + +
        +
      • +

        setOp1

        +
        public void setOp1​(Value op)
        +
      • +
      + + + +
        +
      • +

        setOp2

        +
        public void setOp2​(Value op)
        +
      • +
      + + + +
        +
      • +

        setOps

        +
        public void setOps​(Value[] op)
        +
      • +
      + + + +
        +
      • +

        clone

        +
        public abstract Value clone()
        +
        +
        Overrides:
        +
        clone in class java.lang.Object
        +
        +
      • +
      + + + + + + + +
        +
      • +

        getOp

        +
        public Value getOp()
        +
      • +
      + + + +
        +
      • +

        getOp1

        +
        public Value getOp1()
        +
      • +
      + + + +
        +
      • +

        getOp2

        +
        public Value getOp2()
        +
      • +
      + + + +
        +
      • +

        getOps

        +
        public Value[] getOps()
        +
      • +
      + + + +
        +
      • +

        releaseMemory

        +
        protected void releaseMemory()
        +
        clean resource used by this value,release memory
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public final java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString0

        +
        protected abstract java.lang.String toString0()
        +
      • +
      + + + +
        +
      • +

        trim

        +
        public Value trim()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/expr/package-summary.html b/api/proguard/dexfile/ir/expr/package-summary.html new file mode 100644 index 000000000..a224ca538 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/package-summary.html @@ -0,0 +1,315 @@ + + + + + +proguard.dexfile.ir.expr (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.dexfile.ir.expr

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    AbstractInvokeExpr 
    ArrayExpr +
    Represent an Array expression
    +
    BinopExpr +
    Represent a Binop expression, value = op1 vt op2
    +
    CastExpr +
    * @see VT#CAST
    +
    Constant +
    Represent a constant, number/string/type
    +
    Exprs 
    FieldExpr +
    Represent a non-static Field expression.
    +
    FilledArrayExpr +
    Represent a FILLED_ARRAY expression.
    +
    InvokeCustomExpr 
    InvokeExpr +
    Represent a method invocation expression.
    +
    InvokeNewExpr +
    Represents an IR instructor equivalent to Java bytecode: `new X, invoke-special X.`
    +
    InvokePolymorphicExpr 
    Local +
    TODO DOC
    +
    NewExpr 
    NewMutiArrayExpr +
    Represent a NEW_MUTI_ARRAY expression.
    +
    PhiExpr 
    RefExpr +
    Represent a Reference expression
    +
    StaticFieldExpr +
    Represent a StaticField expression
    +
    TypeExpr +
    Represent a Type expression
    +
    UnopExpr +
    Represent a LENGTH,NEG expression
    +
    Value +
    Represent a local/constant/expression
    +
    Value.E0Expr +
    Represent an expression with no argument
    +
    Value.E1Expr +
    Represent an expression with 1 argument
    +
    Value.E2Expr +
    Represent an expression with 2 arguments
    +
    Value.EnExpr +
    Represent an expression with 3+ arguments
    +
    +
  • +
  • + + + + + + + + + + + + +
    Enum Summary 
    EnumDescription
    Value.VT +
    Value Type
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/dexfile/ir/expr/package-tree.html b/api/proguard/dexfile/ir/expr/package-tree.html new file mode 100644 index 000000000..c1d9164b2 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/package-tree.html @@ -0,0 +1,220 @@ + + + + + +proguard.dexfile.ir.expr Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.dexfile.ir.expr

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Enum Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/dexfile/ir/package-summary.html b/api/proguard/dexfile/ir/package-summary.html new file mode 100644 index 000000000..0d39e2aec --- /dev/null +++ b/api/proguard/dexfile/ir/package-summary.html @@ -0,0 +1,211 @@ + + + + + +proguard.dexfile.ir (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.dexfile.ir

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/dexfile/ir/package-tree.html b/api/proguard/dexfile/ir/package-tree.html new file mode 100644 index 000000000..25ec68582 --- /dev/null +++ b/api/proguard/dexfile/ir/package-tree.html @@ -0,0 +1,182 @@ + + + + + +proguard.dexfile.ir Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.dexfile.ir

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Enum Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) +
        +
      • proguard.dexfile.ir.ET
      • +
      • proguard.dexfile.ir.TypeClass
      • +
      +
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/dexfile/ir/stmt/AssignStmt.html b/api/proguard/dexfile/ir/stmt/AssignStmt.html new file mode 100644 index 000000000..1a8a305b9 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/AssignStmt.html @@ -0,0 +1,402 @@ + + + + + +AssignStmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AssignStmt

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AssignStmt

        +
        public AssignStmt​(Stmt.ST type,
        +                  Value left,
        +                  Value right)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/BaseSwitchStmt.html b/api/proguard/dexfile/ir/stmt/BaseSwitchStmt.html new file mode 100644 index 000000000..299a2f592 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/BaseSwitchStmt.html @@ -0,0 +1,384 @@ + + + + + +BaseSwitchStmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BaseSwitchStmt

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BaseSwitchStmt

        +
        public BaseSwitchStmt​(Stmt.ST type,
        +                      Value op)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/GotoStmt.html b/api/proguard/dexfile/ir/stmt/GotoStmt.html new file mode 100644 index 000000000..0d150ab7a --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/GotoStmt.html @@ -0,0 +1,455 @@ + + + + + +GotoStmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class GotoStmt

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        GotoStmt

        +
        public GotoStmt​(LabelStmt target)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/IfStmt.html b/api/proguard/dexfile/ir/stmt/IfStmt.html new file mode 100644 index 000000000..dbc170291 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/IfStmt.html @@ -0,0 +1,482 @@ + + + + + +IfStmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IfStmt

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        IfStmt

        +
        public IfStmt​(Stmt.ST type,
        +              Value condition,
        +              LabelStmt target)
        +
        IF
        +
        +
        Parameters:
        +
        type -
        +
        condition -
        +
        target -
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/JumpStmt.html b/api/proguard/dexfile/ir/stmt/JumpStmt.html new file mode 100644 index 000000000..8543cbd34 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/JumpStmt.html @@ -0,0 +1,266 @@ + + + + + +JumpStmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface JumpStmt

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    GotoStmt, IfStmt
    +
    +
    +
    public interface JumpStmt
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/ir/stmt/LabelStmt.html b/api/proguard/dexfile/ir/stmt/LabelStmt.html new file mode 100644 index 000000000..b0e92492f --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/LabelStmt.html @@ -0,0 +1,470 @@ + + + + + +LabelStmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LabelStmt

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        displayName

        +
        public java.lang.String displayName
        +
      • +
      + + + +
        +
      • +

        lineNumber

        +
        public int lineNumber
        +
      • +
      + + + +
        +
      • +

        phis

        +
        public java.util.List<AssignStmt> phis
        +
      • +
      + + + +
        +
      • +

        tag

        +
        public java.lang.Object tag
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LabelStmt

        +
        public LabelStmt()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        getDisplayName

        +
        public java.lang.String getDisplayName()
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/LookupSwitchStmt.html b/api/proguard/dexfile/ir/stmt/LookupSwitchStmt.html new file mode 100644 index 000000000..efee072bc --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/LookupSwitchStmt.html @@ -0,0 +1,446 @@ + + + + + +LookupSwitchStmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LookupSwitchStmt

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        lookupValues

        +
        public int[] lookupValues
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LookupSwitchStmt

        +
        public LookupSwitchStmt​(Value key,
        +                        int[] lookupValues,
        +                        LabelStmt[] targets,
        +                        LabelStmt defaultTarget)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/NopStmt.html b/api/proguard/dexfile/ir/stmt/NopStmt.html new file mode 100644 index 000000000..2a1752875 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/NopStmt.html @@ -0,0 +1,382 @@ + + + + + +NopStmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NopStmt

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NopStmt

        +
        public NopStmt()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/ReturnVoidStmt.html b/api/proguard/dexfile/ir/stmt/ReturnVoidStmt.html new file mode 100644 index 000000000..bfc870b18 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/ReturnVoidStmt.html @@ -0,0 +1,382 @@ + + + + + +ReturnVoidStmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReturnVoidStmt

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ReturnVoidStmt

        +
        public ReturnVoidStmt()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/Stmt.E0Stmt.html b/api/proguard/dexfile/ir/stmt/Stmt.E0Stmt.html new file mode 100644 index 000000000..049ad5cb1 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/Stmt.E0Stmt.html @@ -0,0 +1,325 @@ + + + + + +Stmt.E0Stmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Stmt.E0Stmt

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        E0Stmt

        +
        public E0Stmt​(Stmt.ST type)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/Stmt.E1Stmt.html b/api/proguard/dexfile/ir/stmt/Stmt.E1Stmt.html new file mode 100644 index 000000000..27333d3d6 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/Stmt.E1Stmt.html @@ -0,0 +1,419 @@ + + + + + +Stmt.E1Stmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Stmt.E1Stmt

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getOp

        +
        public Value getOp()
        +
        +
        Overrides:
        +
        getOp in class Stmt
        +
        +
      • +
      + + + +
        +
      • +

        setOp

        +
        public void setOp​(Value op)
        +
        +
        Overrides:
        +
        setOp in class Stmt
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/Stmt.E2Stmt.html b/api/proguard/dexfile/ir/stmt/Stmt.E2Stmt.html new file mode 100644 index 000000000..2a797e965 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/Stmt.E2Stmt.html @@ -0,0 +1,471 @@ + + + + + +Stmt.E2Stmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Stmt.E2Stmt

+
+
+ +
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    AssignStmt
    +
    +
    +
    Enclosing class:
    +
    Stmt
    +
    +
    +
    public abstract static class Stmt.E2Stmt
    +extends Stmt
    +
    Represent a statement with 2 arguments
    +
    +
    See Also:
    +
    ET.E2
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/Stmt.ST.html b/api/proguard/dexfile/ir/stmt/Stmt.ST.html new file mode 100644 index 000000000..6a0a936e4 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/Stmt.ST.html @@ -0,0 +1,646 @@ + + + + + +Stmt.ST (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum Stmt.ST

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Enum<Stmt.ST>
    • +
    • +
        +
      • proguard.dexfile.ir.stmt.Stmt.ST
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<Stmt.ST>
    +
    +
    +
    Enclosing class:
    +
    Stmt
    +
    +
    +
    public static enum Stmt.ST
    +extends java.lang.Enum<Stmt.ST>
    +
    Statement Type
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Detail

      + + + +
        +
      • +

        LOCAL_START

        +
        public static final Stmt.ST LOCAL_START
        +
      • +
      + + + +
        +
      • +

        LOCAL_END

        +
        public static final Stmt.ST LOCAL_END
        +
      • +
      + + + +
        +
      • +

        ASSIGN

        +
        public static final Stmt.ST ASSIGN
        +
      • +
      + + + +
        +
      • +

        IDENTITY

        +
        public static final Stmt.ST IDENTITY
        +
      • +
      + + + +
        +
      • +

        LABEL

        +
        public static final Stmt.ST LABEL
        +
      • +
      + + + +
        +
      • +

        LOCK

        +
        public static final Stmt.ST LOCK
        +
      • +
      + + + +
        +
      • +

        NOP

        +
        public static final Stmt.ST NOP
        +
      • +
      + + + +
        +
      • +

        UNLOCK

        +
        public static final Stmt.ST UNLOCK
        +
      • +
      + + + +
        +
      • +

        VOID_INVOKE

        +
        public static final Stmt.ST VOID_INVOKE
        +
      • +
      + + + +
        +
      • +

        FILL_ARRAY_DATA

        +
        public static final Stmt.ST FILL_ARRAY_DATA
        +
      • +
      + + + +
        +
      • +

        RETURN

        +
        public static final Stmt.ST RETURN
        +
      • +
      + + + +
        +
      • +

        RETURN_VOID

        +
        public static final Stmt.ST RETURN_VOID
        +
      • +
      + + + +
        +
      • +

        THROW

        +
        public static final Stmt.ST THROW
        +
      • +
      + + + +
        +
      • +

        GOTO

        +
        public static final Stmt.ST GOTO
        +
      • +
      + + + +
        +
      • +

        IF

        +
        public static final Stmt.ST IF
        +
      • +
      + + + +
        +
      • +

        LOOKUP_SWITCH

        +
        public static final Stmt.ST LOOKUP_SWITCH
        +
      • +
      + + + +
        +
      • +

        TABLE_SWITCH

        +
        public static final Stmt.ST TABLE_SWITCH
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static Stmt.ST[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (Stmt.ST c : Stmt.ST.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static Stmt.ST valueOf​(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      + + + +
        +
      • +

        canBranch

        +
        public boolean canBranch()
        +
      • +
      + + + +
        +
      • +

        canContinue

        +
        public boolean canContinue()
        +
      • +
      + + + +
        +
      • +

        canSwitch

        +
        public boolean canSwitch()
        +
      • +
      + + + +
        +
      • +

        mayThrow

        +
        public boolean mayThrow()
        +
      • +
      + + + +
        +
      • +

        canThrow

        +
        public boolean canThrow()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/Stmt.html b/api/proguard/dexfile/ir/stmt/Stmt.html new file mode 100644 index 000000000..9173c561a --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/Stmt.html @@ -0,0 +1,768 @@ + + + + + +Stmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Stmt

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.stmt.Stmt
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        _cfg_froms

        +
        public java.util.Set<Stmt> _cfg_froms
        +
        Used in construct of a method CFG, Previous Stmt nodes
        +
      • +
      + + + +
        +
      • +

        exceptionHandlers

        +
        public java.util.Set<LabelStmt> exceptionHandlers
        +
        Used in construct of a method CFG, After Stmt nodes
        +
      • +
      + + + +
        +
      • +

        visited

        +
        public boolean visited
        +
        Used in visit the method CFG
        +
      • +
      + + + +
        +
      • +

        frame

        +
        public java.lang.Object frame
        +
        Used in Local Split, forward frame of the Stmt
        +
      • +
      + + + +
        +
      • +

        _ts_default_next

        +
        public Stmt _ts_default_next
        +
      • +
      + + + +
        +
      • +

        et

        +
        public final ET et
        +
        The number of argument
        +
      • +
      + + + +
        +
      • +

        id

        +
        public int id
        +
        Used in ordering statements in a TreeSet, id of the Stmt in its StmtList
        +
      • +
      + + + +
        +
      • +

        st

        +
        public final Stmt.ST st
        +
        Statement Type
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Stmt

        +
        protected Stmt​(Stmt.ST st,
        +               ET et)
        +
        +
        Parameters:
        +
        st - Statement Type
        +
        et - The number of argument
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        getNext

        +
        public final Stmt getNext()
        +
        +
        Returns:
        +
        Next statement in StmtList, null if it is the last statement in StmtList
        +
        +
      • +
      + + + +
        +
      • +

        getOp

        +
        public Value getOp()
        +
      • +
      + + + +
        +
      • +

        getOp1

        +
        public Value getOp1()
        +
      • +
      + + + +
        +
      • +

        getOp2

        +
        public Value getOp2()
        +
      • +
      + + + +
        +
      • +

        getOps

        +
        public Value[] getOps()
        +
      • +
      + + + +
        +
      • +

        getPre

        +
        public final Stmt getPre()
        +
        +
        Returns:
        +
        Previous statement in StmtList, null if it is the first statement in StmtList
        +
        +
      • +
      + + + +
        +
      • +

        setOp

        +
        public void setOp​(Value op)
        +
      • +
      + + + +
        +
      • +

        setOp1

        +
        public void setOp1​(Value op)
        +
      • +
      + + + +
        +
      • +

        setOp2

        +
        public void setOp2​(Value op)
        +
      • +
      + + + +
        +
      • +

        setOps

        +
        public void setOps​(Value[] op)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/StmtList.html b/api/proguard/dexfile/ir/stmt/StmtList.html new file mode 100644 index 000000000..848ef38a4 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/StmtList.html @@ -0,0 +1,586 @@ + + + + + +StmtList (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StmtList

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.stmt.StmtList
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Iterable<Stmt>, java.util.Comparator<Stmt>
    +
    +
    +
    public class StmtList
    +extends java.lang.Object
    +implements java.lang.Iterable<Stmt>, java.util.Comparator<Stmt>
    +
    Represent a list of statement.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StmtList

        +
        public StmtList()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        add

        +
        public void add​(Stmt stmt)
        +
      • +
      + + + +
        +
      • +

        addAll

        +
        public void addAll​(java.util.Collection<Stmt> list)
        +
      • +
      + + + + + + + +
        +
      • +

        compare

        +
        public int compare​(Stmt o1,
        +                   Stmt o2)
        +
        +
        Specified by:
        +
        compare in interface java.util.Comparator<Stmt>
        +
        +
      • +
      + + + +
        +
      • +

        contains

        +
        public boolean contains​(Stmt stmt)
        +
      • +
      + + + +
        +
      • +

        getFirst

        +
        public Stmt getFirst()
        +
      • +
      + + + +
        +
      • +

        getLast

        +
        public Stmt getLast()
        +
      • +
      + + + +
        +
      • +

        getSize

        +
        public int getSize()
        +
      • +
      + + + +
        +
      • +

        insertAfter

        +
        public void insertAfter​(Stmt position,
        +                        Stmt stmt)
        +
      • +
      + + + +
        +
      • +

        insertBefore

        +
        public void insertBefore​(Stmt position,
        +                         Stmt stmt)
        +
      • +
      + + + +
        +
      • +

        insertFirst

        +
        public void insertFirst​(Stmt stmt)
        +
      • +
      + + + +
        +
      • +

        insertLast

        +
        public void insertLast​(Stmt stmt)
        +
      • +
      + + + +
        +
      • +

        iterator

        +
        public java.util.Iterator<Stmt> iterator()
        +
        +
        Specified by:
        +
        iterator in interface java.lang.Iterable<Stmt>
        +
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public void remove​(Stmt stmt)
        +
      • +
      + + + +
        +
      • +

        replace

        +
        public void replace​(Stmt stmt,
        +                    Stmt nas)
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        move

        +
        public void move​(Stmt start,
        +                 Stmt end,
        +                 Stmt dist)
        +
      • +
      + + + +
        +
      • +

        clear

        +
        public void clear()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/Stmts.html b/api/proguard/dexfile/ir/stmt/Stmts.html new file mode 100644 index 000000000..927181ee1 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/Stmts.html @@ -0,0 +1,480 @@ + + + + + +Stmts (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Stmts

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.stmt.Stmts
    • +
    +
  • +
+
+
    +
  • +
    +
    public final class Stmts
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/ir/stmt/TableSwitchStmt.html b/api/proguard/dexfile/ir/stmt/TableSwitchStmt.html new file mode 100644 index 000000000..e2dfed231 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/TableSwitchStmt.html @@ -0,0 +1,459 @@ + + + + + +TableSwitchStmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TableSwitchStmt

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        lowIndex

        +
        public int lowIndex
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TableSwitchStmt

        +
        public TableSwitchStmt()
        +
      • +
      + + + +
        +
      • +

        TableSwitchStmt

        +
        public TableSwitchStmt​(Value key,
        +                       int lowIndex,
        +                       LabelStmt[] targets,
        +                       LabelStmt defaultTarget)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/UnopStmt.html b/api/proguard/dexfile/ir/stmt/UnopStmt.html new file mode 100644 index 000000000..7ee59c90c --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/UnopStmt.html @@ -0,0 +1,393 @@ + + + + + +UnopStmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UnopStmt

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UnopStmt

        +
        public UnopStmt​(Stmt.ST type,
        +                Value op)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/VoidInvokeStmt.html b/api/proguard/dexfile/ir/stmt/VoidInvokeStmt.html new file mode 100644 index 000000000..023d79aa0 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/VoidInvokeStmt.html @@ -0,0 +1,397 @@ + + + + + +VoidInvokeStmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VoidInvokeStmt

+
+
+ +
+
    +
  • +
    +
    public class VoidInvokeStmt
    +extends Stmt.E1Stmt
    +
    Represent a void-expr: the expr result is ignored. possible op type: AbstractInvokeExpr, + FieldExpr, or others
    +
    +
    See Also:
    +
    Stmt.ST.VOID_INVOKE
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        VoidInvokeStmt

        +
        public VoidInvokeStmt​(Value op)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/stmt/package-summary.html b/api/proguard/dexfile/ir/stmt/package-summary.html new file mode 100644 index 000000000..bfb4cd255 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/package-summary.html @@ -0,0 +1,290 @@ + + + + + +proguard.dexfile.ir.stmt (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.dexfile.ir.stmt

+
+
+
    +
  • + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    JumpStmt 
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    AssignStmt +
    Represent an Assign statement
    +
    BaseSwitchStmt +
    Parent class of LookupSwitchStmt and TableSwitchStmt
    +
    GotoStmt +
    Represent a GOTO statement
    +
    IfStmt +
    Represent a IF statement
    +
    LabelStmt +
    Represent a Label statement
    +
    LookupSwitchStmt +
    Represent a LOOKUP_SWITCH statement
    +
    NopStmt +
    Represent a NOP statement
    +
    ReturnVoidStmt +
    Represent a RETURN_VOID statement
    +
    Stmt +
    Represent a statement
    +
    Stmt.E0Stmt +
    Represent a statement with no argument
    +
    Stmt.E1Stmt +
    Represent a statement with 1 argument
    +
    Stmt.E2Stmt +
    Represent a statement with 2 arguments
    +
    StmtList +
    Represent a list of statement.
    +
    Stmts 
    TableSwitchStmt +
    Represent a TABLE_SWITCH statement
    +
    UnopStmt 
    VoidInvokeStmt +
    Represent a void-expr: the expr result is ignored.
    +
    +
  • +
  • + + + + + + + + + + + + +
    Enum Summary 
    EnumDescription
    Stmt.ST +
    Statement Type
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/dexfile/ir/stmt/package-tree.html b/api/proguard/dexfile/ir/stmt/package-tree.html new file mode 100644 index 000000000..673268582 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/package-tree.html @@ -0,0 +1,212 @@ + + + + + +proguard.dexfile.ir.stmt Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.dexfile.ir.stmt

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) +
        +
      • proguard.dexfile.ir.stmt.Stmt.ST
      • +
      +
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/dexfile/ir/ts/AggTransformer.html b/api/proguard/dexfile/ir/ts/AggTransformer.html new file mode 100644 index 000000000..850333413 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/AggTransformer.html @@ -0,0 +1,324 @@ + + + + + +AggTransformer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AggTransformer

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/Cfg.DfsVisitor.html b/api/proguard/dexfile/ir/ts/Cfg.DfsVisitor.html new file mode 100644 index 000000000..1cdefedc5 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Cfg.DfsVisitor.html @@ -0,0 +1,252 @@ + + + + + +Cfg.DfsVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Cfg.DfsVisitor

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    Cfg
    +
    +
    +
    public static interface Cfg.DfsVisitor
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        onVisit

        +
        void onVisit​(Stmt p)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/ir/ts/Cfg.FrameVisitor.html b/api/proguard/dexfile/ir/ts/Cfg.FrameVisitor.html new file mode 100644 index 000000000..7d6004418 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Cfg.FrameVisitor.html @@ -0,0 +1,296 @@ + + + + + +Cfg.FrameVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Cfg.FrameVisitor<T>

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        merge

        +
        T merge​(T srcFrame,
        +        T distFrame,
        +        Stmt src,
        +        Stmt dist)
        +
      • +
      + + + +
        +
      • +

        initFirstFrame

        +
        T initFirstFrame​(Stmt first)
        +
      • +
      + + + + + +
        +
      • +

        exec

        +
        T exec​(T frame,
        +       Stmt stmt)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/ir/ts/Cfg.OnAssignCallBack.html b/api/proguard/dexfile/ir/ts/Cfg.OnAssignCallBack.html new file mode 100644 index 000000000..d2a55089c --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Cfg.OnAssignCallBack.html @@ -0,0 +1,262 @@ + + + + + +Cfg.OnAssignCallBack (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Cfg.OnAssignCallBack

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/ir/ts/Cfg.OnUseCallBack.html b/api/proguard/dexfile/ir/ts/Cfg.OnUseCallBack.html new file mode 100644 index 000000000..2724519c4 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Cfg.OnUseCallBack.html @@ -0,0 +1,260 @@ + + + + + +Cfg.OnUseCallBack (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Cfg.OnUseCallBack

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/ir/ts/Cfg.TravelCallBack.html b/api/proguard/dexfile/ir/ts/Cfg.TravelCallBack.html new file mode 100644 index 000000000..62ee72f3f --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Cfg.TravelCallBack.html @@ -0,0 +1,231 @@ + + + + + +Cfg.TravelCallBack (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Cfg.TravelCallBack

+
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/ir/ts/Cfg.html b/api/proguard/dexfile/ir/ts/Cfg.html new file mode 100644 index 000000000..9345164dd --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Cfg.html @@ -0,0 +1,590 @@ + + + + + +Cfg (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Cfg

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.Cfg
    • +
    +
  • +
+
+
    +
  • +
    +
    public class Cfg
    +extends java.lang.Object
    +
    TODO DOC
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Cfg

        +
        public Cfg()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        countLocalReads

        +
        public static int[] countLocalReads​(IrMethod method)
        +
      • +
      + + + +
        +
      • +

        reIndexLocalAndLabel

        +
        public static void reIndexLocalAndLabel​(IrMethod irMethod)
        +
      • +
      + + + +
        +
      • +

        notThrow

        +
        public static boolean notThrow​(Stmt s)
        +
      • +
      + + + +
        +
      • +

        isThrow

        +
        public static boolean isThrow​(Stmt s)
        +
      • +
      + + + +
        +
      • +

        createCfgWithoutEx

        +
        public static void createCfgWithoutEx​(IrMethod jm)
        +
      • +
      + + + +
        +
      • +

        createCFG

        +
        public static void createCFG​(IrMethod jm)
        +
      • +
      + + + + + + + + + + + + + + + + + + + +
        +
      • +

        travelMod

        +
        public static void travelMod​(Stmt p,
        +                             Cfg.TravelCallBack callback,
        +                             boolean travelPhi)
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        reIndexLocal

        +
        public static int reIndexLocal​(IrMethod method)
        +
        +
        Parameters:
        +
        method -
        +
        Returns:
        +
        size of locals
        +
        +
      • +
      + + + +
        +
      • +

        collectTos

        +
        public static void collectTos​(Stmt stmt,
        +                              java.util.Set<Stmt> tos)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/CleanLabel.html b/api/proguard/dexfile/ir/ts/CleanLabel.html new file mode 100644 index 000000000..d4bf115e0 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/CleanLabel.html @@ -0,0 +1,314 @@ + + + + + +CleanLabel (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CleanLabel

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.CleanLabel
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      CleanLabel() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidtransform​(IrMethod irMethod) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CleanLabel

        +
        public CleanLabel()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/ExceptionHandlerTrim.html b/api/proguard/dexfile/ir/ts/ExceptionHandlerTrim.html new file mode 100644 index 000000000..52dbfcda5 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/ExceptionHandlerTrim.html @@ -0,0 +1,351 @@ + + + + + +ExceptionHandlerTrim (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExceptionHandlerTrim

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.ExceptionHandlerTrim
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Transformer
    +
    +
    +
    public class ExceptionHandlerTrim
    +extends java.lang.Object
    +implements Transformer
    +
    Trim Exception handler. + +

    before: + +

    + L1
    + STMTs
    + throwableSTMTs
    + STMTs
    + throwableSTMTs
    + L2
    + ...
    + L3
    + ...
    +
    + L1 - L2 : all > L3
    +
    + 
    + +

    after: + +

    + L1
    + STMTs
    + L4
    + throwableSTMTs
    + L5
    + STMTs
    + L6
    + throwableSTMTs
    + L2
    + ...
    + L3
    + ...
    +
    + L4 - L5 : all > L3
    + L6 - L2 : all > L3
    + 
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidtransform​(IrMethod irMethod) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExceptionHandlerTrim

        +
        public ExceptionHandlerTrim()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/Ir2JRegAssignTransformer.Reg.html b/api/proguard/dexfile/ir/ts/Ir2JRegAssignTransformer.Reg.html new file mode 100644 index 000000000..a12fd3f68 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Ir2JRegAssignTransformer.Reg.html @@ -0,0 +1,340 @@ + + + + + +Ir2JRegAssignTransformer.Reg (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Ir2JRegAssignTransformer.Reg

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.Ir2JRegAssignTransformer.Reg
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    Ir2JRegAssignTransformer
    +
    +
    +
    public static class Ir2JRegAssignTransformer.Reg
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Reg() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/Ir2JRegAssignTransformer.html b/api/proguard/dexfile/ir/ts/Ir2JRegAssignTransformer.html new file mode 100644 index 000000000..74a2bbbf7 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Ir2JRegAssignTransformer.html @@ -0,0 +1,341 @@ + + + + + +Ir2JRegAssignTransformer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Ir2JRegAssignTransformer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.Ir2JRegAssignTransformer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Transformer
    +
    +
    +
    public class Ir2JRegAssignTransformer
    +extends java.lang.Object
    +implements Transformer
    +
      +
    1. Share same reg between locals with same type. +
    2. @This always assign as 0, and not share with others. +
    3. long/double tasks two index +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidtransform​(IrMethod method) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Ir2JRegAssignTransformer

        +
        public Ir2JRegAssignTransformer()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/MultiArrayTransformer.html b/api/proguard/dexfile/ir/ts/MultiArrayTransformer.html new file mode 100644 index 000000000..723bf63a3 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/MultiArrayTransformer.html @@ -0,0 +1,336 @@ + + + + + +MultiArrayTransformer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiArrayTransformer

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Transformer
    +
    +
    +
    public class MultiArrayTransformer
    +extends StatedTransformer
    +
    dex does have the instruction to create a multi-array. the implement is to using the + Array.newInstance(). transform + +
    + ((String[][][])Array.newInstance(String.class,new int[]{4, 5, 6}))
    + 
    + + to + +
    + new String[4][5][6]
    + 
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MultiArrayTransformer

        +
        public MultiArrayTransformer()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/NewTransformer.html b/api/proguard/dexfile/ir/ts/NewTransformer.html new file mode 100644 index 000000000..cc80e0e5f --- /dev/null +++ b/api/proguard/dexfile/ir/ts/NewTransformer.html @@ -0,0 +1,331 @@ + + + + + +NewTransformer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NewTransformer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.NewTransformer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Transformer
    +
    +
    +
    public class NewTransformer
    +extends java.lang.Object
    +implements Transformer
    +
    simply merge + +

    + +

    +     a=NEW Labc;
    +     a.();
    + 
    + +

    to + +

    + +

    + a = new abc();
    + 
    + +

    Run after [SSATransformer, RemoveLocalFromSSA]

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      NewTransformer() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidtransform​(IrMethod method) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NewTransformer

        +
        public NewTransformer()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/RemoveConstantFromSSA.html b/api/proguard/dexfile/ir/ts/RemoveConstantFromSSA.html new file mode 100644 index 000000000..968b3b754 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/RemoveConstantFromSSA.html @@ -0,0 +1,396 @@ + + + + + +RemoveConstantFromSSA (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RemoveConstantFromSSA

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Transformer
    +
    +
    +
    public class RemoveConstantFromSSA
    +extends StatedTransformer
    +
    1. Remove constant AssignStmt. + +
    + a = "123";
    + return a;
    + 
    + +

    to + +

    + return "123";
    + 
    + +

    2. Remove Phi if all value are equal + +

    + a = "123";
    + // ...
    + b = "123";
    + // ...
    + c = PHI(a, b);
    + return c;
    + 
    + +

    to + +

    + // ...
    + return "123";
    + 
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        LOCAL_COMPARATOR

        +
        public static final java.util.Comparator<Local> LOCAL_COMPARATOR
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RemoveConstantFromSSA

        +
        public RemoveConstantFromSSA()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/RemoveLocalFromSSA.html b/api/proguard/dexfile/ir/ts/RemoveLocalFromSSA.html new file mode 100644 index 000000000..3aa5d65a7 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/RemoveLocalFromSSA.html @@ -0,0 +1,361 @@ + + + + + +RemoveLocalFromSSA (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RemoveLocalFromSSA

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Transformer
    +
    +
    +
    public class RemoveLocalFromSSA
    +extends StatedTransformer
    +
    This class attempts to remove SSA form and reduce the number of variables used by the program. + This is an optimiser which does not need to be used as it does not change the semantics of a + program but simply the number of variables it uses and therefore its performance. However not + using this will lead to much larger memory requirements of the other optimisers as it requires + them to process more variables and variable assignments.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      RemoveLocalFromSSA() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static proguard.dexfile.ir.ts.RemoveLocalFromSSA.PhiObjectgetOrCreate​(java.util.Map<Local,​proguard.dexfile.ir.ts.RemoveLocalFromSSA.PhiObject> map, + Local local) 
      static voidlinkPhiObject​(proguard.dexfile.ir.ts.RemoveLocalFromSSA.PhiObject parent, + proguard.dexfile.ir.ts.RemoveLocalFromSSA.PhiObject child) 
      booleantransformReportChanged​(IrMethod method) 
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RemoveLocalFromSSA

        +
        public RemoveLocalFromSSA()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getOrCreate

        +
        public static proguard.dexfile.ir.ts.RemoveLocalFromSSA.PhiObject getOrCreate​(java.util.Map<Local,​proguard.dexfile.ir.ts.RemoveLocalFromSSA.PhiObject> map,
        +                                                                              Local local)
        +
      • +
      + + + +
        +
      • +

        linkPhiObject

        +
        public static void linkPhiObject​(proguard.dexfile.ir.ts.RemoveLocalFromSSA.PhiObject parent,
        +                                 proguard.dexfile.ir.ts.RemoveLocalFromSSA.PhiObject child)
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/StatedTransformer.html b/api/proguard/dexfile/ir/ts/StatedTransformer.html new file mode 100644 index 000000000..e4e5a3fb8 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/StatedTransformer.html @@ -0,0 +1,331 @@ + + + + + +StatedTransformer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StatedTransformer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.StatedTransformer
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StatedTransformer

        +
        public StatedTransformer()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transformReportChanged

        +
        public abstract boolean transformReportChanged​(IrMethod method)
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/Transformer.html b/api/proguard/dexfile/ir/ts/Transformer.html new file mode 100644 index 000000000..f941ae8cc --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Transformer.html @@ -0,0 +1,253 @@ + + + + + +Transformer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Transformer

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        void transform​(IrMethod method)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/ir/ts/TypeTransformer.TypeRef.html b/api/proguard/dexfile/ir/ts/TypeTransformer.TypeRef.html new file mode 100644 index 000000000..ebc661c20 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/TypeTransformer.TypeRef.html @@ -0,0 +1,573 @@ + + + + + +TypeTransformer.TypeRef (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypeTransformer.TypeRef

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.TypeTransformer.TypeRef
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    TypeTransformer
    +
    +
    +
    public static class TypeTransformer.TypeRef
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TypeRef

        +
        public TypeRef​(Value value)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public java.lang.String getType()
        +
      • +
      + + + +
        +
      • +

        updateTypeClass

        +
        public boolean updateTypeClass​(TypeClass clz)
        +
      • +
      + + + +
        +
      • +

        clear

        +
        public void clear()
        +
      • +
      + + + +
        +
      • +

        addUses

        +
        public boolean addUses​(java.lang.String ele)
        +
      • +
      + + + +
        +
      • +

        addAllUses

        +
        public boolean addAllUses​(java.util.Set<java.lang.String> uses)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/TypeTransformer.html b/api/proguard/dexfile/ir/ts/TypeTransformer.html new file mode 100644 index 000000000..c7ea691b3 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/TypeTransformer.html @@ -0,0 +1,337 @@ + + + + + +TypeTransformer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypeTransformer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.TypeTransformer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Transformer
    +
    +
    +
    public class TypeTransformer
    +extends java.lang.Object
    +implements Transformer
    +
    Type and correct Exprs
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Nested Class Summary

      + + + + + + + + + + + + +
      Nested Classes 
      Modifier and TypeClassDescription
      static class TypeTransformer.TypeRef 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      TypeTransformer() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidtransform​(IrMethod irMethod) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TypeTransformer

        +
        public TypeTransformer()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/UnSSATransformer.LiveA.html b/api/proguard/dexfile/ir/ts/UnSSATransformer.LiveA.html new file mode 100644 index 000000000..87c67737e --- /dev/null +++ b/api/proguard/dexfile/ir/ts/UnSSATransformer.LiveA.html @@ -0,0 +1,469 @@ + + + + + +UnSSATransformer.LiveA (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UnSSATransformer.LiveA

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LiveA

        +
        public LiveA​(IrMethod method)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        analyzeValue

        +
        protected void analyzeValue()
        +
        +
        Overrides:
        +
        analyzeValue in class BaseAnalyze<proguard.dexfile.ir.ts.UnSSATransformer.LiveV>
        +
        +
      • +
      + + + +
        +
      • +

        clearUnUsedFromFrame

        +
        protected void clearUnUsedFromFrame()
        +
      • +
      + + + +
        +
      • +

        markUsed

        +
        protected java.util.Set<proguard.dexfile.ir.ts.UnSSATransformer.LiveV> markUsed()
        +
      • +
      + + + +
        +
      • +

        merge

        +
        public proguard.dexfile.ir.ts.UnSSATransformer.LiveV[] merge​(proguard.dexfile.ir.ts.UnSSATransformer.LiveV[] srcFrame,
        +                                                             proguard.dexfile.ir.ts.UnSSATransformer.LiveV[] distFrame,
        +                                                             Stmt src,
        +                                                             Stmt dist)
        +
      • +
      + + + +
        +
      • +

        newFrame

        +
        protected proguard.dexfile.ir.ts.UnSSATransformer.LiveV[] newFrame​(int size)
        +
        +
        Specified by:
        +
        newFrame in class BaseAnalyze<proguard.dexfile.ir.ts.UnSSATransformer.LiveV>
        +
        +
      • +
      + + + +
        +
      • +

        newValue

        +
        protected proguard.dexfile.ir.ts.UnSSATransformer.LiveV newValue()
        +
        +
        Specified by:
        +
        newValue in class BaseAnalyze<proguard.dexfile.ir.ts.UnSSATransformer.LiveV>
        +
        +
      • +
      + + + +
        +
      • +

        onAssignLocal

        +
        protected proguard.dexfile.ir.ts.UnSSATransformer.LiveV onAssignLocal​(Local local,
        +                                                                      Value value)
        +
        +
        Overrides:
        +
        onAssignLocal in class BaseAnalyze<proguard.dexfile.ir.ts.UnSSATransformer.LiveV>
        +
        +
      • +
      + + + +
        +
      • +

        onUseLocal

        +
        protected void onUseLocal​(proguard.dexfile.ir.ts.UnSSATransformer.LiveV aValue,
        +                          Local local)
        +
        +
        Overrides:
        +
        onUseLocal in class BaseAnalyze<proguard.dexfile.ir.ts.UnSSATransformer.LiveV>
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/UnSSATransformer.RegAssign.html b/api/proguard/dexfile/ir/ts/UnSSATransformer.RegAssign.html new file mode 100644 index 000000000..34ad6b0b2 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/UnSSATransformer.RegAssign.html @@ -0,0 +1,318 @@ + + + + + +UnSSATransformer.RegAssign (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UnSSATransformer.RegAssign

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.UnSSATransformer.RegAssign
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    UnSSATransformer
    +
    +
    +
    protected static class UnSSATransformer.RegAssign
    +extends java.lang.Object
    +
    designed for assign index to Local, each Object is related to a Local
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + +
      Constructors 
      ModifierConstructorDescription
      protected RegAssign() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RegAssign

        +
        protected RegAssign()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/UnSSATransformer.html b/api/proguard/dexfile/ir/ts/UnSSATransformer.html new file mode 100644 index 000000000..50dc1c02d --- /dev/null +++ b/api/proguard/dexfile/ir/ts/UnSSATransformer.html @@ -0,0 +1,388 @@ + + + + + +UnSSATransformer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UnSSATransformer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.UnSSATransformer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Transformer
    +
    +
    +
    public class UnSSATransformer
    +extends java.lang.Object
    +implements Transformer
    +
    Remove PhiExprs, add a=x to each CFG from. + +

    TODO clean frame

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        OrderRegAssignByExcludeSizeDesc

        +
        protected static final java.util.Comparator<UnSSATransformer.RegAssign> OrderRegAssignByExcludeSizeDesc
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UnSSATransformer

        +
        public UnSSATransformer()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/UniqueQueue.html b/api/proguard/dexfile/ir/ts/UniqueQueue.html new file mode 100644 index 000000000..7af900ec6 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/UniqueQueue.html @@ -0,0 +1,485 @@ + + + + + +UniqueQueue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UniqueQueue<T>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.util.AbstractCollection<E>
    • +
    • +
        +
      • java.util.AbstractList<E>
      • +
      • +
          +
        • java.util.AbstractSequentialList<E>
        • +
        • +
            +
          • java.util.LinkedList<T>
          • +
          • +
              +
            • proguard.dexfile.ir.ts.UniqueQueue<T>
            • +
            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<T>, java.util.Collection<T>, java.util.Deque<T>, java.util.List<T>, java.util.Queue<T>
    +
    +
    +
    public class UniqueQueue<T>
    +extends java.util.LinkedList<T>
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      +
        +
      • + + +

        Fields inherited from class java.util.AbstractList

        +modCount
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      UniqueQueue() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanadd​(T t) 
      booleanaddAll​(java.util.Collection<? extends T> c) 
      Tpoll() 
      Tpop() 
      +
        +
      • + + +

        Methods inherited from class java.util.LinkedList

        +add, addAll, addFirst, addLast, clear, clone, contains, descendingIterator, element, get, getFirst, getLast, indexOf, lastIndexOf, listIterator, offer, offerFirst, offerLast, peek, peekFirst, peekLast, pollFirst, pollLast, push, remove, remove, remove, removeFirst, removeFirstOccurrence, removeLast, removeLastOccurrence, set, size, spliterator, toArray, toArray
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.AbstractSequentialList

        +iterator
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.AbstractList

        +equals, hashCode, listIterator, removeRange, subList
      • +
      +
        +
      • + + +

        Methods inherited from class java.util.AbstractCollection

        +containsAll, isEmpty, removeAll, retainAll, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      +
        +
      • + + +

        Methods inherited from interface java.util.Collection

        +parallelStream, removeIf, stream, toArray
      • +
      +
        +
      • + + +

        Methods inherited from interface java.util.Deque

        +iterator
      • +
      +
        +
      • + + +

        Methods inherited from interface java.lang.Iterable

        +forEach
      • +
      +
        +
      • + + +

        Methods inherited from interface java.util.List

        +containsAll, equals, hashCode, isEmpty, iterator, listIterator, removeAll, replaceAll, retainAll, sort, subList
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UniqueQueue

        +
        public UniqueQueue()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addAll

        +
        public boolean addAll​(java.util.Collection<? extends T> c)
        +
        +
        Specified by:
        +
        addAll in interface java.util.Collection<T>
        +
        Specified by:
        +
        addAll in interface java.util.Deque<T>
        +
        Specified by:
        +
        addAll in interface java.util.List<T>
        +
        Overrides:
        +
        addAll in class java.util.LinkedList<T>
        +
        +
      • +
      + + + + + +
        +
      • +

        add

        +
        public boolean add​(T t)
        +
        +
        Specified by:
        +
        add in interface java.util.Collection<T>
        +
        Specified by:
        +
        add in interface java.util.Deque<T>
        +
        Specified by:
        +
        add in interface java.util.List<T>
        +
        Specified by:
        +
        add in interface java.util.Queue<T>
        +
        Overrides:
        +
        add in class java.util.LinkedList<T>
        +
        +
      • +
      + + + +
        +
      • +

        poll

        +
        public T poll()
        +
        +
        Specified by:
        +
        poll in interface java.util.Deque<T>
        +
        Specified by:
        +
        poll in interface java.util.Queue<T>
        +
        Overrides:
        +
        poll in class java.util.LinkedList<T>
        +
        +
      • +
      + + + +
        +
      • +

        pop

        +
        public T pop()
        +
        +
        Specified by:
        +
        pop in interface java.util.Deque<T>
        +
        Overrides:
        +
        pop in class java.util.LinkedList<T>
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/VoidInvokeTransformer.html b/api/proguard/dexfile/ir/ts/VoidInvokeTransformer.html new file mode 100644 index 000000000..6d8554271 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/VoidInvokeTransformer.html @@ -0,0 +1,350 @@ + + + + + +VoidInvokeTransformer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VoidInvokeTransformer

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Transformer
    +
    +
    +
    public class VoidInvokeTransformer
    +extends StatedTransformer
    +
    convert + +
    + a = b.get();
    + 
    + +

    to + +

    + b.get();
    + 
    + +

    if a is not used in other place.

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/ZeroTransformer.html b/api/proguard/dexfile/ir/ts/ZeroTransformer.html new file mode 100644 index 000000000..ec97ce2bf --- /dev/null +++ b/api/proguard/dexfile/ir/ts/ZeroTransformer.html @@ -0,0 +1,356 @@ + + + + + +ZeroTransformer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ZeroTransformer

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Transformer
    +
    +
    +
    public class ZeroTransformer
    +extends StatedTransformer
    +
    dex mix use as integer 0 and object null. the following code is validate in dex, but invalidate + in .class + +
    +     a=0
    +     if x>0 goto L1
    +     L2: [b=phi(a,c)]
    +     useAsObject(b);
    +     c=getAnotherObject();
    +     goto L2:
    +     L1: [d=phi(a,e)]
    +     useAsInt(d);
    +     e=123
    +     goto L1:
    + 
    + +

    we transform the code to + +

    +     a1=0
    +     a=0
    +     if x>0 goto L1
    +     a2=0
    +     L2: [b=phi(a1,c)]
    +     useAsObject(b);
    +     c=getAnotherObject();
    +     goto L2:
    +     L1: [d=phi(a,e)]
    +     useAsInt(d);
    +     e=123
    +     goto L1:
    + 
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/an/AnalyzeValue.html b/api/proguard/dexfile/ir/ts/an/AnalyzeValue.html new file mode 100644 index 000000000..8d63b1a71 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/an/AnalyzeValue.html @@ -0,0 +1,252 @@ + + + + + +AnalyzeValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface AnalyzeValue

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    SimpleLiveValue
    +
    +
    +
    public interface AnalyzeValue
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        toRsp

        +
        char toRsp()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/ir/ts/an/BaseAnalyze.html b/api/proguard/dexfile/ir/ts/an/BaseAnalyze.html new file mode 100644 index 000000000..4ef188acc --- /dev/null +++ b/api/proguard/dexfile/ir/ts/an/BaseAnalyze.html @@ -0,0 +1,715 @@ + + + + + +BaseAnalyze (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BaseAnalyze<T extends AnalyzeValue>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.an.BaseAnalyze<T>
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BaseAnalyze

        +
        public BaseAnalyze​(IrMethod method)
        +
      • +
      + + + +
        +
      • +

        BaseAnalyze

        +
        public BaseAnalyze​(IrMethod method,
        +                   boolean reindexLocal)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        analyze

        +
        public void analyze()
        +
      • +
      + + + +
        +
      • +

        analyze0

        +
        protected void analyze0()
        +
      • +
      + + + +
        +
      • +

        analyzeValue

        +
        protected void analyzeValue()
        +
      • +
      + + + + + +
        +
      • +

        afterExec

        +
        protected void afterExec​(T[] frame,
        +                         Stmt stmt)
        +
      • +
      + + + + + + + + + +
        +
      • +

        getFromFrame

        +
        protected T getFromFrame​(int idx)
        +
      • +
      + + + +
        +
      • +

        getFrame

        +
        protected T[] getFrame​(Stmt stmt)
        +
      • +
      + + + + + +
        +
      • +

        setFrame

        +
        protected void setFrame​(Stmt stmt,
        +                        T[] frame)
        +
      • +
      + + + +
        +
      • +

        init

        +
        protected void init()
        +
      • +
      + + + +
        +
      • +

        initCFG

        +
        protected void initCFG()
        +
      • +
      + + + +
        +
      • +

        newFrame

        +
        protected T[] newFrame()
        +
      • +
      + + + + + + + +
        +
      • +

        newFrame

        +
        protected abstract T[] newFrame​(int size)
        +
      • +
      + + + +
        +
      • +

        newValue

        +
        protected abstract T newValue()
        +
      • +
      + + + + + + + +
        +
      • +

        onAssignLocal

        +
        protected T onAssignLocal​(Local local,
        +                          Value value)
        +
      • +
      + + + + + + + + + +
        +
      • +

        onUseLocal

        +
        protected void onUseLocal​(T aValue,
        +                          Local local)
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/an/SimpleLiveAnalyze.html b/api/proguard/dexfile/ir/ts/an/SimpleLiveAnalyze.html new file mode 100644 index 000000000..1dc98043b --- /dev/null +++ b/api/proguard/dexfile/ir/ts/an/SimpleLiveAnalyze.html @@ -0,0 +1,467 @@ + + + + + +SimpleLiveAnalyze (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SimpleLiveAnalyze

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/an/SimpleLiveValue.html b/api/proguard/dexfile/ir/ts/an/SimpleLiveValue.html new file mode 100644 index 000000000..ed6aa7836 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/an/SimpleLiveValue.html @@ -0,0 +1,383 @@ + + + + + +SimpleLiveValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SimpleLiveValue

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.an.SimpleLiveValue
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AnalyzeValue
    +
    +
    +
    public class SimpleLiveValue
    +extends java.lang.Object
    +implements AnalyzeValue
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SimpleLiveValue() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      chartoRsp() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SimpleLiveValue

        +
        public SimpleLiveValue()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/ir/ts/an/package-summary.html b/api/proguard/dexfile/ir/ts/an/package-summary.html new file mode 100644 index 000000000..e11d606d0 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/an/package-summary.html @@ -0,0 +1,187 @@ + + + + + +proguard.dexfile.ir.ts.an (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.dexfile.ir.ts.an

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/dexfile/ir/ts/an/package-tree.html b/api/proguard/dexfile/ir/ts/an/package-tree.html new file mode 100644 index 000000000..811e6bb9c --- /dev/null +++ b/api/proguard/dexfile/ir/ts/an/package-tree.html @@ -0,0 +1,172 @@ + + + + + +proguard.dexfile.ir.ts.an Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.dexfile.ir.ts.an

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/dexfile/ir/ts/package-summary.html b/api/proguard/dexfile/ir/ts/package-summary.html new file mode 100644 index 000000000..937327716 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/package-summary.html @@ -0,0 +1,300 @@ + + + + + +proguard.dexfile.ir.ts (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.dexfile.ir.ts

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/dexfile/ir/ts/package-tree.html b/api/proguard/dexfile/ir/ts/package-tree.html new file mode 100644 index 000000000..191210aa2 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/package-tree.html @@ -0,0 +1,220 @@ + + + + + +proguard.dexfile.ir.ts Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.dexfile.ir.ts

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/dexfile/package-summary.html b/api/proguard/dexfile/package-summary.html new file mode 100644 index 000000000..4184ffced --- /dev/null +++ b/api/proguard/dexfile/package-summary.html @@ -0,0 +1,166 @@ + + + + + +proguard.dexfile (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.dexfile

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    AndroidConstants +
    Android-related constants.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/dexfile/package-tree.html b/api/proguard/dexfile/package-tree.html new file mode 100644 index 000000000..8cd2bb5eb --- /dev/null +++ b/api/proguard/dexfile/package-tree.html @@ -0,0 +1,161 @@ + + + + + +proguard.dexfile Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.dexfile

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/dexfile/reader/BaseDexFileReader.html b/api/proguard/dexfile/reader/BaseDexFileReader.html new file mode 100644 index 000000000..fc8ea7768 --- /dev/null +++ b/api/proguard/dexfile/reader/BaseDexFileReader.html @@ -0,0 +1,328 @@ + + + + + +BaseDexFileReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface BaseDexFileReader

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getDexVersion

        +
        int getDexVersion()
        +
      • +
      + + + + + + + +
        +
      • +

        getClassNames

        +
        java.util.List<java.lang.String> getClassNames()
        +
      • +
      + + + + + + + +
        +
      • +

        accept

        +
        void accept​(DexFileVisitor dv,
        +            int classIdx,
        +            int config)
        +
      • +
      + + + +
        +
      • +

        accept

        +
        void accept​(java.util.function.Consumer<java.lang.String> stringConsumer)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/reader/CFG.html b/api/proguard/dexfile/reader/CFG.html new file mode 100644 index 000000000..4f844f084 --- /dev/null +++ b/api/proguard/dexfile/reader/CFG.html @@ -0,0 +1,340 @@ + + + + + +CFG (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface CFG

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    Op
    +
    +
    +
    public interface CFG
    +
  • +
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/reader/DexConstants.html b/api/proguard/dexfile/reader/DexConstants.html new file mode 100644 index 000000000..9b7c33694 --- /dev/null +++ b/api/proguard/dexfile/reader/DexConstants.html @@ -0,0 +1,877 @@ + + + + + +DexConstants (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface DexConstants

+
+
+
+
    +
  • +
    +
    public interface DexConstants
    +
    constants in dex file
    +
  • +
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/reader/DexContainerReader.html b/api/proguard/dexfile/reader/DexContainerReader.html new file mode 100644 index 000000000..f4cd2fc95 --- /dev/null +++ b/api/proguard/dexfile/reader/DexContainerReader.html @@ -0,0 +1,417 @@ + + + + + +DexContainerReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexContainerReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.DexContainerReader
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    BaseDexFileReader
    +
    +
    +
    public class DexContainerReader
    +extends java.lang.Object
    +implements BaseDexFileReader
    +
    Open and read a dex container, introduced in dex format v41. To read a dex file with this, use + the DexReaderFactory factory methods: + +
    + DexFileVisitor visitor = new xxxFileVisitor();
    + BaseDexFileReader reader = DexReaderFactory.createSingleReader(dexFile);
    + reader.accept(visitor);
    + 
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/DexException.html b/api/proguard/dexfile/reader/DexException.html new file mode 100644 index 000000000..babfea724 --- /dev/null +++ b/api/proguard/dexfile/reader/DexException.html @@ -0,0 +1,403 @@ + + + + + +DexException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • +
        +
      • java.lang.Exception
      • +
      • +
          +
        • java.lang.RuntimeException
        • +
        • +
            +
          • proguard.dexfile.reader.DexException
          • +
          +
        • +
        +
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable
    +
    +
    +
    public class DexException
    +extends java.lang.RuntimeException
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DexException() 
      DexException​(java.lang.String message) 
      DexException​(java.lang.String messageFormat, + java.lang.Object... args) +
      this is equals to
      +
      DexException​(java.lang.String message, + java.lang.Throwable cause) 
      DexException​(java.lang.Throwable cause) 
      DexException​(java.lang.Throwable cause, + java.lang.String messageFormat, + java.lang.Object... args) +
      this is equals to
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Throwable

        +addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexException

        +
        public DexException()
        +
      • +
      + + + +
        +
      • +

        DexException

        +
        public DexException​(java.lang.String message)
        +
        +
        Parameters:
        +
        message -
        +
        +
      • +
      + + + +
        +
      • +

        DexException

        +
        public DexException​(java.lang.Throwable cause)
        +
        +
        Parameters:
        +
        cause -
        +
        +
      • +
      + + + +
        +
      • +

        DexException

        +
        public DexException​(java.lang.String message,
        +                    java.lang.Throwable cause)
        +
        +
        Parameters:
        +
        message -
        +
        cause -
        +
        +
      • +
      + + + +
        +
      • +

        DexException

        +
        public DexException​(java.lang.Throwable cause,
        +                    java.lang.String messageFormat,
        +                    java.lang.Object... args)
        +
        this is equals to + +

        new DexException(String.format(messageFormat, args), cause);

        +
        +
        Parameters:
        +
        cause -
        +
        messageFormat -
        +
        args -
        +
        +
      • +
      + + + +
        +
      • +

        DexException

        +
        public DexException​(java.lang.String messageFormat,
        +                    java.lang.Object... args)
        +
        this is equals to + +

        new DexException(String.format(messageFormat, args));

        +
        +
        Parameters:
        +
        messageFormat -
        +
        args -
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/reader/DexFileReader.html b/api/proguard/dexfile/reader/DexFileReader.html new file mode 100644 index 000000000..97b39805f --- /dev/null +++ b/api/proguard/dexfile/reader/DexFileReader.html @@ -0,0 +1,784 @@ + + + + + +DexFileReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexFileReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.DexFileReader
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    BaseDexFileReader
    +
    +
    +
    public class DexFileReader
    +extends java.lang.Object
    +implements BaseDexFileReader
    +
    Open and read a dex file.this is the entrance of dex-reader. to read a dex/odex, use the + following code: + +
    + DexFileVisitor visitor = new xxxFileVisitor();
    + DexFileReader reader = new DexFileReader(dexFile);
    + reader.accept(visitor);
    + 
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DexFileReader​(byte[] data) 
      DexFileReader​(java.nio.ByteBuffer in) +
      read dex from a ByteBuffer.
      +
      DexFileReader​(java.nio.ByteBuffer in, + int position) +
      read dex from a ByteBuffer.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(java.util.function.Consumer<java.lang.String> stringConsumer) +
      Provides the given consumer with all strings in the dex file.
      +
      voidaccept​(DexFileVisitor dv) +
      equals to accept(DexFileVisitor, int) with 0 as config
      +
      voidaccept​(DexFileVisitor dv, + int config) +
      Makes the given visitor visit the dex file.
      +
      voidaccept​(DexFileVisitor dv, + int classIdx, + int config) +
      Makes the given visitor visit the dex file.
      +
      java.util.List<java.lang.String>getClassNames() 
      intgetClassSize() +
      the size of class in dex file
      +
      intgetDexVersion() 
      java.lang.BooleanignoreClass​(java.lang.String className) 
      static voidniceExceptionMessage​(java.lang.Throwable t, + int deep) 
      static intreadLeb128i​(java.nio.ByteBuffer in) 
      static intreadULeb128i​(java.nio.ByteBuffer in) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        SKIP_DEBUG

        +
        public static final int SKIP_DEBUG
        +
        skip debug infos in dex file.
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        SKIP_ANNOTATION

        +
        public static final int SKIP_ANNOTATION
        +
        skip annotation info in dex file.
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        SKIP_FIELD_CONSTANT

        +
        public static final int SKIP_FIELD_CONSTANT
        +
        skip field constant in dex file.
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        IGNORE_READ_EXCEPTION

        +
        public static final int IGNORE_READ_EXCEPTION
        +
        ingore read exception
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        KEEP_ALL_METHODS

        +
        public static final int KEEP_ALL_METHODS
        +
        read all methods, even if they are glitch
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        SKIP_BROKEN_DEBUG_INFO

        +
        public static final int SKIP_BROKEN_DEBUG_INFO
        +
        Do not throw an exception if debug info is not valid
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexFileReader

        +
        public DexFileReader​(java.nio.ByteBuffer in)
        +
        read dex from a ByteBuffer.
        +
        +
        Parameters:
        +
        in -
        +
        +
      • +
      + + + +
        +
      • +

        DexFileReader

        +
        public DexFileReader​(java.nio.ByteBuffer in,
        +                     int position)
        +
        read dex from a ByteBuffer.
        +
        +
        Parameters:
        +
        in -
        +
        position - start of the dexfile in the buffer
        +
        +
      • +
      + + + +
        +
      • +

        DexFileReader

        +
        public DexFileReader​(byte[] data)
        +
        +
        Parameters:
        +
        data - the byte array of dex
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/DexLabel.html b/api/proguard/dexfile/reader/DexLabel.html new file mode 100644 index 000000000..b6e344d08 --- /dev/null +++ b/api/proguard/dexfile/reader/DexLabel.html @@ -0,0 +1,326 @@ + + + + + +DexLabel (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexLabel

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.DexLabel
    • +
    +
  • +
+
+
    +
  • +
    +
    public class DexLabel
    +extends java.lang.Object
    +
    a light weight version of org.objectweb.asm.Label
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DexLabel() 
      DexLabel​(int offset) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexLabel

        +
        public DexLabel​(int offset)
        +
        +
        Parameters:
        +
        offset - the offset of the label
        +
        +
      • +
      + + + +
        +
      • +

        DexLabel

        +
        public DexLabel()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/DexReaderFactory.html b/api/proguard/dexfile/reader/DexReaderFactory.html new file mode 100644 index 000000000..0b0964379 --- /dev/null +++ b/api/proguard/dexfile/reader/DexReaderFactory.html @@ -0,0 +1,337 @@ + + + + + +DexReaderFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexReaderFactory

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.DexReaderFactory
    • +
    +
  • +
+
+
    +
  • +
    +
    public class DexReaderFactory
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexReaderFactory

        +
        public DexReaderFactory()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createSingleReader

        +
        public static BaseDexFileReader createSingleReader​(java.io.InputStream in)
        +                                            throws java.io.IOException
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createSingleReader

        +
        public static BaseDexFileReader createSingleReader​(byte[] data)
        +
      • +
      + + + +
        +
      • +

        createSingleReader

        +
        public static BaseDexFileReader createSingleReader​(java.nio.ByteBuffer in)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/DexType.html b/api/proguard/dexfile/reader/DexType.html new file mode 100644 index 000000000..ee3b9f519 --- /dev/null +++ b/api/proguard/dexfile/reader/DexType.html @@ -0,0 +1,354 @@ + + + + + +DexType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexType

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.DexType
    • +
    +
  • +
+
+
    +
  • +
    +
    public class DexType
    +extends java.lang.Object
    +
    a light weight version of org.objectweb.asm.Type
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      java.lang.Stringdesc +
      type descriptor, in TypeDescriptor format
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DexType​(java.lang.String desc) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        desc

        +
        public final java.lang.String desc
        +
        type descriptor, in TypeDescriptor format
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexType

        +
        public DexType​(java.lang.String desc)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/Field.html b/api/proguard/dexfile/reader/Field.html new file mode 100644 index 000000000..fe095e965 --- /dev/null +++ b/api/proguard/dexfile/reader/Field.html @@ -0,0 +1,367 @@ + + + + + +Field (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Field

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.Field
    • +
    +
  • +
+
+
    +
  • +
    +
    public class Field
    +extends java.lang.Object
    +
    represent a field_id_item in dex file format
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Field​(java.lang.String owner, + java.lang.String name, + java.lang.String type) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.StringgetName() 
      java.lang.StringgetOwner() 
      java.lang.StringgetType() 
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Field

        +
        public Field​(java.lang.String owner,
        +             java.lang.String name,
        +             java.lang.String type)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        +
        Returns:
        +
        the name
        +
        +
      • +
      + + + +
        +
      • +

        getOwner

        +
        public java.lang.String getOwner()
        +
        +
        Returns:
        +
        the owner
        +
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public java.lang.String getType()
        +
        +
        Returns:
        +
        the type
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/InstructionFormat.html b/api/proguard/dexfile/reader/InstructionFormat.html new file mode 100644 index 000000000..e52c09f7e --- /dev/null +++ b/api/proguard/dexfile/reader/InstructionFormat.html @@ -0,0 +1,730 @@ + + + + + +InstructionFormat (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum InstructionFormat

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Enum<InstructionFormat>
    • +
    • +
        +
      • proguard.dexfile.reader.InstructionFormat
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<InstructionFormat>
    +
    +
    +
    public enum InstructionFormat
    +extends java.lang.Enum<InstructionFormat>
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/InstructionIndexType.html b/api/proguard/dexfile/reader/InstructionIndexType.html new file mode 100644 index 000000000..5450dbf93 --- /dev/null +++ b/api/proguard/dexfile/reader/InstructionIndexType.html @@ -0,0 +1,506 @@ + + + + + +InstructionIndexType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum InstructionIndexType

+
+
+
    +
  • java.lang.Object
  • +
  • + +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static InstructionIndexType[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (InstructionIndexType c : InstructionIndexType.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static InstructionIndexType valueOf​(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/Method.html b/api/proguard/dexfile/reader/Method.html new file mode 100644 index 000000000..9fb9cc6ee --- /dev/null +++ b/api/proguard/dexfile/reader/Method.html @@ -0,0 +1,464 @@ + + + + + +Method (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Method

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.Method
    • +
    +
  • +
+
+
    +
  • +
    +
    public class Method
    +extends java.lang.Object
    +
    represent a method_id_item in dex file format
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Method​(java.lang.String owner, + java.lang.String name, + java.lang.String[] parameterTypes, + java.lang.String returnType) 
      Method​(java.lang.String owner, + java.lang.String name, + Proto proto) 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Method

        +
        public Method​(java.lang.String owner,
        +              java.lang.String name,
        +              java.lang.String[] parameterTypes,
        +              java.lang.String returnType)
        +
      • +
      + + + +
        +
      • +

        Method

        +
        public Method​(java.lang.String owner,
        +              java.lang.String name,
        +              Proto proto)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getProto

        +
        public Proto getProto()
        +
      • +
      + + + +
        +
      • +

        getDesc

        +
        public java.lang.String getDesc()
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        +
        Returns:
        +
        the name
        +
        +
      • +
      + + + +
        +
      • +

        getOwner

        +
        public java.lang.String getOwner()
        +
        +
        Returns:
        +
        the owner
        +
        +
      • +
      + + + +
        +
      • +

        getParameterTypes

        +
        public java.lang.String[] getParameterTypes()
        +
        +
        Returns:
        +
        the parameterTypes
        +
        +
      • +
      + + + +
        +
      • +

        getReturnType

        +
        public java.lang.String getReturnType()
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/MethodHandle.html b/api/proguard/dexfile/reader/MethodHandle.html new file mode 100644 index 000000000..01ce61aac --- /dev/null +++ b/api/proguard/dexfile/reader/MethodHandle.html @@ -0,0 +1,592 @@ + + + + + +MethodHandle (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodHandle

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.MethodHandle
    • +
    +
  • +
+
+
    +
  • +
    +
    public class MethodHandle
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodHandle

        +
        public MethodHandle​(int type,
        +                    Field field)
        +
      • +
      + + + +
        +
      • +

        MethodHandle

        +
        public MethodHandle​(int type,
        +                    Method method)
        +
      • +
      + + + +
        +
      • +

        MethodHandle

        +
        public MethodHandle​(int type,
        +                    Field field,
        +                    Method method)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public int getType()
        +
      • +
      + + + +
        +
      • +

        getField

        +
        public Field getField()
        +
      • +
      + + + +
        +
      • +

        getMethod

        +
        public Method getMethod()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/Op.html b/api/proguard/dexfile/reader/Op.html new file mode 100644 index 000000000..fa81c0591 --- /dev/null +++ b/api/proguard/dexfile/reader/Op.html @@ -0,0 +1,3460 @@ + + + + + +Op (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum Op

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Enum<Op>
    • +
    • +
        +
      • proguard.dexfile.reader.Op
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<Op>, CFG
    +
    +
    +
    public enum Op
    +extends java.lang.Enum<Op>
    +implements CFG
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Detail

      + + + +
        +
      • +

        NOP

        +
        public static final Op NOP
        +
      • +
      + + + +
        +
      • +

        MOVE

        +
        public static final Op MOVE
        +
      • +
      + + + +
        +
      • +

        MOVE_FROM16

        +
        public static final Op MOVE_FROM16
        +
      • +
      + + + +
        +
      • +

        MOVE_16

        +
        public static final Op MOVE_16
        +
      • +
      + + + +
        +
      • +

        MOVE_WIDE

        +
        public static final Op MOVE_WIDE
        +
      • +
      + + + +
        +
      • +

        MOVE_WIDE_FROM16

        +
        public static final Op MOVE_WIDE_FROM16
        +
      • +
      + + + +
        +
      • +

        MOVE_WIDE_16

        +
        public static final Op MOVE_WIDE_16
        +
      • +
      + + + +
        +
      • +

        MOVE_OBJECT

        +
        public static final Op MOVE_OBJECT
        +
      • +
      + + + +
        +
      • +

        MOVE_OBJECT_FROM16

        +
        public static final Op MOVE_OBJECT_FROM16
        +
      • +
      + + + +
        +
      • +

        MOVE_OBJECT_16

        +
        public static final Op MOVE_OBJECT_16
        +
      • +
      + + + +
        +
      • +

        MOVE_RESULT

        +
        public static final Op MOVE_RESULT
        +
      • +
      + + + +
        +
      • +

        MOVE_RESULT_WIDE

        +
        public static final Op MOVE_RESULT_WIDE
        +
      • +
      + + + +
        +
      • +

        MOVE_RESULT_OBJECT

        +
        public static final Op MOVE_RESULT_OBJECT
        +
      • +
      + + + +
        +
      • +

        MOVE_EXCEPTION

        +
        public static final Op MOVE_EXCEPTION
        +
      • +
      + + + +
        +
      • +

        RETURN_VOID

        +
        public static final Op RETURN_VOID
        +
      • +
      + + + +
        +
      • +

        RETURN

        +
        public static final Op RETURN
        +
      • +
      + + + +
        +
      • +

        RETURN_WIDE

        +
        public static final Op RETURN_WIDE
        +
      • +
      + + + +
        +
      • +

        RETURN_OBJECT

        +
        public static final Op RETURN_OBJECT
        +
      • +
      + + + +
        +
      • +

        CONST_4

        +
        public static final Op CONST_4
        +
      • +
      + + + +
        +
      • +

        CONST_16

        +
        public static final Op CONST_16
        +
      • +
      + + + +
        +
      • +

        CONST

        +
        public static final Op CONST
        +
      • +
      + + + +
        +
      • +

        CONST_HIGH16

        +
        public static final Op CONST_HIGH16
        +
      • +
      + + + +
        +
      • +

        CONST_WIDE_16

        +
        public static final Op CONST_WIDE_16
        +
      • +
      + + + +
        +
      • +

        CONST_WIDE_32

        +
        public static final Op CONST_WIDE_32
        +
      • +
      + + + +
        +
      • +

        CONST_WIDE

        +
        public static final Op CONST_WIDE
        +
      • +
      + + + +
        +
      • +

        CONST_WIDE_HIGH16

        +
        public static final Op CONST_WIDE_HIGH16
        +
      • +
      + + + +
        +
      • +

        CONST_STRING

        +
        public static final Op CONST_STRING
        +
      • +
      + + + +
        +
      • +

        CONST_STRING_JUMBO

        +
        public static final Op CONST_STRING_JUMBO
        +
      • +
      + + + +
        +
      • +

        CONST_CLASS

        +
        public static final Op CONST_CLASS
        +
      • +
      + + + +
        +
      • +

        MONITOR_ENTER

        +
        public static final Op MONITOR_ENTER
        +
      • +
      + + + +
        +
      • +

        MONITOR_EXIT

        +
        public static final Op MONITOR_EXIT
        +
      • +
      + + + +
        +
      • +

        CHECK_CAST

        +
        public static final Op CHECK_CAST
        +
      • +
      + + + +
        +
      • +

        INSTANCE_OF

        +
        public static final Op INSTANCE_OF
        +
      • +
      + + + +
        +
      • +

        ARRAY_LENGTH

        +
        public static final Op ARRAY_LENGTH
        +
      • +
      + + + +
        +
      • +

        NEW_INSTANCE

        +
        public static final Op NEW_INSTANCE
        +
      • +
      + + + +
        +
      • +

        NEW_ARRAY

        +
        public static final Op NEW_ARRAY
        +
      • +
      + + + +
        +
      • +

        FILLED_NEW_ARRAY

        +
        public static final Op FILLED_NEW_ARRAY
        +
      • +
      + + + +
        +
      • +

        FILLED_NEW_ARRAY_RANGE

        +
        public static final Op FILLED_NEW_ARRAY_RANGE
        +
      • +
      + + + +
        +
      • +

        FILL_ARRAY_DATA

        +
        public static final Op FILL_ARRAY_DATA
        +
      • +
      + + + +
        +
      • +

        THROW

        +
        public static final Op THROW
        +
      • +
      + + + +
        +
      • +

        GOTO

        +
        public static final Op GOTO
        +
      • +
      + + + +
        +
      • +

        GOTO_16

        +
        public static final Op GOTO_16
        +
      • +
      + + + +
        +
      • +

        GOTO_32

        +
        public static final Op GOTO_32
        +
      • +
      + + + +
        +
      • +

        PACKED_SWITCH

        +
        public static final Op PACKED_SWITCH
        +
      • +
      + + + +
        +
      • +

        SPARSE_SWITCH

        +
        public static final Op SPARSE_SWITCH
        +
      • +
      + + + +
        +
      • +

        CMPL_FLOAT

        +
        public static final Op CMPL_FLOAT
        +
      • +
      + + + +
        +
      • +

        CMPG_FLOAT

        +
        public static final Op CMPG_FLOAT
        +
      • +
      + + + +
        +
      • +

        CMPL_DOUBLE

        +
        public static final Op CMPL_DOUBLE
        +
      • +
      + + + +
        +
      • +

        CMPG_DOUBLE

        +
        public static final Op CMPG_DOUBLE
        +
      • +
      + + + +
        +
      • +

        CMP_LONG

        +
        public static final Op CMP_LONG
        +
      • +
      + + + +
        +
      • +

        IF_EQ

        +
        public static final Op IF_EQ
        +
      • +
      + + + +
        +
      • +

        IF_NE

        +
        public static final Op IF_NE
        +
      • +
      + + + +
        +
      • +

        IF_LT

        +
        public static final Op IF_LT
        +
      • +
      + + + +
        +
      • +

        IF_GE

        +
        public static final Op IF_GE
        +
      • +
      + + + +
        +
      • +

        IF_GT

        +
        public static final Op IF_GT
        +
      • +
      + + + +
        +
      • +

        IF_LE

        +
        public static final Op IF_LE
        +
      • +
      + + + +
        +
      • +

        IF_EQZ

        +
        public static final Op IF_EQZ
        +
      • +
      + + + +
        +
      • +

        IF_NEZ

        +
        public static final Op IF_NEZ
        +
      • +
      + + + +
        +
      • +

        IF_LTZ

        +
        public static final Op IF_LTZ
        +
      • +
      + + + +
        +
      • +

        IF_GEZ

        +
        public static final Op IF_GEZ
        +
      • +
      + + + +
        +
      • +

        IF_GTZ

        +
        public static final Op IF_GTZ
        +
      • +
      + + + +
        +
      • +

        IF_LEZ

        +
        public static final Op IF_LEZ
        +
      • +
      + + + +
        +
      • +

        AGET

        +
        public static final Op AGET
        +
      • +
      + + + +
        +
      • +

        AGET_WIDE

        +
        public static final Op AGET_WIDE
        +
      • +
      + + + +
        +
      • +

        AGET_OBJECT

        +
        public static final Op AGET_OBJECT
        +
      • +
      + + + +
        +
      • +

        AGET_BOOLEAN

        +
        public static final Op AGET_BOOLEAN
        +
      • +
      + + + +
        +
      • +

        AGET_BYTE

        +
        public static final Op AGET_BYTE
        +
      • +
      + + + +
        +
      • +

        AGET_CHAR

        +
        public static final Op AGET_CHAR
        +
      • +
      + + + +
        +
      • +

        AGET_SHORT

        +
        public static final Op AGET_SHORT
        +
      • +
      + + + +
        +
      • +

        APUT

        +
        public static final Op APUT
        +
      • +
      + + + +
        +
      • +

        APUT_WIDE

        +
        public static final Op APUT_WIDE
        +
      • +
      + + + +
        +
      • +

        APUT_OBJECT

        +
        public static final Op APUT_OBJECT
        +
      • +
      + + + +
        +
      • +

        APUT_BOOLEAN

        +
        public static final Op APUT_BOOLEAN
        +
      • +
      + + + +
        +
      • +

        APUT_BYTE

        +
        public static final Op APUT_BYTE
        +
      • +
      + + + +
        +
      • +

        APUT_CHAR

        +
        public static final Op APUT_CHAR
        +
      • +
      + + + +
        +
      • +

        APUT_SHORT

        +
        public static final Op APUT_SHORT
        +
      • +
      + + + +
        +
      • +

        IGET

        +
        public static final Op IGET
        +
      • +
      + + + +
        +
      • +

        IGET_WIDE

        +
        public static final Op IGET_WIDE
        +
      • +
      + + + +
        +
      • +

        IGET_OBJECT

        +
        public static final Op IGET_OBJECT
        +
      • +
      + + + +
        +
      • +

        IGET_BOOLEAN

        +
        public static final Op IGET_BOOLEAN
        +
      • +
      + + + +
        +
      • +

        IGET_BYTE

        +
        public static final Op IGET_BYTE
        +
      • +
      + + + +
        +
      • +

        IGET_CHAR

        +
        public static final Op IGET_CHAR
        +
      • +
      + + + +
        +
      • +

        IGET_SHORT

        +
        public static final Op IGET_SHORT
        +
      • +
      + + + +
        +
      • +

        IPUT

        +
        public static final Op IPUT
        +
      • +
      + + + +
        +
      • +

        IPUT_WIDE

        +
        public static final Op IPUT_WIDE
        +
      • +
      + + + +
        +
      • +

        IPUT_OBJECT

        +
        public static final Op IPUT_OBJECT
        +
      • +
      + + + +
        +
      • +

        IPUT_BOOLEAN

        +
        public static final Op IPUT_BOOLEAN
        +
      • +
      + + + +
        +
      • +

        IPUT_BYTE

        +
        public static final Op IPUT_BYTE
        +
      • +
      + + + +
        +
      • +

        IPUT_CHAR

        +
        public static final Op IPUT_CHAR
        +
      • +
      + + + +
        +
      • +

        IPUT_SHORT

        +
        public static final Op IPUT_SHORT
        +
      • +
      + + + +
        +
      • +

        SGET

        +
        public static final Op SGET
        +
      • +
      + + + +
        +
      • +

        SGET_WIDE

        +
        public static final Op SGET_WIDE
        +
      • +
      + + + +
        +
      • +

        SGET_OBJECT

        +
        public static final Op SGET_OBJECT
        +
      • +
      + + + +
        +
      • +

        SGET_BOOLEAN

        +
        public static final Op SGET_BOOLEAN
        +
      • +
      + + + +
        +
      • +

        SGET_BYTE

        +
        public static final Op SGET_BYTE
        +
      • +
      + + + +
        +
      • +

        SGET_CHAR

        +
        public static final Op SGET_CHAR
        +
      • +
      + + + +
        +
      • +

        SGET_SHORT

        +
        public static final Op SGET_SHORT
        +
      • +
      + + + +
        +
      • +

        SPUT

        +
        public static final Op SPUT
        +
      • +
      + + + +
        +
      • +

        SPUT_WIDE

        +
        public static final Op SPUT_WIDE
        +
      • +
      + + + +
        +
      • +

        SPUT_OBJECT

        +
        public static final Op SPUT_OBJECT
        +
      • +
      + + + +
        +
      • +

        SPUT_BOOLEAN

        +
        public static final Op SPUT_BOOLEAN
        +
      • +
      + + + +
        +
      • +

        SPUT_BYTE

        +
        public static final Op SPUT_BYTE
        +
      • +
      + + + +
        +
      • +

        SPUT_CHAR

        +
        public static final Op SPUT_CHAR
        +
      • +
      + + + +
        +
      • +

        SPUT_SHORT

        +
        public static final Op SPUT_SHORT
        +
      • +
      + + + +
        +
      • +

        INVOKE_VIRTUAL

        +
        public static final Op INVOKE_VIRTUAL
        +
      • +
      + + + +
        +
      • +

        INVOKE_SUPER

        +
        public static final Op INVOKE_SUPER
        +
        Behavior changed in 037, interface method is allowed
        +
      • +
      + + + +
        +
      • +

        INVOKE_DIRECT

        +
        public static final Op INVOKE_DIRECT
        +
      • +
      + + + +
        +
      • +

        INVOKE_STATIC

        +
        public static final Op INVOKE_STATIC
        +
      • +
      + + + +
        +
      • +

        INVOKE_INTERFACE

        +
        public static final Op INVOKE_INTERFACE
        +
      • +
      + + + +
        +
      • +

        INVOKE_VIRTUAL_RANGE

        +
        public static final Op INVOKE_VIRTUAL_RANGE
        +
      • +
      + + + +
        +
      • +

        INVOKE_SUPER_RANGE

        +
        public static final Op INVOKE_SUPER_RANGE
        +
      • +
      + + + +
        +
      • +

        INVOKE_DIRECT_RANGE

        +
        public static final Op INVOKE_DIRECT_RANGE
        +
      • +
      + + + +
        +
      • +

        INVOKE_STATIC_RANGE

        +
        public static final Op INVOKE_STATIC_RANGE
        +
      • +
      + + + +
        +
      • +

        INVOKE_INTERFACE_RANGE

        +
        public static final Op INVOKE_INTERFACE_RANGE
        +
      • +
      + + + +
        +
      • +

        NEG_INT

        +
        public static final Op NEG_INT
        +
      • +
      + + + +
        +
      • +

        NOT_INT

        +
        public static final Op NOT_INT
        +
      • +
      + + + +
        +
      • +

        NEG_LONG

        +
        public static final Op NEG_LONG
        +
      • +
      + + + +
        +
      • +

        NOT_LONG

        +
        public static final Op NOT_LONG
        +
      • +
      + + + +
        +
      • +

        NEG_FLOAT

        +
        public static final Op NEG_FLOAT
        +
      • +
      + + + +
        +
      • +

        NEG_DOUBLE

        +
        public static final Op NEG_DOUBLE
        +
      • +
      + + + +
        +
      • +

        INT_TO_LONG

        +
        public static final Op INT_TO_LONG
        +
      • +
      + + + +
        +
      • +

        INT_TO_FLOAT

        +
        public static final Op INT_TO_FLOAT
        +
      • +
      + + + +
        +
      • +

        INT_TO_DOUBLE

        +
        public static final Op INT_TO_DOUBLE
        +
      • +
      + + + +
        +
      • +

        LONG_TO_INT

        +
        public static final Op LONG_TO_INT
        +
      • +
      + + + +
        +
      • +

        LONG_TO_FLOAT

        +
        public static final Op LONG_TO_FLOAT
        +
      • +
      + + + +
        +
      • +

        LONG_TO_DOUBLE

        +
        public static final Op LONG_TO_DOUBLE
        +
      • +
      + + + +
        +
      • +

        FLOAT_TO_INT

        +
        public static final Op FLOAT_TO_INT
        +
      • +
      + + + +
        +
      • +

        FLOAT_TO_LONG

        +
        public static final Op FLOAT_TO_LONG
        +
      • +
      + + + +
        +
      • +

        FLOAT_TO_DOUBLE

        +
        public static final Op FLOAT_TO_DOUBLE
        +
      • +
      + + + +
        +
      • +

        DOUBLE_TO_INT

        +
        public static final Op DOUBLE_TO_INT
        +
      • +
      + + + +
        +
      • +

        DOUBLE_TO_LONG

        +
        public static final Op DOUBLE_TO_LONG
        +
      • +
      + + + +
        +
      • +

        DOUBLE_TO_FLOAT

        +
        public static final Op DOUBLE_TO_FLOAT
        +
      • +
      + + + +
        +
      • +

        INT_TO_BYTE

        +
        public static final Op INT_TO_BYTE
        +
      • +
      + + + +
        +
      • +

        INT_TO_CHAR

        +
        public static final Op INT_TO_CHAR
        +
      • +
      + + + +
        +
      • +

        INT_TO_SHORT

        +
        public static final Op INT_TO_SHORT
        +
      • +
      + + + +
        +
      • +

        ADD_INT

        +
        public static final Op ADD_INT
        +
      • +
      + + + +
        +
      • +

        SUB_INT

        +
        public static final Op SUB_INT
        +
      • +
      + + + +
        +
      • +

        MUL_INT

        +
        public static final Op MUL_INT
        +
      • +
      + + + +
        +
      • +

        DIV_INT

        +
        public static final Op DIV_INT
        +
      • +
      + + + +
        +
      • +

        REM_INT

        +
        public static final Op REM_INT
        +
      • +
      + + + +
        +
      • +

        AND_INT

        +
        public static final Op AND_INT
        +
      • +
      + + + +
        +
      • +

        OR_INT

        +
        public static final Op OR_INT
        +
      • +
      + + + +
        +
      • +

        XOR_INT

        +
        public static final Op XOR_INT
        +
      • +
      + + + +
        +
      • +

        SHL_INT

        +
        public static final Op SHL_INT
        +
      • +
      + + + +
        +
      • +

        SHR_INT

        +
        public static final Op SHR_INT
        +
      • +
      + + + +
        +
      • +

        USHR_INT

        +
        public static final Op USHR_INT
        +
      • +
      + + + +
        +
      • +

        ADD_LONG

        +
        public static final Op ADD_LONG
        +
      • +
      + + + +
        +
      • +

        SUB_LONG

        +
        public static final Op SUB_LONG
        +
      • +
      + + + +
        +
      • +

        MUL_LONG

        +
        public static final Op MUL_LONG
        +
      • +
      + + + +
        +
      • +

        DIV_LONG

        +
        public static final Op DIV_LONG
        +
      • +
      + + + +
        +
      • +

        REM_LONG

        +
        public static final Op REM_LONG
        +
      • +
      + + + +
        +
      • +

        AND_LONG

        +
        public static final Op AND_LONG
        +
      • +
      + + + +
        +
      • +

        OR_LONG

        +
        public static final Op OR_LONG
        +
      • +
      + + + +
        +
      • +

        XOR_LONG

        +
        public static final Op XOR_LONG
        +
      • +
      + + + +
        +
      • +

        SHL_LONG

        +
        public static final Op SHL_LONG
        +
      • +
      + + + +
        +
      • +

        SHR_LONG

        +
        public static final Op SHR_LONG
        +
      • +
      + + + +
        +
      • +

        USHR_LONG

        +
        public static final Op USHR_LONG
        +
      • +
      + + + +
        +
      • +

        ADD_FLOAT

        +
        public static final Op ADD_FLOAT
        +
      • +
      + + + +
        +
      • +

        SUB_FLOAT

        +
        public static final Op SUB_FLOAT
        +
      • +
      + + + +
        +
      • +

        MUL_FLOAT

        +
        public static final Op MUL_FLOAT
        +
      • +
      + + + +
        +
      • +

        DIV_FLOAT

        +
        public static final Op DIV_FLOAT
        +
      • +
      + + + +
        +
      • +

        REM_FLOAT

        +
        public static final Op REM_FLOAT
        +
      • +
      + + + +
        +
      • +

        ADD_DOUBLE

        +
        public static final Op ADD_DOUBLE
        +
      • +
      + + + +
        +
      • +

        SUB_DOUBLE

        +
        public static final Op SUB_DOUBLE
        +
      • +
      + + + +
        +
      • +

        MUL_DOUBLE

        +
        public static final Op MUL_DOUBLE
        +
      • +
      + + + +
        +
      • +

        DIV_DOUBLE

        +
        public static final Op DIV_DOUBLE
        +
      • +
      + + + +
        +
      • +

        REM_DOUBLE

        +
        public static final Op REM_DOUBLE
        +
      • +
      + + + +
        +
      • +

        ADD_INT_2ADDR

        +
        public static final Op ADD_INT_2ADDR
        +
      • +
      + + + +
        +
      • +

        SUB_INT_2ADDR

        +
        public static final Op SUB_INT_2ADDR
        +
      • +
      + + + +
        +
      • +

        MUL_INT_2ADDR

        +
        public static final Op MUL_INT_2ADDR
        +
      • +
      + + + +
        +
      • +

        DIV_INT_2ADDR

        +
        public static final Op DIV_INT_2ADDR
        +
      • +
      + + + +
        +
      • +

        REM_INT_2ADDR

        +
        public static final Op REM_INT_2ADDR
        +
      • +
      + + + +
        +
      • +

        AND_INT_2ADDR

        +
        public static final Op AND_INT_2ADDR
        +
      • +
      + + + +
        +
      • +

        OR_INT_2ADDR

        +
        public static final Op OR_INT_2ADDR
        +
      • +
      + + + +
        +
      • +

        XOR_INT_2ADDR

        +
        public static final Op XOR_INT_2ADDR
        +
      • +
      + + + +
        +
      • +

        SHL_INT_2ADDR

        +
        public static final Op SHL_INT_2ADDR
        +
      • +
      + + + +
        +
      • +

        SHR_INT_2ADDR

        +
        public static final Op SHR_INT_2ADDR
        +
      • +
      + + + +
        +
      • +

        USHR_INT_2ADDR

        +
        public static final Op USHR_INT_2ADDR
        +
      • +
      + + + +
        +
      • +

        ADD_LONG_2ADDR

        +
        public static final Op ADD_LONG_2ADDR
        +
      • +
      + + + +
        +
      • +

        SUB_LONG_2ADDR

        +
        public static final Op SUB_LONG_2ADDR
        +
      • +
      + + + +
        +
      • +

        MUL_LONG_2ADDR

        +
        public static final Op MUL_LONG_2ADDR
        +
      • +
      + + + +
        +
      • +

        DIV_LONG_2ADDR

        +
        public static final Op DIV_LONG_2ADDR
        +
      • +
      + + + +
        +
      • +

        REM_LONG_2ADDR

        +
        public static final Op REM_LONG_2ADDR
        +
      • +
      + + + +
        +
      • +

        AND_LONG_2ADDR

        +
        public static final Op AND_LONG_2ADDR
        +
      • +
      + + + +
        +
      • +

        OR_LONG_2ADDR

        +
        public static final Op OR_LONG_2ADDR
        +
      • +
      + + + +
        +
      • +

        XOR_LONG_2ADDR

        +
        public static final Op XOR_LONG_2ADDR
        +
      • +
      + + + +
        +
      • +

        SHL_LONG_2ADDR

        +
        public static final Op SHL_LONG_2ADDR
        +
      • +
      + + + +
        +
      • +

        SHR_LONG_2ADDR

        +
        public static final Op SHR_LONG_2ADDR
        +
      • +
      + + + +
        +
      • +

        USHR_LONG_2ADDR

        +
        public static final Op USHR_LONG_2ADDR
        +
      • +
      + + + +
        +
      • +

        ADD_FLOAT_2ADDR

        +
        public static final Op ADD_FLOAT_2ADDR
        +
      • +
      + + + +
        +
      • +

        SUB_FLOAT_2ADDR

        +
        public static final Op SUB_FLOAT_2ADDR
        +
      • +
      + + + +
        +
      • +

        MUL_FLOAT_2ADDR

        +
        public static final Op MUL_FLOAT_2ADDR
        +
      • +
      + + + +
        +
      • +

        DIV_FLOAT_2ADDR

        +
        public static final Op DIV_FLOAT_2ADDR
        +
      • +
      + + + +
        +
      • +

        REM_FLOAT_2ADDR

        +
        public static final Op REM_FLOAT_2ADDR
        +
      • +
      + + + +
        +
      • +

        ADD_DOUBLE_2ADDR

        +
        public static final Op ADD_DOUBLE_2ADDR
        +
      • +
      + + + +
        +
      • +

        SUB_DOUBLE_2ADDR

        +
        public static final Op SUB_DOUBLE_2ADDR
        +
      • +
      + + + +
        +
      • +

        MUL_DOUBLE_2ADDR

        +
        public static final Op MUL_DOUBLE_2ADDR
        +
      • +
      + + + +
        +
      • +

        DIV_DOUBLE_2ADDR

        +
        public static final Op DIV_DOUBLE_2ADDR
        +
      • +
      + + + +
        +
      • +

        REM_DOUBLE_2ADDR

        +
        public static final Op REM_DOUBLE_2ADDR
        +
      • +
      + + + +
        +
      • +

        ADD_INT_LIT16

        +
        public static final Op ADD_INT_LIT16
        +
      • +
      + + + +
        +
      • +

        RSUB_INT

        +
        public static final Op RSUB_INT
        +
      • +
      + + + +
        +
      • +

        MUL_INT_LIT16

        +
        public static final Op MUL_INT_LIT16
        +
      • +
      + + + +
        +
      • +

        DIV_INT_LIT16

        +
        public static final Op DIV_INT_LIT16
        +
      • +
      + + + +
        +
      • +

        REM_INT_LIT16

        +
        public static final Op REM_INT_LIT16
        +
      • +
      + + + +
        +
      • +

        AND_INT_LIT16

        +
        public static final Op AND_INT_LIT16
        +
      • +
      + + + +
        +
      • +

        OR_INT_LIT16

        +
        public static final Op OR_INT_LIT16
        +
      • +
      + + + +
        +
      • +

        XOR_INT_LIT16

        +
        public static final Op XOR_INT_LIT16
        +
      • +
      + + + +
        +
      • +

        ADD_INT_LIT8

        +
        public static final Op ADD_INT_LIT8
        +
      • +
      + + + +
        +
      • +

        RSUB_INT_LIT8

        +
        public static final Op RSUB_INT_LIT8
        +
      • +
      + + + +
        +
      • +

        MUL_INT_LIT8

        +
        public static final Op MUL_INT_LIT8
        +
      • +
      + + + +
        +
      • +

        DIV_INT_LIT8

        +
        public static final Op DIV_INT_LIT8
        +
      • +
      + + + +
        +
      • +

        REM_INT_LIT8

        +
        public static final Op REM_INT_LIT8
        +
      • +
      + + + +
        +
      • +

        AND_INT_LIT8

        +
        public static final Op AND_INT_LIT8
        +
      • +
      + + + +
        +
      • +

        OR_INT_LIT8

        +
        public static final Op OR_INT_LIT8
        +
      • +
      + + + +
        +
      • +

        XOR_INT_LIT8

        +
        public static final Op XOR_INT_LIT8
        +
      • +
      + + + +
        +
      • +

        SHL_INT_LIT8

        +
        public static final Op SHL_INT_LIT8
        +
      • +
      + + + +
        +
      • +

        SHR_INT_LIT8

        +
        public static final Op SHR_INT_LIT8
        +
      • +
      + + + +
        +
      • +

        USHR_INT_LIT8

        +
        public static final Op USHR_INT_LIT8
        +
      • +
      + + + +
        +
      • +

        INVOKE_POLYMORPHIC

        +
        public static final Op INVOKE_POLYMORPHIC
        +
      • +
      + + + +
        +
      • +

        INVOKE_POLYMORPHIC_RANGE

        +
        public static final Op INVOKE_POLYMORPHIC_RANGE
        +
      • +
      + + + +
        +
      • +

        INVOKE_CUSTOM

        +
        public static final Op INVOKE_CUSTOM
        +
      • +
      + + + +
        +
      • +

        INVOKE_CUSTOM_RANGE

        +
        public static final Op INVOKE_CUSTOM_RANGE
        +
      • +
      + + + +
        +
      • +

        BAD_OP

        +
        public static final Op BAD_OP
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        opcode

        +
        public final int opcode
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        displayName

        +
        public final java.lang.String displayName
        +
      • +
      + + + +
        +
      • +

        ops

        +
        public static final Op[] ops
        +
      • +
      + + + +
        +
      • +

        changeFrame

        +
        public final boolean changeFrame
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static Op[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (Op c : Op.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static Op valueOf​(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      + + + +
        +
      • +

        canBranch

        +
        public boolean canBranch()
        +
      • +
      + + + +
        +
      • +

        canContinue

        +
        public boolean canContinue()
        +
      • +
      + + + +
        +
      • +

        canReturn

        +
        public boolean canReturn()
        +
      • +
      + + + +
        +
      • +

        canSwitch

        +
        public boolean canSwitch()
        +
      • +
      + + + +
        +
      • +

        canThrow

        +
        public boolean canThrow()
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Enum<Op>
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/Proto.html b/api/proguard/dexfile/reader/Proto.html new file mode 100644 index 000000000..617a3812e --- /dev/null +++ b/api/proguard/dexfile/reader/Proto.html @@ -0,0 +1,374 @@ + + + + + +Proto (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Proto

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.Proto
    • +
    +
  • +
+
+
    +
  • +
    +
    public class Proto
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Proto​(java.lang.String[] parameterTypes, + java.lang.String returnType) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanequals​(java.lang.Object o) 
      java.lang.StringgetDesc() 
      java.lang.String[]getParameterTypes() 
      java.lang.StringgetReturnType() 
      inthashCode() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Proto

        +
        public Proto​(java.lang.String[] parameterTypes,
        +             java.lang.String returnType)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getParameterTypes

        +
        public java.lang.String[] getParameterTypes()
        +
        +
        Returns:
        +
        the parameterTypes
        +
        +
      • +
      + + + +
        +
      • +

        getReturnType

        +
        public java.lang.String getReturnType()
        +
      • +
      + + + +
        +
      • +

        getDesc

        +
        public java.lang.String getDesc()
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/Visibility.html b/api/proguard/dexfile/reader/Visibility.html new file mode 100644 index 000000000..caed66666 --- /dev/null +++ b/api/proguard/dexfile/reader/Visibility.html @@ -0,0 +1,445 @@ + + + + + +Visibility (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Enum Visibility

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Enum<Visibility>
    • +
    • +
        +
      • proguard.dexfile.reader.Visibility
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<Visibility>
    +
    +
    +
    public enum Visibility
    +extends java.lang.Enum<Visibility>
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Summary

      + + + + + + + + + + + + + + + + + + +
      Enum Constants 
      Enum ConstantDescription
      BUILD 
      RUNTIME 
      SYSTEM 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      intvalue 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.StringdisplayName() 
      static VisibilityvalueOf​(java.lang.String name) +
      Returns the enum constant of this type with the specified name.
      +
      static Visibility[]values() +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Enum

        +clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        value

        +
        public final int value
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static Visibility[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (Visibility c : Visibility.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static Visibility valueOf​(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      + + + +
        +
      • +

        displayName

        +
        public java.lang.String displayName()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexAnnotationNode.Item.html b/api/proguard/dexfile/reader/node/DexAnnotationNode.Item.html new file mode 100644 index 000000000..6db58e41d --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexAnnotationNode.Item.html @@ -0,0 +1,328 @@ + + + + + +DexAnnotationNode.Item (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexAnnotationNode.Item

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.node.DexAnnotationNode.Item
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    DexAnnotationNode
    +
    +
    +
    public static class DexAnnotationNode.Item
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      java.lang.Stringname 
      java.lang.Objectvalue 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Item​(java.lang.String name, + java.lang.Object value) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        name

        +
        public java.lang.String name
        +
      • +
      + + + +
        +
      • +

        value

        +
        public java.lang.Object value
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Item

        +
        public Item​(java.lang.String name,
        +            java.lang.Object value)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexAnnotationNode.html b/api/proguard/dexfile/reader/node/DexAnnotationNode.html new file mode 100644 index 000000000..a5308828e --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexAnnotationNode.html @@ -0,0 +1,543 @@ + + + + + +DexAnnotationNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexAnnotationNode

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexAnnotationNode

        +
        public DexAnnotationNode​(java.lang.String type,
        +                         Visibility visibility)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        acceptAnnotationItem

        +
        public static void acceptAnnotationItem​(DexAnnotationVisitor dav,
        +                                        java.lang.String name,
        +                                        java.lang.Object o)
        +
      • +
      + + + + + + + +
        +
      • +

        visit

        +
        public void visit​(java.lang.String name,
        +                  java.lang.Object value)
        +
        Description copied from class: DexAnnotationVisitor
        +
        Visits a primitive value of the annotation.
        +
        +
        Overrides:
        +
        visit in class DexAnnotationVisitor
        +
        Parameters:
        +
        name - the value name.
        +
        value - the actual value, whose type must be Byte, Boolean, Character, Short, Integer, Long, Float, Double, + String or DexType.
        +
        +
      • +
      + + + +
        +
      • +

        visitAnnotation

        +
        public DexAnnotationVisitor visitAnnotation​(java.lang.String name,
        +                                            java.lang.String desc)
        +
        Description copied from class: DexAnnotationVisitor
        +
        Visits a nested annotation value of the annotation.
        +
        +
        Overrides:
        +
        visitAnnotation in class DexAnnotationVisitor
        +
        Parameters:
        +
        name - the value name.
        +
        desc - the class descriptor of the nested annotation class.
        +
        Returns:
        +
        a visitor to visit the actual nested annotation value, or null if this visitor + is not interested in visiting this nested annotation. The nested annotation value must + be fully visited before calling other methods on this annotation visitor.
        +
        +
      • +
      + + + + + + + +
        +
      • +

        visitEnum

        +
        public void visitEnum​(java.lang.String name,
        +                      java.lang.String desc,
        +                      java.lang.String value)
        +
        Description copied from class: DexAnnotationVisitor
        +
        Visits an enumeration value of the annotation.
        +
        +
        Overrides:
        +
        visitEnum in class DexAnnotationVisitor
        +
        Parameters:
        +
        name - the value name.
        +
        desc - the class descriptor of the enumeration class.
        +
        value - the actual enumeration value.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexClassNode.html b/api/proguard/dexfile/reader/node/DexClassNode.html new file mode 100644 index 000000000..d1785cbcf --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexClassNode.html @@ -0,0 +1,598 @@ + + + + + +DexClassNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexClassNode

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        access

        +
        public int access
        +
      • +
      + + + + + + + +
        +
      • +

        className

        +
        public java.lang.String className
        +
      • +
      + + + + + + + +
        +
      • +

        interfaceNames

        +
        public java.lang.String[] interfaceNames
        +
      • +
      + + + + + + + +
        +
      • +

        source

        +
        public java.lang.String source
        +
      • +
      + + + +
        +
      • +

        superClass

        +
        public java.lang.String superClass
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexClassNode

        +
        public DexClassNode​(DexClassVisitor v,
        +                    int access,
        +                    java.lang.String className,
        +                    java.lang.String superClass,
        +                    java.lang.String[] interfaceNames)
        +
      • +
      + + + +
        +
      • +

        DexClassNode

        +
        public DexClassNode​(int access,
        +                    java.lang.String className,
        +                    java.lang.String superClass,
        +                    java.lang.String[] interfaceNames)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexCodeNode.html b/api/proguard/dexfile/reader/node/DexCodeNode.html new file mode 100644 index 000000000..05452756a --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexCodeNode.html @@ -0,0 +1,1077 @@ + + + + + +DexCodeNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexCodeNode

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.EndLocal.html b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.EndLocal.html new file mode 100644 index 000000000..c85f2bba3 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.EndLocal.html @@ -0,0 +1,385 @@ + + + + + +DexDebugNode.DexDebugOpNode.EndLocal (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexDebugNode.DexDebugOpNode.EndLocal

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.Epiogue.html b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.Epiogue.html new file mode 100644 index 000000000..6fba195df --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.Epiogue.html @@ -0,0 +1,351 @@ + + + + + +DexDebugNode.DexDebugOpNode.Epiogue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexDebugNode.DexDebugOpNode.Epiogue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.LineNumber.html b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.LineNumber.html new file mode 100644 index 000000000..18d55d850 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.LineNumber.html @@ -0,0 +1,385 @@ + + + + + +DexDebugNode.DexDebugOpNode.LineNumber (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexDebugNode.DexDebugOpNode.LineNumber

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.Prologue.html b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.Prologue.html new file mode 100644 index 000000000..9fe5b2243 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.Prologue.html @@ -0,0 +1,351 @@ + + + + + +DexDebugNode.DexDebugOpNode.Prologue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexDebugNode.DexDebugOpNode.Prologue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.RestartLocal.html b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.RestartLocal.html new file mode 100644 index 000000000..3bd8fbf52 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.RestartLocal.html @@ -0,0 +1,385 @@ + + + + + +DexDebugNode.DexDebugOpNode.RestartLocal (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexDebugNode.DexDebugOpNode.RestartLocal

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.StartLocalNode.html b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.StartLocalNode.html new file mode 100644 index 000000000..fd2dcccc7 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.StartLocalNode.html @@ -0,0 +1,433 @@ + + + + + +DexDebugNode.DexDebugOpNode.StartLocalNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexDebugNode.DexDebugOpNode.StartLocalNode

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        reg

        +
        public int reg
        +
      • +
      + + + +
        +
      • +

        name

        +
        public java.lang.String name
        +
      • +
      + + + +
        +
      • +

        type

        +
        public java.lang.String type
        +
      • +
      + + + +
        +
      • +

        signature

        +
        public java.lang.String signature
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StartLocalNode

        +
        public StartLocalNode​(DexLabel label,
        +                      int reg,
        +                      java.lang.String name,
        +                      java.lang.String type,
        +                      java.lang.String signature)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.html b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.html new file mode 100644 index 000000000..37a1f10ce --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.html @@ -0,0 +1,404 @@ + + + + + +DexDebugNode.DexDebugOpNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexDebugNode.DexDebugOpNode

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexDebugOpNode

        +
        protected DexDebugOpNode​(DexLabel label)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexDebugNode.html b/api/proguard/dexfile/reader/node/DexDebugNode.html new file mode 100644 index 000000000..0c294906d --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.html @@ -0,0 +1,592 @@ + + + + + +DexDebugNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexDebugNode

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexFieldNode.html b/api/proguard/dexfile/reader/node/DexFieldNode.html new file mode 100644 index 000000000..88f2ed09d --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexFieldNode.html @@ -0,0 +1,478 @@ + + + + + +DexFieldNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexFieldNode

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexFileNode.html b/api/proguard/dexfile/reader/node/DexFileNode.html new file mode 100644 index 000000000..24b9ab57c --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexFileNode.html @@ -0,0 +1,435 @@ + + + + + +DexFileNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexFileNode

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + + + + + +
        +
      • +

        dexVersion

        +
        public int dexVersion
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexFileNode

        +
        public DexFileNode()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/DexMethodNode.html b/api/proguard/dexfile/reader/node/DexMethodNode.html new file mode 100644 index 000000000..39e01e261 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexMethodNode.html @@ -0,0 +1,524 @@ + + + + + +DexMethodNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexMethodNode

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/TryCatchNode.html b/api/proguard/dexfile/reader/node/TryCatchNode.html new file mode 100644 index 000000000..3cdca6336 --- /dev/null +++ b/api/proguard/dexfile/reader/node/TryCatchNode.html @@ -0,0 +1,394 @@ + + + + + +TryCatchNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TryCatchNode

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.node.TryCatchNode
    • +
    +
  • +
+
+
    +
  • +
    +
    public class TryCatchNode
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        start

        +
        public final DexLabel start
        +
      • +
      + + + + + + + +
        +
      • +

        handler

        +
        public final DexLabel[] handler
        +
      • +
      + + + +
        +
      • +

        type

        +
        public final java.lang.String[] type
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TryCatchNode

        +
        public TryCatchNode​(DexLabel start,
        +                    DexLabel end,
        +                    DexLabel[] handler,
        +                    java.lang.String[] type)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/analysis/DvmFrame.html b/api/proguard/dexfile/reader/node/analysis/DvmFrame.html new file mode 100644 index 000000000..1859e63ee --- /dev/null +++ b/api/proguard/dexfile/reader/node/analysis/DvmFrame.html @@ -0,0 +1,469 @@ + + + + + +DvmFrame (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DvmFrame<V>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.node.analysis.DvmFrame<V>
    • +
    +
  • +
+
+
    +
  • +
    +
    public class DvmFrame<V>
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      Vtmp 
      V[]values 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DvmFrame​(int totalRegister) 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        values

        +
        public V[] values
        +
      • +
      + + + +
        +
      • +

        tmp

        +
        public V tmp
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DvmFrame

        +
        public DvmFrame​(int totalRegister)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        setReg

        +
        public void setReg​(int i,
        +                   V v)
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        getTmp

        +
        public V getTmp()
        +
      • +
      + + + + + +
        +
      • +

        setTmp

        +
        public void setTmp​(V v)
        +
      • +
      + + + +
        +
      • +

        getReg

        +
        public V getReg​(int b)
        +
      • +
      + + + +
        +
      • +

        getTotalRegisters

        +
        public int getTotalRegisters()
        +
      • +
      + + + +
        +
      • +

        descriptorLength

        +
        public static int descriptorLength​(java.lang.String[] types)
        +
        Count the amount of registers corresponding to a type descriptor
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/analysis/DvmInterpreter.html b/api/proguard/dexfile/reader/node/analysis/DvmInterpreter.html new file mode 100644 index 000000000..d5ed0b42b --- /dev/null +++ b/api/proguard/dexfile/reader/node/analysis/DvmInterpreter.html @@ -0,0 +1,437 @@ + + + + + +DvmInterpreter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DvmInterpreter<V>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.node.analysis.DvmInterpreter<V>
    • +
    +
  • +
+
+
    +
  • +
    +
    public abstract class DvmInterpreter<V>
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DvmInterpreter

        +
        public DvmInterpreter()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        newOperation

        +
        public abstract V newOperation​(DexStmtNode insn)
        +
        CONST* SGET* NEW
        +
      • +
      + + + + + +
        +
      • +

        copyOperation

        +
        public abstract V copyOperation​(DexStmtNode insn,
        +                                V value)
        +
        MOVE*
        +
      • +
      + + + + + +
        +
      • +

        unaryOperation

        +
        public abstract V unaryOperation​(DexStmtNode insn,
        +                                 V value)
        +
        NEG* *_TO_* IF_*Z *SWITCH IGET* NEW_ARRAY MONITOR_* CHECK_CAST INSTANCEOF
        +
      • +
      + + + + + +
        +
      • +

        binaryOperation

        +
        public abstract V binaryOperation​(DexStmtNode insn,
        +                                  V value1,
        +                                  V value2)
        +
        AGET* IPUT*
        +
      • +
      + + + + + +
        +
      • +

        ternaryOperation

        +
        public abstract V ternaryOperation​(DexStmtNode insn,
        +                                   V value1,
        +                                   V value2,
        +                                   V value3)
        +
        APUT
        +
      • +
      + + + +
        +
      • +

        naryOperation

        +
        public abstract V naryOperation​(DexStmtNode insn,
        +                                java.util.List<? extends V> values)
        +
        INVOKE* MULTIANEWARRAY FilledNewArrayStmt
        +
      • +
      + + + + + +
        +
      • +

        returnOperation

        +
        public abstract void returnOperation​(DexStmtNode insn,
        +                                     V value)
        +
        RETURN*
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/analysis/package-summary.html b/api/proguard/dexfile/reader/node/analysis/package-summary.html new file mode 100644 index 000000000..14c9fb07e --- /dev/null +++ b/api/proguard/dexfile/reader/node/analysis/package-summary.html @@ -0,0 +1,168 @@ + + + + + +proguard.dexfile.reader.node.analysis (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.dexfile.reader.node.analysis

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/dexfile/reader/node/analysis/package-tree.html b/api/proguard/dexfile/reader/node/analysis/package-tree.html new file mode 100644 index 000000000..ca23657e2 --- /dev/null +++ b/api/proguard/dexfile/reader/node/analysis/package-tree.html @@ -0,0 +1,162 @@ + + + + + +proguard.dexfile.reader.node.analysis Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.dexfile.reader.node.analysis

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • proguard.dexfile.reader.node.analysis.DvmFrame<V>
    • +
    • proguard.dexfile.reader.node.analysis.DvmInterpreter<V>
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/dexfile/reader/node/insn/AbstractMethodStmtNode.html b/api/proguard/dexfile/reader/node/insn/AbstractMethodStmtNode.html new file mode 100644 index 000000000..46ac1544c --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/AbstractMethodStmtNode.html @@ -0,0 +1,371 @@ + + + + + +AbstractMethodStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AbstractMethodStmtNode

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      int[]args 
      + +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      abstract ProtogetProto() 
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        args

        +
        public final int[] args
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AbstractMethodStmtNode

        +
        public AbstractMethodStmtNode​(Op op,
        +                              int[] args)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getProto

        +
        public abstract Proto getProto()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/BaseSwitchStmtNode.html b/api/proguard/dexfile/reader/node/insn/BaseSwitchStmtNode.html new file mode 100644 index 000000000..fac97428f --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/BaseSwitchStmtNode.html @@ -0,0 +1,351 @@ + + + + + +BaseSwitchStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BaseSwitchStmtNode

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      inta 
      DexLabel[]labels 
      + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + +
      Constructors 
      ModifierConstructorDescription
      protected BaseSwitchStmtNode​(Op op, + int a, + DexLabel[] labels) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        a

        +
        public final int a
        +
      • +
      + + + +
        +
      • +

        labels

        +
        public final DexLabel[] labels
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BaseSwitchStmtNode

        +
        protected BaseSwitchStmtNode​(Op op,
        +                             int a,
        +                             DexLabel[] labels)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/ConstStmtNode.html b/api/proguard/dexfile/reader/node/insn/ConstStmtNode.html new file mode 100644 index 000000000..a521ea6e2 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/ConstStmtNode.html @@ -0,0 +1,380 @@ + + + + + +ConstStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstStmtNode

+
+
+ +
+
    +
  • +
    +
    public class ConstStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      inta 
      java.lang.Objectvalue 
      + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ConstStmtNode​(Op op, + int a, + java.lang.Object value) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        a

        +
        public final int a
        +
      • +
      + + + +
        +
      • +

        value

        +
        public final java.lang.Object value
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConstStmtNode

        +
        public ConstStmtNode​(Op op,
        +                     int a,
        +                     java.lang.Object value)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/DexLabelStmtNode.html b/api/proguard/dexfile/reader/node/insn/DexLabelStmtNode.html new file mode 100644 index 000000000..53c12c0b9 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/DexLabelStmtNode.html @@ -0,0 +1,362 @@ + + + + + +DexLabelStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexLabelStmtNode

+
+
+ +
+
    +
  • +
    +
    public class DexLabelStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      DexLabellabel 
      + +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/DexStmtNode.html b/api/proguard/dexfile/reader/node/insn/DexStmtNode.html new file mode 100644 index 000000000..5750b9e43 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/DexStmtNode.html @@ -0,0 +1,366 @@ + + + + + +DexStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexStmtNode

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.node.insn.DexStmtNode
    • +
    +
  • +
+ +
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      int__index 
      Opop 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + +
      Constructors 
      ModifierConstructorDescription
      protected DexStmtNode​(Op op) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      abstract voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        op

        +
        public final Op op
        +
      • +
      + + + +
        +
      • +

        __index

        +
        public int __index
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexStmtNode

        +
        protected DexStmtNode​(Op op)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/FieldStmtNode.html b/api/proguard/dexfile/reader/node/insn/FieldStmtNode.html new file mode 100644 index 000000000..e99e42fb6 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/FieldStmtNode.html @@ -0,0 +1,396 @@ + + + + + +FieldStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FieldStmtNode

+
+
+ +
+
    +
  • +
    +
    public class FieldStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      inta 
      intb 
      Fieldfield 
      + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      FieldStmtNode​(Op op, + int a, + int b, + Field field) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        a

        +
        public final int a
        +
      • +
      + + + +
        +
      • +

        b

        +
        public final int b
        +
      • +
      + + + +
        +
      • +

        field

        +
        public final Field field
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FieldStmtNode

        +
        public FieldStmtNode​(Op op,
        +                     int a,
        +                     int b,
        +                     Field field)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/FillArrayDataStmtNode.html b/api/proguard/dexfile/reader/node/insn/FillArrayDataStmtNode.html new file mode 100644 index 000000000..059dd1554 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/FillArrayDataStmtNode.html @@ -0,0 +1,380 @@ + + + + + +FillArrayDataStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FillArrayDataStmtNode

+
+
+ +
+
    +
  • +
    +
    public class FillArrayDataStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      java.lang.Objectarray 
      intra 
      + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      FillArrayDataStmtNode​(Op op, + int ra, + java.lang.Object array) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        ra

        +
        public final int ra
        +
      • +
      + + + +
        +
      • +

        array

        +
        public final java.lang.Object array
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FillArrayDataStmtNode

        +
        public FillArrayDataStmtNode​(Op op,
        +                             int ra,
        +                             java.lang.Object array)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/FilledNewArrayStmtNode.html b/api/proguard/dexfile/reader/node/insn/FilledNewArrayStmtNode.html new file mode 100644 index 000000000..a78bf9b33 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/FilledNewArrayStmtNode.html @@ -0,0 +1,380 @@ + + + + + +FilledNewArrayStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FilledNewArrayStmtNode

+
+
+ +
+
    +
  • +
    +
    public class FilledNewArrayStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      int[]args 
      java.lang.Stringtype 
      + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      FilledNewArrayStmtNode​(Op op, + int[] args, + java.lang.String type) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        args

        +
        public final int[] args
        +
      • +
      + + + +
        +
      • +

        type

        +
        public final java.lang.String type
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FilledNewArrayStmtNode

        +
        public FilledNewArrayStmtNode​(Op op,
        +                              int[] args,
        +                              java.lang.String type)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/JumpStmtNode.html b/api/proguard/dexfile/reader/node/insn/JumpStmtNode.html new file mode 100644 index 000000000..bf4560fbc --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/JumpStmtNode.html @@ -0,0 +1,396 @@ + + + + + +JumpStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JumpStmtNode

+
+
+ +
+
    +
  • +
    +
    public class JumpStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      inta 
      intb 
      DexLabellabel 
      + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      JumpStmtNode​(Op op, + int a, + int b, + DexLabel label) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        a

        +
        public final int a
        +
      • +
      + + + +
        +
      • +

        b

        +
        public final int b
        +
      • +
      + + + +
        +
      • +

        label

        +
        public final DexLabel label
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JumpStmtNode

        +
        public JumpStmtNode​(Op op,
        +                    int a,
        +                    int b,
        +                    DexLabel label)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/MethodCustomStmtNode.html b/api/proguard/dexfile/reader/node/insn/MethodCustomStmtNode.html new file mode 100644 index 000000000..a9b4059fd --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/MethodCustomStmtNode.html @@ -0,0 +1,444 @@ + + + + + +MethodCustomStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodCustomStmtNode

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        name

        +
        public final java.lang.String name
        +
      • +
      + + + +
        +
      • +

        proto

        +
        public final Proto proto
        +
      • +
      + + + + + + + +
        +
      • +

        bsmArgs

        +
        public final java.lang.Object[] bsmArgs
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodCustomStmtNode

        +
        public MethodCustomStmtNode​(Op op,
        +                            int[] args,
        +                            java.lang.String name,
        +                            Proto proto,
        +                            MethodHandle bsm,
        +                            java.lang.Object[] bsmArgs)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/MethodPolymorphicStmtNode.html b/api/proguard/dexfile/reader/node/insn/MethodPolymorphicStmtNode.html new file mode 100644 index 000000000..62d6d5c74 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/MethodPolymorphicStmtNode.html @@ -0,0 +1,412 @@ + + + + + +MethodPolymorphicStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodPolymorphicStmtNode

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/MethodStmtNode.html b/api/proguard/dexfile/reader/node/insn/MethodStmtNode.html new file mode 100644 index 000000000..d1003a386 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/MethodStmtNode.html @@ -0,0 +1,396 @@ + + + + + +MethodStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodStmtNode

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/PackedSwitchStmtNode.html b/api/proguard/dexfile/reader/node/insn/PackedSwitchStmtNode.html new file mode 100644 index 000000000..5adb67e1a --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/PackedSwitchStmtNode.html @@ -0,0 +1,380 @@ + + + + + +PackedSwitchStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PackedSwitchStmtNode

+
+
+ +
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      PackedSwitchStmtNode​(Op op, + int a, + int first_case, + DexLabel[] labels) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        first_case

        +
        public final int first_case
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PackedSwitchStmtNode

        +
        public PackedSwitchStmtNode​(Op op,
        +                            int a,
        +                            int first_case,
        +                            DexLabel[] labels)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/SparseSwitchStmtNode.html b/api/proguard/dexfile/reader/node/insn/SparseSwitchStmtNode.html new file mode 100644 index 000000000..c65aa058a --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/SparseSwitchStmtNode.html @@ -0,0 +1,380 @@ + + + + + +SparseSwitchStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SparseSwitchStmtNode

+
+
+ +
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SparseSwitchStmtNode​(Op op, + int a, + int[] cases, + DexLabel[] labels) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        cases

        +
        public final int[] cases
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SparseSwitchStmtNode

        +
        public SparseSwitchStmtNode​(Op op,
        +                            int a,
        +                            int[] cases,
        +                            DexLabel[] labels)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/Stmt0RNode.html b/api/proguard/dexfile/reader/node/insn/Stmt0RNode.html new file mode 100644 index 000000000..e6147155d --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/Stmt0RNode.html @@ -0,0 +1,330 @@ + + + + + +Stmt0RNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Stmt0RNode

+
+
+ +
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Stmt0RNode​(Op op) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Stmt0RNode

        +
        public Stmt0RNode​(Op op)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/Stmt1RNode.html b/api/proguard/dexfile/reader/node/insn/Stmt1RNode.html new file mode 100644 index 000000000..c57b877dd --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/Stmt1RNode.html @@ -0,0 +1,364 @@ + + + + + +Stmt1RNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Stmt1RNode

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      inta 
      + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Stmt1RNode​(Op op, + int a) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        a

        +
        public final int a
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Stmt1RNode

        +
        public Stmt1RNode​(Op op,
        +                  int a)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/Stmt2R1NNode.html b/api/proguard/dexfile/reader/node/insn/Stmt2R1NNode.html new file mode 100644 index 000000000..97ec3d97c --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/Stmt2R1NNode.html @@ -0,0 +1,396 @@ + + + + + +Stmt2R1NNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Stmt2R1NNode

+
+
+ +
+
    +
  • +
    +
    public class Stmt2R1NNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      intcontent 
      intdistReg 
      intsrcReg 
      + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Stmt2R1NNode​(Op op, + int distReg, + int srcReg, + int content) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        distReg

        +
        public final int distReg
        +
      • +
      + + + +
        +
      • +

        srcReg

        +
        public final int srcReg
        +
      • +
      + + + +
        +
      • +

        content

        +
        public final int content
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Stmt2R1NNode

        +
        public Stmt2R1NNode​(Op op,
        +                    int distReg,
        +                    int srcReg,
        +                    int content)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/Stmt2RNode.html b/api/proguard/dexfile/reader/node/insn/Stmt2RNode.html new file mode 100644 index 000000000..7ee058a92 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/Stmt2RNode.html @@ -0,0 +1,380 @@ + + + + + +Stmt2RNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Stmt2RNode

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      inta 
      intb 
      + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Stmt2RNode​(Op op, + int a, + int b) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        a

        +
        public final int a
        +
      • +
      + + + +
        +
      • +

        b

        +
        public final int b
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Stmt2RNode

        +
        public Stmt2RNode​(Op op,
        +                  int a,
        +                  int b)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/Stmt3RNode.html b/api/proguard/dexfile/reader/node/insn/Stmt3RNode.html new file mode 100644 index 000000000..a951fb5cf --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/Stmt3RNode.html @@ -0,0 +1,396 @@ + + + + + +Stmt3RNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Stmt3RNode

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      inta 
      intb 
      intc 
      + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Stmt3RNode​(Op op, + int a, + int b, + int c) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        a

        +
        public final int a
        +
      • +
      + + + +
        +
      • +

        b

        +
        public final int b
        +
      • +
      + + + +
        +
      • +

        c

        +
        public final int c
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Stmt3RNode

        +
        public Stmt3RNode​(Op op,
        +                  int a,
        +                  int b,
        +                  int c)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/TypeStmtNode.html b/api/proguard/dexfile/reader/node/insn/TypeStmtNode.html new file mode 100644 index 000000000..720a0920d --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/TypeStmtNode.html @@ -0,0 +1,396 @@ + + + + + +TypeStmtNode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypeStmtNode

+
+
+ +
+
    +
  • +
    +
    public class TypeStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      inta 
      intb 
      java.lang.Stringtype 
      + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      TypeStmtNode​(Op op, + int a, + int b, + java.lang.String type) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaccept​(DexCodeVisitor cv) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        a

        +
        public final int a
        +
      • +
      + + + +
        +
      • +

        b

        +
        public final int b
        +
      • +
      + + + +
        +
      • +

        type

        +
        public final java.lang.String type
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TypeStmtNode

        +
        public TypeStmtNode​(Op op,
        +                    int a,
        +                    int b,
        +                    java.lang.String type)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/node/insn/package-summary.html b/api/proguard/dexfile/reader/node/insn/package-summary.html new file mode 100644 index 000000000..c825a5fe5 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/package-summary.html @@ -0,0 +1,240 @@ + + + + + +proguard.dexfile.reader.node.insn (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.dexfile.reader.node.insn

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/dexfile/reader/node/insn/package-tree.html b/api/proguard/dexfile/reader/node/insn/package-tree.html new file mode 100644 index 000000000..503edbdec --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/package-tree.html @@ -0,0 +1,189 @@ + + + + + +proguard.dexfile.reader.node.insn Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.dexfile.reader.node.insn

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/dexfile/reader/node/package-summary.html b/api/proguard/dexfile/reader/node/package-summary.html new file mode 100644 index 000000000..993bf6a39 --- /dev/null +++ b/api/proguard/dexfile/reader/node/package-summary.html @@ -0,0 +1,224 @@ + + + + + +proguard.dexfile.reader.node (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.dexfile.reader.node

+
+ +
+
+ +
+ + diff --git a/api/proguard/dexfile/reader/node/package-tree.html b/api/proguard/dexfile/reader/node/package-tree.html new file mode 100644 index 000000000..0e9364e59 --- /dev/null +++ b/api/proguard/dexfile/reader/node/package-tree.html @@ -0,0 +1,207 @@ + + + + + +proguard.dexfile.reader.node Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.dexfile.reader.node

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/dexfile/reader/package-summary.html b/api/proguard/dexfile/reader/package-summary.html new file mode 100644 index 000000000..70478012e --- /dev/null +++ b/api/proguard/dexfile/reader/package-summary.html @@ -0,0 +1,275 @@ + + + + + +proguard.dexfile.reader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.dexfile.reader

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    BaseDexFileReader 
    CFG 
    DexConstants +
    constants in dex file
    +
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    DexContainerReader +
    Open and read a dex container, introduced in dex format v41.
    +
    DexFileReader +
    Open and read a dex file.this is the entrance of dex-reader.
    +
    DexLabel +
    a light weight version of org.objectweb.asm.Label
    +
    DexReaderFactory 
    DexType +
    a light weight version of org.objectweb.asm.Type
    +
    Field +
    represent a field_id_item in dex file format
    +
    Method +
    represent a method_id_item in dex file format
    +
    MethodHandle 
    Proto 
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + +
    Enum Summary 
    EnumDescription
    InstructionFormat 
    InstructionIndexType 
    Op 
    Visibility 
    +
  • +
  • + + + + + + + + + + + + +
    Exception Summary 
    ExceptionDescription
    DexException 
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/dexfile/reader/package-tree.html b/api/proguard/dexfile/reader/package-tree.html new file mode 100644 index 000000000..c2b4a040a --- /dev/null +++ b/api/proguard/dexfile/reader/package-tree.html @@ -0,0 +1,207 @@ + + + + + +proguard.dexfile.reader Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.dexfile.reader

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/dexfile/reader/util/InputStreams.html b/api/proguard/dexfile/reader/util/InputStreams.html new file mode 100644 index 000000000..fa540b063 --- /dev/null +++ b/api/proguard/dexfile/reader/util/InputStreams.html @@ -0,0 +1,309 @@ + + + + + +InputStreams (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InputStreams

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.util.InputStreams
    • +
    +
  • +
+
+
    +
  • +
    +
    public class InputStreams
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      InputStreams() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static byte[]toByteArray​(java.io.InputStream is) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InputStreams

        +
        public InputStreams()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        toByteArray

        +
        public static byte[] toByteArray​(java.io.InputStream is)
        +                          throws java.io.IOException
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/util/Mutf8.html b/api/proguard/dexfile/reader/util/Mutf8.html new file mode 100644 index 000000000..8572a4495 --- /dev/null +++ b/api/proguard/dexfile/reader/util/Mutf8.html @@ -0,0 +1,323 @@ + + + + + +Mutf8 (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Mutf8

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.util.Mutf8
    • +
    +
  • +
+
+
    +
  • +
    +
    public final class Mutf8
    +extends java.lang.Object
    +
    Modified UTF-8 as described in the dex file format spec. + +

    Derived from libcore's MUTF-8 encoder at java.nio.charset.ModifiedUtf8.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static java.lang.Stringdecode​(java.nio.ByteBuffer in, + java.lang.StringBuilder sb) +
      Decodes bytes from in into sb until a delimiter 0x00 is encountered.
      +
      static voidencode​(byte[] dst, + int offset, + java.lang.String s) +
      Encodes the modified UTF-8 bytes corresponding to s into dst, starting at + offset.
      +
      static byte[]encode​(java.lang.String s) +
      Returns an array containing the modified UTF-8 form of s.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        decode

        +
        public static java.lang.String decode​(java.nio.ByteBuffer in,
        +                                      java.lang.StringBuilder sb)
        +                               throws java.io.UTFDataFormatException
        +
        Decodes bytes from in into sb until a delimiter 0x00 is encountered. Returns a + new string containing the decoded characters.
        +
        +
        Throws:
        +
        java.io.UTFDataFormatException
        +
        +
      • +
      + + + +
        +
      • +

        encode

        +
        public static void encode​(byte[] dst,
        +                          int offset,
        +                          java.lang.String s)
        +
        Encodes the modified UTF-8 bytes corresponding to s into dst, starting at + offset.
        +
      • +
      + + + +
        +
      • +

        encode

        +
        public static byte[] encode​(java.lang.String s)
        +                     throws java.io.UTFDataFormatException
        +
        Returns an array containing the modified UTF-8 form of s.
        +
        +
        Throws:
        +
        java.io.UTFDataFormatException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/reader/util/package-summary.html b/api/proguard/dexfile/reader/util/package-summary.html new file mode 100644 index 000000000..06a8a3bc2 --- /dev/null +++ b/api/proguard/dexfile/reader/util/package-summary.html @@ -0,0 +1,170 @@ + + + + + +proguard.dexfile.reader.util (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.dexfile.reader.util

+
+
+
    +
  • + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    InputStreams 
    Mutf8 +
    Modified UTF-8 as described in the dex file format spec.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/dexfile/reader/util/package-tree.html b/api/proguard/dexfile/reader/util/package-tree.html new file mode 100644 index 000000000..1e01ecef3 --- /dev/null +++ b/api/proguard/dexfile/reader/util/package-tree.html @@ -0,0 +1,162 @@ + + + + + +proguard.dexfile.reader.util Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.dexfile.reader.util

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object + +
  • +
+
+
+
+ + + diff --git a/api/proguard/dexfile/reader/visitors/DexAnnotationAble.html b/api/proguard/dexfile/reader/visitors/DexAnnotationAble.html new file mode 100644 index 000000000..74fd2383a --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexAnnotationAble.html @@ -0,0 +1,264 @@ + + + + + +DexAnnotationAble (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface DexAnnotationAble

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnnotation

        +
        DexAnnotationVisitor visitAnnotation​(java.lang.String name,
        +                                     Visibility visibility)
        +
        访问注解
        +
        +
        Parameters:
        +
        name - 注解名
        +
        visibility - 是否运行时可见
        +
        Returns:
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/dexfile/reader/visitors/DexAnnotationVisitor.html b/api/proguard/dexfile/reader/visitors/DexAnnotationVisitor.html new file mode 100644 index 000000000..71ba943f0 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexAnnotationVisitor.html @@ -0,0 +1,463 @@ + + + + + +DexAnnotationVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexAnnotationVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.visitors.DexAnnotationVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    DexAnnotationNode
    +
    +
    +
    public class DexAnnotationVisitor
    +extends java.lang.Object
    +
    A visitor to visit a Java annotation. The methods of this interface must be called in the + following order: ( visit | visitEnum | visitAnnotation | + visitArray)* visitEnd.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidvisit​(java.lang.String name, + java.lang.Object value) +
      Visits a primitive value of the annotation.
      +
      DexAnnotationVisitorvisitAnnotation​(java.lang.String name, + java.lang.String desc) +
      Visits a nested annotation value of the annotation.
      +
      DexAnnotationVisitorvisitArray​(java.lang.String name) 
      voidvisitEnd() +
      Visits the end of the annotation.
      +
      voidvisitEnum​(java.lang.String name, + java.lang.String desc, + java.lang.String value) +
      Visits an enumeration value of the annotation.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexAnnotationVisitor

        +
        public DexAnnotationVisitor()
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visit

        +
        public void visit​(java.lang.String name,
        +                  java.lang.Object value)
        +
        Visits a primitive value of the annotation.
        +
        +
        Parameters:
        +
        name - the value name.
        +
        value - the actual value, whose type must be Byte, Boolean, Character, Short, Integer, Long, Float, Double, + String or DexType.
        +
        +
      • +
      + + + +
        +
      • +

        visitEnum

        +
        public void visitEnum​(java.lang.String name,
        +                      java.lang.String desc,
        +                      java.lang.String value)
        +
        Visits an enumeration value of the annotation.
        +
        +
        Parameters:
        +
        name - the value name.
        +
        desc - the class descriptor of the enumeration class.
        +
        value - the actual enumeration value.
        +
        +
      • +
      + + + +
        +
      • +

        visitAnnotation

        +
        public DexAnnotationVisitor visitAnnotation​(java.lang.String name,
        +                                            java.lang.String desc)
        +
        Visits a nested annotation value of the annotation.
        +
        +
        Parameters:
        +
        name - the value name.
        +
        desc - the class descriptor of the nested annotation class.
        +
        Returns:
        +
        a visitor to visit the actual nested annotation value, or null if this visitor + is not interested in visiting this nested annotation. The nested annotation value must + be fully visited before calling other methods on this annotation visitor.
        +
        +
      • +
      + + + + + + + +
        +
      • +

        visitEnd

        +
        public void visitEnd()
        +
        Visits the end of the annotation.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/visitors/DexClassVisitor.html b/api/proguard/dexfile/reader/visitors/DexClassVisitor.html new file mode 100644 index 000000000..e9bfa2250 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexClassVisitor.html @@ -0,0 +1,448 @@ + + + + + +DexClassVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.visitors.DexClassVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexClassVisitor

        +
        public DexClassVisitor()
        +
      • +
      + + + +
        +
      • +

        DexClassVisitor

        +
        public DexClassVisitor​(DexClassVisitor dcv)
        +
        +
        Parameters:
        +
        dcv -
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        visitEnd

        +
        public void visitEnd()
        +
      • +
      + + + +
        +
      • +

        visitField

        +
        public DexFieldVisitor visitField​(int accessFlags,
        +                                  Field field,
        +                                  java.lang.Object value)
        +
      • +
      + + + + + + + +
        +
      • +

        visitSource

        +
        public void visitSource​(java.lang.String file)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/visitors/DexCodeVisitor.html b/api/proguard/dexfile/reader/visitors/DexCodeVisitor.html new file mode 100644 index 000000000..7f5b77ba1 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexCodeVisitor.html @@ -0,0 +1,959 @@ + + + + + +DexCodeVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexCodeVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.visitors.DexCodeVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    DexCodeNode
    +
    +
    +
    public class DexCodeVisitor
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      protected DexCodeVisitorvisitor 
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidvisitConstStmt​(Op op, + int ra, + java.lang.Object value) +
      + CONST * CONST_WIDE * CONST_STRING * CONST_CLASS *
      +
      DexDebugVisitorvisitDebug() 
      voidvisitEnd() 
      voidvisitFieldStmt​(Op op, + int a, + int b, + Field field) +
      + OP_IGETX a,b field + OP_IPUTX a,b field + OP_SGETX a field + OP_SPUTX a field
      +
      voidvisitFillArrayDataStmt​(Op op, + int ra, + java.lang.Object array) 
      voidvisitFilledNewArrayStmt​(Op op, + int[] args, + java.lang.String type) +
      + OP_FILLED_NEW_ARRAY
      +
      voidvisitJumpStmt​(Op op, + int a, + int b, + DexLabel label) +
      + OP_IF_EQ + OP_IF_NE + OP_IF_LT + OP_IF_GE + OP_IF_GT + OP_IF_LE + OP_GOTO + OP_IF_EQZ + OP_IF_NEZ + OP_IF_LTZ + OP_IF_GEZ + OP_IF_GTZ + OP_IF_LEZ
      +
      voidvisitLabel​(DexLabel label) 
      voidvisitMethodStmt​(Op op, + int[] args, + java.lang.String name, + Proto proto, + MethodHandle bsm, + java.lang.Object... bsmArgs) +
      + OP_INVOKE_CUSTOM
      +
      voidvisitMethodStmt​(Op op, + int[] args, + Method method) +
      + OP_INVOKE_VIRTUAL + OP_INVOKE_SUPER + OP_INVOKE_DIRECT + OP_INVOKE_STATIC + OP_INVOKE_INTERFACE
      +
      voidvisitMethodStmt​(Op op, + int[] args, + Method bsm, + Proto proto) +
      + OP_INVOKE_POLYMORPHIC
      +
      voidvisitPackedSwitchStmt​(Op op, + int aA, + int first_case, + DexLabel[] labels) 
      voidvisitRegister​(int total) 
      voidvisitSparseSwitchStmt​(Op op, + int ra, + int[] cases, + DexLabel[] labels) 
      voidvisitStmt0R​(Op op) + +
      voidvisitStmt1R​(Op op, + int reg) +
      + OP_RETURN_X + OP_THROW_X + OP_MONITOR_ENTER + OP_MONITOR_EXIT + OP_MOVE_RESULT_X + OP_MOVE_EXCEPTION_X
      +
      voidvisitStmt2R​(Op op, + int a, + int b) +
      + OP_MOVE* + a = a X b + OP_ARRAY_LENGTH + a=Xb + X_TO_Y
      +
      voidvisitStmt2R1N​(Op op, + int distReg, + int srcReg, + int content) +
      + OP_X_INT_LIT8
      +
      voidvisitStmt3R​(Op op, + int a, + int b, + int c) +
      + + OP_ADD + OP_SUB + OP_MUL + OP_DIV + OP_REM + OP_AND + OP_OR + OP_XOR + OP_SHL + OP_SHR + OP_USHR + OP_CMPL + OP_CMPG + OP_CMP + OP_AGETX + OP_APUTX
      +
      voidvisitTryCatch​(DexLabel start, + DexLabel end, + DexLabel[] handler, + java.lang.String[] type) 
      voidvisitTypeStmt​(Op op, + int a, + int b, + java.lang.String type) +
      + OP_INSTANCE_OF + OP_NEW_ARRAY + OP_CHECK_CAST + OP_NEW_INSTANCE
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexCodeVisitor

        +
        public DexCodeVisitor()
        +
      • +
      + + + +
        +
      • +

        DexCodeVisitor

        +
        public DexCodeVisitor​(DexCodeVisitor visitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitRegister

        +
        public void visitRegister​(int total)
        +
      • +
      + + + +
        +
      • +

        visitStmt2R1N

        +
        public void visitStmt2R1N​(Op op,
        +                          int distReg,
        +                          int srcReg,
        +                          int content)
        +
        + OP_X_INT_LIT8
        + 
        +
        +
        Parameters:
        +
        op -
        +
        distReg -
        +
        srcReg -
        +
        content -
        +
        +
      • +
      + + + +
        +
      • +

        visitStmt3R

        +
        public void visitStmt3R​(Op op,
        +                        int a,
        +                        int b,
        +                        int c)
        +
        +
        + OP_ADD
        + OP_SUB
        + OP_MUL
        + OP_DIV
        + OP_REM
        + OP_AND
        + OP_OR
        + OP_XOR
        + OP_SHL
        + OP_SHR
        + OP_USHR
        + OP_CMPL
        + OP_CMPG
        + OP_CMP
        + OP_AGETX
        + OP_APUTX
        + 
        +
      • +
      + + + +
        +
      • +

        visitTypeStmt

        +
        public void visitTypeStmt​(Op op,
        +                          int a,
        +                          int b,
        +                          java.lang.String type)
        +
        + OP_INSTANCE_OF
        + OP_NEW_ARRAY
        + OP_CHECK_CAST
        + OP_NEW_INSTANCE
        + 
        +
        +
        Parameters:
        +
        op -
        +
        a -
        +
        b -
        +
        type -
        +
        +
      • +
      + + + +
        +
      • +

        visitConstStmt

        +
        public void visitConstStmt​(Op op,
        +                           int ra,
        +                           java.lang.Object value)
        +
        + CONST * CONST_WIDE * CONST_STRING * CONST_CLASS *
        + 
        +
        +
        Parameters:
        +
        op -
        +
        ra -
        +
        value - int/long/type
        +
        +
      • +
      + + + +
        +
      • +

        visitFillArrayDataStmt

        +
        public void visitFillArrayDataStmt​(Op op,
        +                                   int ra,
        +                                   java.lang.Object array)
        +
      • +
      + + + +
        +
      • +

        visitEnd

        +
        public void visitEnd()
        +
      • +
      + + + +
        +
      • +

        visitFieldStmt

        +
        public void visitFieldStmt​(Op op,
        +                           int a,
        +                           int b,
        +                           Field field)
        +
        + OP_IGETX a,b field
        + OP_IPUTX a,b field
        + OP_SGETX a field
        + OP_SPUTX a field
        + 
        +
        +
        Parameters:
        +
        op -
        +
        a -
        +
        b -
        +
        field -
        +
        +
      • +
      + + + +
        +
      • +

        visitFilledNewArrayStmt

        +
        public void visitFilledNewArrayStmt​(Op op,
        +                                    int[] args,
        +                                    java.lang.String type)
        +
        + OP_FILLED_NEW_ARRAY
        + 
        +
        +
        Parameters:
        +
        op -
        +
        args -
        +
        type -
        +
        +
      • +
      + + + +
        +
      • +

        visitJumpStmt

        +
        public void visitJumpStmt​(Op op,
        +                          int a,
        +                          int b,
        +                          DexLabel label)
        +
        + OP_IF_EQ
        + OP_IF_NE
        + OP_IF_LT
        + OP_IF_GE
        + OP_IF_GT
        + OP_IF_LE
        + OP_GOTO
        + OP_IF_EQZ
        + OP_IF_NEZ
        + OP_IF_LTZ
        + OP_IF_GEZ
        + OP_IF_GTZ
        + OP_IF_LEZ
        + 
        +
        +
        Parameters:
        +
        op -
        +
        a -
        +
        b -
        +
        label -
        +
        +
      • +
      + + + +
        +
      • +

        visitLabel

        +
        public void visitLabel​(DexLabel label)
        +
      • +
      + + + +
        +
      • +

        visitSparseSwitchStmt

        +
        public void visitSparseSwitchStmt​(Op op,
        +                                  int ra,
        +                                  int[] cases,
        +                                  DexLabel[] labels)
        +
      • +
      + + + +
        +
      • +

        visitMethodStmt

        +
        public void visitMethodStmt​(Op op,
        +                            int[] args,
        +                            Method method)
        +
        + OP_INVOKE_VIRTUAL
        + OP_INVOKE_SUPER
        + OP_INVOKE_DIRECT
        + OP_INVOKE_STATIC
        + OP_INVOKE_INTERFACE
        + 
        +
        +
        Parameters:
        +
        op -
        +
        args -
        +
        method -
        +
        +
      • +
      + + + +
        +
      • +

        visitMethodStmt

        +
        public void visitMethodStmt​(Op op,
        +                            int[] args,
        +                            java.lang.String name,
        +                            Proto proto,
        +                            MethodHandle bsm,
        +                            java.lang.Object... bsmArgs)
        +
        + OP_INVOKE_CUSTOM
        + 
        +
      • +
      + + + +
        +
      • +

        visitMethodStmt

        +
        public void visitMethodStmt​(Op op,
        +                            int[] args,
        +                            Method bsm,
        +                            Proto proto)
        +
        + OP_INVOKE_POLYMORPHIC
        + 
        +
      • +
      + + + +
        +
      • +

        visitStmt2R

        +
        public void visitStmt2R​(Op op,
        +                        int a,
        +                        int b)
        +
        + OP_MOVE*
        + a = a X b
        + OP_ARRAY_LENGTH
        + a=Xb
        + X_TO_Y
        + 
        +
        +
        Parameters:
        +
        op -
        +
        a -
        +
        b -
        +
        +
      • +
      + + + + + + + +
        +
      • +

        visitStmt1R

        +
        public void visitStmt1R​(Op op,
        +                        int reg)
        +
        + OP_RETURN_X
        + OP_THROW_X
        + OP_MONITOR_ENTER
        + OP_MONITOR_EXIT
        + OP_MOVE_RESULT_X
        + OP_MOVE_EXCEPTION_X
        + 
        +
        +
        Parameters:
        +
        op -
        +
        reg -
        +
        +
      • +
      + + + +
        +
      • +

        visitPackedSwitchStmt

        +
        public void visitPackedSwitchStmt​(Op op,
        +                                  int aA,
        +                                  int first_case,
        +                                  DexLabel[] labels)
        +
      • +
      + + + +
        +
      • +

        visitTryCatch

        +
        public void visitTryCatch​(DexLabel start,
        +                          DexLabel end,
        +                          DexLabel[] handler,
        +                          java.lang.String[] type)
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/visitors/DexDebugVisitor.html b/api/proguard/dexfile/reader/visitors/DexDebugVisitor.html new file mode 100644 index 000000000..56b8b2965 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexDebugVisitor.html @@ -0,0 +1,496 @@ + + + + + +DexDebugVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexDebugVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.visitors.DexDebugVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    DexDebugNode
    +
    +
    +
    public class DexDebugVisitor
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexDebugVisitor

        +
        public DexDebugVisitor()
        +
      • +
      + + + +
        +
      • +

        DexDebugVisitor

        +
        public DexDebugVisitor​(DexDebugVisitor visitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitParameterName

        +
        public void visitParameterName​(int parameterIndex,
        +                               java.lang.String name)
        +
        +
        Parameters:
        +
        parameterIndex - start with the first index of DexMethod.getParameterTypes(), no 'this'
        +
        name -
        +
        +
      • +
      + + + +
        +
      • +

        visitStartLocal

        +
        public void visitStartLocal​(int reg,
        +                            DexLabel label,
        +                            java.lang.String name,
        +                            java.lang.String type,
        +                            java.lang.String signature)
        +
      • +
      + + + +
        +
      • +

        visitLineNumber

        +
        public void visitLineNumber​(int line,
        +                            DexLabel label)
        +
      • +
      + + + +
        +
      • +

        visitEndLocal

        +
        public void visitEndLocal​(int reg,
        +                          DexLabel label)
        +
      • +
      + + + +
        +
      • +

        visitSetFile

        +
        public void visitSetFile​(java.lang.String file)
        +
      • +
      + + + +
        +
      • +

        visitPrologue

        +
        public void visitPrologue​(DexLabel dexLabel)
        +
      • +
      + + + +
        +
      • +

        visitEpiogue

        +
        public void visitEpiogue​(DexLabel dexLabel)
        +
      • +
      + + + +
        +
      • +

        visitRestartLocal

        +
        public void visitRestartLocal​(int reg,
        +                              DexLabel label)
        +
      • +
      + + + +
        +
      • +

        visitEnd

        +
        public void visitEnd()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/visitors/DexFieldVisitor.html b/api/proguard/dexfile/reader/visitors/DexFieldVisitor.html new file mode 100644 index 000000000..ea7d3131d --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexFieldVisitor.html @@ -0,0 +1,396 @@ + + + + + +DexFieldVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexFieldVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.visitors.DexFieldVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexFieldVisitor

        +
        public DexFieldVisitor​(DexFieldVisitor visitor)
        +
      • +
      + + + +
        +
      • +

        DexFieldVisitor

        +
        public DexFieldVisitor()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/visitors/DexFileVisitor.html b/api/proguard/dexfile/reader/visitors/DexFileVisitor.html new file mode 100644 index 000000000..43c260fd1 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexFileVisitor.html @@ -0,0 +1,397 @@ + + + + + +DexFileVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexFileVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.visitors.DexFileVisitor
    • +
    +
  • +
+
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    DexFileNode
    +
    +
    +
    public class DexFileVisitor
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      protected DexFileVisitorvisitor 
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      DexClassVisitorvisit​(int access_flags, + java.lang.String className, + java.lang.String superClass, + java.lang.String[] interfaceNames) 
      voidvisitDexFileVersion​(int version) 
      voidvisitEnd() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexFileVisitor

        +
        public DexFileVisitor()
        +
      • +
      + + + +
        +
      • +

        DexFileVisitor

        +
        public DexFileVisitor​(DexFileVisitor visitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitDexFileVersion

        +
        public void visitDexFileVersion​(int version)
        +
      • +
      + + + +
        +
      • +

        visit

        +
        public DexClassVisitor visit​(int access_flags,
        +                             java.lang.String className,
        +                             java.lang.String superClass,
        +                             java.lang.String[] interfaceNames)
        +
      • +
      + + + +
        +
      • +

        visitEnd

        +
        public void visitEnd()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/visitors/DexMethodVisitor.html b/api/proguard/dexfile/reader/visitors/DexMethodVisitor.html new file mode 100644 index 000000000..a679a0f66 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexMethodVisitor.html @@ -0,0 +1,428 @@ + + + + + +DexMethodVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DexMethodVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.visitors.DexMethodVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/dexfile/reader/visitors/package-summary.html b/api/proguard/dexfile/reader/visitors/package-summary.html new file mode 100644 index 000000000..45277c9cf --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/package-summary.html @@ -0,0 +1,207 @@ + + + + + +proguard.dexfile.reader.visitors (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.dexfile.reader.visitors

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/dexfile/reader/visitors/package-tree.html b/api/proguard/dexfile/reader/visitors/package-tree.html new file mode 100644 index 000000000..a9b5ec3b6 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/package-tree.html @@ -0,0 +1,173 @@ + + + + + +proguard.dexfile.reader.visitors Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.dexfile.reader.visitors

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/evaluation/BasicBranchUnit.html b/api/proguard/evaluation/BasicBranchUnit.html new file mode 100644 index 000000000..de05285db --- /dev/null +++ b/api/proguard/evaluation/BasicBranchUnit.html @@ -0,0 +1,508 @@ + + + + + +BasicBranchUnit (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BasicBranchUnit

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.BasicBranchUnit
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    BranchUnit
    +
    +
    +
    public class BasicBranchUnit
    +extends java.lang.Object
    +implements BranchUnit
    +
    This BranchUnit remembers the branch unit commands that are invoked on it. It doesn't + consider conditions when branching.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      BasicBranchUnit() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidbranch​(Clazz clazz, + CodeAttribute codeAttribute, + int offset, + int branchTarget) +
      Sets the new instruction offset.
      +
      voidbranchConditionally​(Clazz clazz, + CodeAttribute codeAttribute, + int offset, + int branchTarget, + int conditional) +
      Sets the new instruction offset, depending on the certainty of the conditional branch.
      +
      InstructionOffsetValuegetTraceBranchTargets() +
      Returns the accumulated branch targets that were passed to the branch unit methods.
      +
      voidreset() +
      Resets the accumulated branch targets and the flag that tells whether any of the branch unit + methods was called.
      +
      voidreturnFromMethod() +
      Returns from the method with the given value.
      +
      voidthrowException() +
      Handles the throwing of an exception.
      +
      booleanwasCalled() +
      Returns whether any of the branch unit methods was called.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BasicBranchUnit

        +
        public BasicBranchUnit()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        reset

        +
        public void reset()
        +
        Resets the accumulated branch targets and the flag that tells whether any of the branch unit + methods was called.
        +
      • +
      + + + +
        +
      • +

        wasCalled

        +
        public boolean wasCalled()
        +
        Returns whether any of the branch unit methods was called.
        +
      • +
      + + + +
        +
      • +

        getTraceBranchTargets

        +
        public InstructionOffsetValue getTraceBranchTargets()
        +
        Returns the accumulated branch targets that were passed to the branch unit methods.
        +
      • +
      + + + +
        +
      • +

        branch

        +
        public void branch​(Clazz clazz,
        +                   CodeAttribute codeAttribute,
        +                   int offset,
        +                   int branchTarget)
        +
        Description copied from interface: BranchUnit
        +
        Sets the new instruction offset.
        +
        +
        Specified by:
        +
        branch in interface BranchUnit
        +
        +
      • +
      + + + +
        +
      • +

        branchConditionally

        +
        public void branchConditionally​(Clazz clazz,
        +                                CodeAttribute codeAttribute,
        +                                int offset,
        +                                int branchTarget,
        +                                int conditional)
        +
        Description copied from interface: BranchUnit
        +
        Sets the new instruction offset, depending on the certainty of the conditional branch.
        +
        +
        Specified by:
        +
        branchConditionally in interface BranchUnit
        +
        +
      • +
      + + + +
        +
      • +

        returnFromMethod

        +
        public void returnFromMethod()
        +
        Description copied from interface: BranchUnit
        +
        Returns from the method with the given value.
        +
        +
        Specified by:
        +
        returnFromMethod in interface BranchUnit
        +
        +
      • +
      + + + +
        +
      • +

        throwException

        +
        public void throwException()
        +
        Description copied from interface: BranchUnit
        +
        Handles the throwing of an exception.
        +
        +
        Specified by:
        +
        throwException in interface BranchUnit
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/BasicInvocationUnit.html b/api/proguard/evaluation/BasicInvocationUnit.html new file mode 100644 index 000000000..3a9a327c4 --- /dev/null +++ b/api/proguard/evaluation/BasicInvocationUnit.html @@ -0,0 +1,729 @@ + + + + + +BasicInvocationUnit (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BasicInvocationUnit

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/BranchUnit.html b/api/proguard/evaluation/BranchUnit.html new file mode 100644 index 000000000..65942ba0b --- /dev/null +++ b/api/proguard/evaluation/BranchUnit.html @@ -0,0 +1,321 @@ + + + + + +BranchUnit (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface BranchUnit

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    BasicBranchUnit
    +
    +
    +
    public interface BranchUnit
    +
    This interface defines methods to handle branches and returns from methods.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      voidbranch​(Clazz clazz, + CodeAttribute codeAttribute, + int offset, + int branchTarget) +
      Sets the new instruction offset.
      +
      voidbranchConditionally​(Clazz clazz, + CodeAttribute codeAttribute, + int offset, + int branchTarget, + int conditional) +
      Sets the new instruction offset, depending on the certainty of the conditional branch.
      +
      voidreturnFromMethod() +
      Returns from the method with the given value.
      +
      voidthrowException() +
      Handles the throwing of an exception.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        branch

        +
        void branch​(Clazz clazz,
        +            CodeAttribute codeAttribute,
        +            int offset,
        +            int branchTarget)
        +
        Sets the new instruction offset.
        +
      • +
      + + + +
        +
      • +

        branchConditionally

        +
        void branchConditionally​(Clazz clazz,
        +                         CodeAttribute codeAttribute,
        +                         int offset,
        +                         int branchTarget,
        +                         int conditional)
        +
        Sets the new instruction offset, depending on the certainty of the conditional branch.
        +
      • +
      + + + +
        +
      • +

        returnFromMethod

        +
        void returnFromMethod()
        +
        Returns from the method with the given value.
        +
      • +
      + + + +
        +
      • +

        throwException

        +
        void throwException()
        +
        Handles the throwing of an exception.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/ClassConstantValueFactory.html b/api/proguard/evaluation/ClassConstantValueFactory.html new file mode 100644 index 000000000..0e58263d8 --- /dev/null +++ b/api/proguard/evaluation/ClassConstantValueFactory.html @@ -0,0 +1,354 @@ + + + + + +ClassConstantValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassConstantValueFactory

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/ConstantValueFactory.html b/api/proguard/evaluation/ConstantValueFactory.html new file mode 100644 index 000000000..5605d61dd --- /dev/null +++ b/api/proguard/evaluation/ConstantValueFactory.html @@ -0,0 +1,582 @@ + + + + + +ConstantValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstantValueFactory

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.ConstantValueFactory
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/ExecutingInvocationUnit.Builder.html b/api/proguard/evaluation/ExecutingInvocationUnit.Builder.html new file mode 100644 index 000000000..528f54df0 --- /dev/null +++ b/api/proguard/evaluation/ExecutingInvocationUnit.Builder.html @@ -0,0 +1,520 @@ + + + + + +ExecutingInvocationUnit.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExecutingInvocationUnit.Builder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.ExecutingInvocationUnit.Builder
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/ExecutingInvocationUnit.html b/api/proguard/evaluation/ExecutingInvocationUnit.html new file mode 100644 index 000000000..7c679bdab --- /dev/null +++ b/api/proguard/evaluation/ExecutingInvocationUnit.html @@ -0,0 +1,675 @@ + + + + + +ExecutingInvocationUnit (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExecutingInvocationUnit

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ConstantVisitor, MemberVisitor, ParameterVisitor, InvocationUnit
    +
    +
    +
    public class ExecutingInvocationUnit
    +extends BasicInvocationUnit
    +
    This InvocationUnit is capable of executing the invoked methods with particular values as + parameters. + +

    If a method has a return value, this value is determined and supplied as a particular Value. Methods that operate on an instance are able to modify the calling instance. For such + methods, references in the stack and variables to that instance are replaced with the modified + one. This also applies to constructors. + +

    This class is responsible for creating the final particular Values for methods that + were handled without errors and creating fallback values in case the method could not be handled. + It also performs the action of replacing references of instances that changed in the stack and + variables if needed. This is however limited as we only update the instance if it was modified + and ignores all other parameters which might have changed too. + +

    An ExecutingInvocationUnit delegates the acquisition of method results and certain + other decisions (e.g. whether replacing references in the stack and variables is needed) to its + Executors. Per default, an instance of this class will have access to a StringReflectionExecutor that handles methods of String, StringBuilder and + StringBuffer. The ExecutingInvocationUnit.Builder, allows for disabling the default StringReflectionExecutor and adding other Executors.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExecutingInvocationUnit

        +
        protected ExecutingInvocationUnit​(ValueFactory valueFactory,
        +                                  boolean enableSameInstanceIdApproximation,
        +                                  java.util.List<Executor> registeredExecutors)
        + +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        executeMethod

        +
        public MethodResult executeMethod​(Executor executor,
        +                                  MethodExecutionInfo methodInfo)
        +
        Executes a method using a given Executor. Replace references of the instance in + variables and stack if necessary. The return value represents the result of the executed + method.
        +
        +
        Parameters:
        +
        executor - The Executor which handles this method call.
        +
        methodInfo - Information about the method to execute.
        +
        Returns:
        +
        The method result value.
        +
        +
      • +
      + + + +
        +
      • +

        canExecute

        +
        public boolean canExecute​(@NotNull
        +                          @NotNull MethodSignature signature)
        +
        Returns whether the invocation unit is able to handle the given method.
        +
        +
        Parameters:
        +
        signature - The method signature of the method being tested
        +
        Returns:
        +
        true if the method can be executed.
        +
        +
      • +
      + + + +
        +
      • +

        supportsAnyMethodOf

        +
        public boolean supportsAnyMethodOf​(@NotNull
        +                                   @NotNull Clazz clazz)
        +
        Checks whether any method of the given class is supported by the executors.
        +
        +
        Parameters:
        +
        clazz - The class to check
        +
        Returns:
        +
        true if any method of the given class is supported by the executor
        +
        +
      • +
      + + + +
        +
      • +

        supportsAnyMethodOf

        +
        public boolean supportsAnyMethodOf​(@NotNull
        +                                   @NotNull java.lang.String className)
        +
        Checks whether any method of the given class is supported by the executors.
        +
        +
        Parameters:
        +
        className - The class name to check
        +
        Returns:
        +
        true if any method of the given class is supported by the executor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/IncompleteClassHierarchyException.html b/api/proguard/evaluation/IncompleteClassHierarchyException.html new file mode 100644 index 000000000..06a5b1aa3 --- /dev/null +++ b/api/proguard/evaluation/IncompleteClassHierarchyException.html @@ -0,0 +1,339 @@ + + + + + +IncompleteClassHierarchyException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IncompleteClassHierarchyException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • + +
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + +
        +
      • + + +

        Methods inherited from class java.lang.Throwable

        +addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        IncompleteClassHierarchyException

        +
        public IncompleteClassHierarchyException​(java.lang.String message)
        +
        Deprecated.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/InitializationFinder.html b/api/proguard/evaluation/InitializationFinder.html new file mode 100644 index 000000000..f84bcdcdf --- /dev/null +++ b/api/proguard/evaluation/InitializationFinder.html @@ -0,0 +1,564 @@ + + + + + +InitializationFinder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InitializationFinder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.InitializationFinder
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InitializationFinder

        +
        public InitializationFinder()
        +
        Creates a new InitializationFinder.
        +
      • +
      + + + +
        +
      • +

        InitializationFinder

        +
        public InitializationFinder​(PartialEvaluator partialEvaluator,
        +                            boolean runPartialEvaluator)
        +
        Creates a new InitializationFinder that will use the given partial evaluator.
        +
        +
        Parameters:
        +
        partialEvaluator - the evaluator to be used for the analysis.
        +
        runPartialEvaluator - specifies whether to run this evaluator on every code attribute that + is visited.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isInitializer

        +
        public boolean isInitializer()
        +
        Returns whether the method is an instance initializer, in the CodeAttribute that was visited + most recently.
        +
      • +
      + + + +
        +
      • +

        superInitializationOffset

        +
        public int superInitializationOffset()
        +
        Returns the instruction offset at which this initializer is calling the "super" or "this" + initializer method, or NONE if it is not an initializer.
        +
      • +
      + + + +
        +
      • +

        creationOffset

        +
        public int creationOffset​(int initializationOffset)
        +
        Returns the 'new' instruction offset at which the object instance is created that is + initialized at the given offset.
        +
      • +
      + + + +
        +
      • +

        isInitializedBefore

        +
        public boolean isInitializedBefore​(int offset,
        +                                   int stackEntryIndexBottom)
        +
        Returns whether the specified stack entry is initialized.
        +
      • +
      + + + +
        +
      • +

        isTopInitializedBefore

        +
        public boolean isTopInitializedBefore​(int offset,
        +                                      int stackEntryIndexTop)
        +
        Returns whether the specified stack entry is initialized.
        +
      • +
      + + + +
        +
      • +

        isInitializedBefore

        +
        public boolean isInitializedBefore​(int offset,
        +                                   InstructionOffsetValue creationOffsetValue)
        +
        Returns whether the given creation offset is initialized before the given offset.
        +
      • +
      + + + +
        +
      • +

        isInitializer

        +
        public boolean isInitializer​(int offset)
        +
        Returns whether the instruction at the given offset is the special invocation of an instance + initializer.
        +
      • +
      + + + +
        +
      • +

        visitAnyAttribute

        +
        public void visitAnyAttribute​(Clazz clazz,
        +                              Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/InvocationUnit.html b/api/proguard/evaluation/InvocationUnit.html new file mode 100644 index 000000000..8fbb4df79 --- /dev/null +++ b/api/proguard/evaluation/InvocationUnit.html @@ -0,0 +1,340 @@ + + + + + +InvocationUnit (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface InvocationUnit

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        enterMethod

        +
        void enterMethod​(Clazz clazz,
        +                 Method method,
        +                 Variables variables)
        +
        Sets up the given variables for entering the given method.
        +
      • +
      + + + +
        +
      • +

        exitMethod

        +
        void exitMethod​(Clazz clazz,
        +                Method method,
        +                Value returnValue)
        +
        Exits the given method with the given return value.
        +
      • +
      + + + +
        +
      • +

        enterExceptionHandler

        +
        void enterExceptionHandler​(Clazz clazz,
        +                           Method method,
        +                           CodeAttribute codeAttribute,
        +                           int offset,
        +                           int catchType,
        +                           Stack stack)
        +
        Sets up the given stack for entering the given exception handler.
        +
      • +
      + + + +
        +
      • +

        invokeMember

        +
        void invokeMember​(Clazz clazz,
        +                  Method method,
        +                  CodeAttribute codeAttribute,
        +                  int offset,
        +                  ConstantInstruction constantInstruction,
        +                  Stack stack,
        +                  Variables variables)
        +
        Updates the given stack corresponding to the execution of the given field or method reference + instruction.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/LivenessAnalyzer.html b/api/proguard/evaluation/LivenessAnalyzer.html new file mode 100644 index 000000000..931f7ba4e --- /dev/null +++ b/api/proguard/evaluation/LivenessAnalyzer.html @@ -0,0 +1,644 @@ + + + + + +LivenessAnalyzer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LivenessAnalyzer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.LivenessAnalyzer
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LivenessAnalyzer

        +
        public LivenessAnalyzer()
        +
        Creates a new LivenessAnalyzer.
        +
      • +
      + + + +
        +
      • +

        LivenessAnalyzer

        +
        public LivenessAnalyzer​(PartialEvaluator partialEvaluator,
        +                        boolean runPartialEvaluator,
        +                        InitializationFinder initializationFinder,
        +                        boolean runInitializationFinder)
        +
        Creates a new LivenessAnalyzer that will use the given partial evaluator and initialization + finder.
        +
        +
        Parameters:
        +
        partialEvaluator - the evaluator to be used for the analysis.
        +
        runPartialEvaluator - specifies whether to run this evaluator on every code attribute that + is visited.
        +
        initializationFinder - the initialization finder to be used for the analysis.
        +
        runInitializationFinder - specifies whether to run this initialization finder on every + code attribute that is visited.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isTraced

        +
        public boolean isTraced​(int instructionOffset)
        +
        Returns whether the instruction at the given offset has ever been executed during the partial + evaluation.
        +
      • +
      + + + +
        +
      • +

        isAliveBefore

        +
        public boolean isAliveBefore​(int instructionOffset,
        +                             int variableIndex)
        +
        Returns whether the specified variable is alive before the instruction at the given offset.
        +
      • +
      + + + +
        +
      • +

        setAliveBefore

        +
        public void setAliveBefore​(int instructionOffset,
        +                           int variableIndex,
        +                           boolean alive)
        +
        Sets whether the specified variable is alive before the instruction at the given offset.
        +
      • +
      + + + +
        +
      • +

        isAliveAfter

        +
        public boolean isAliveAfter​(int instructionOffset,
        +                            int variableIndex)
        +
        Returns whether the specified variable is alive after the instruction at the given offset.
        +
      • +
      + + + +
        +
      • +

        setAliveAfter

        +
        public void setAliveAfter​(int instructionOffset,
        +                          int variableIndex,
        +                          boolean alive)
        +
        Sets whether the specified variable is alive after the instruction at the given offset.
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2​(int instructionOffset,
        +                           int variableIndex)
        +
        Returns whether the specified variable takes up two entries after the instruction at the given + offset.
        +
      • +
      + + + +
        +
      • +

        setCategory2

        +
        public void setCategory2​(int instructionOffset,
        +                         int variableIndex,
        +                         boolean category2)
        +
        Sets whether the specified variable takes up two entries after the instruction at the given + offset.
        +
      • +
      + + + +
        +
      • +

        visitAnyAttribute

        +
        public void visitAnyAttribute​(Clazz clazz,
        +                              Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      + + + + + + + + + + + + + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/MethodResult.Builder.html b/api/proguard/evaluation/MethodResult.Builder.html new file mode 100644 index 000000000..8146dcc7d --- /dev/null +++ b/api/proguard/evaluation/MethodResult.Builder.html @@ -0,0 +1,413 @@ + + + + + +MethodResult.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodResult.Builder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.MethodResult.Builder
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    MethodResult
    +
    +
    +
    public static class MethodResult.Builder
    +extends java.lang.Object
    +
    A builder for MethodResult. A value should be set only if the creator is able to + provide that information. + +

    setReturnValue(Value) should not be called if the method + returns void or if no return value can be provided (if the method execution fails MethodResult.invalidResult() should be used instead of the builder). Similarly setUpdatedInstance(ReferenceValue) and setUpdatedParameters(List) being used means that there really were side + effects on respectively instance or parameters during the analyzed method invocation; this + methods should not be used if no side effects happen.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Builder

        +
        public Builder()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setReturnValue

        +
        public MethodResult.Builder setReturnValue​(@Nullable
        +                                           @Nullable Value returnValue)
        +
        Sets the value returned by the analyzed method. + +

        Should not be invoked for methods returning void.

        +
        +
        Parameters:
        +
        returnValue - the return value of an analyzed method.
        +
        Returns:
        +
        the builder.
        +
        +
      • +
      + + + +
        +
      • +

        setUpdatedInstance

        +
        public MethodResult.Builder setUpdatedInstance​(@NotNull
        +                                               @NotNull ReferenceValue updatedInstance)
        +
        Set the updated value of the invocation instance after the invocation of the analyzed method. + +

        Should not be invoked if there were no side effects on the calling instance during the + method execution. + +

        Should always be used for setting the result of a constructor's invocation. + +

        The caller should make sure the updated instance to have the same reference identifier of + the old instance.

        +
        +
        Parameters:
        +
        updatedInstance - the instance updated during the analyzed method's invocation.
        +
        Returns:
        +
        the builder.
        +
        +
      • +
      + + + +
        +
      • +

        setUpdatedParameters

        +
        public MethodResult.Builder setUpdatedParameters​(java.util.List<Value> updatedParameters)
        +
        Set the updated value of the parameters after the invocation of the analyzed method. + +

        Should not be invoked if there were no side effects on the parameters during the method + execution. + +

        The caller should make sure the updated parameters to have the same reference identifier + of the old ones.

        +
        +
        Parameters:
        +
        updatedParameters - the parameters updated during the analyzed method's invocation. The + size of the list should be the same as the number of parameters of the analyzed method + excluded the calling instance (the first parameter is always in position 0 for both + instance and static methods). Each parameter should be null if it was not updated, the + updated value otherwise.
        +
        Returns:
        +
        the builder.
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/MethodResult.html b/api/proguard/evaluation/MethodResult.html new file mode 100644 index 000000000..e9d87eef1 --- /dev/null +++ b/api/proguard/evaluation/MethodResult.html @@ -0,0 +1,470 @@ + + + + + +MethodResult (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodResult

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.MethodResult
    • +
    +
  • +
+
+
    +
  • +
    +
    public class MethodResult
    +extends java.lang.Object
    +
    A class modeling the results of a method invocation. This includes the returned value and whether + any side effect happened either on the calling instance or one of the arguments. + +

    In case of side effects the new value should have a reference identifier corresponding to the + original argument. If the analysis supports it, this information can be used to replace all the + values with the same reference value with the updated one.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        invalidResult

        +
        public static MethodResult invalidResult()
        +
        Returns a result communicating to the receiver that the creator is not able to provide any + additional information about the method execution. + +

        This should be the only way to communicate this type of information, while any other result + with all empty parameters means a method returning void and with no side effects.

        +
        +
        Returns:
        +
        an invalid result.
        +
        +
      • +
      + + + +
        +
      • +

        isResultValid

        +
        public boolean isResultValid()
        +
        Returns whether the result is invalid (i.e., whether it was created via invalidResult()).
        +
        +
        Returns:
        +
        whether the result is invalid.
        +
        +
      • +
      + + + +
        +
      • +

        isReturnValuePresent

        +
        public boolean isReturnValuePresent()
        +
        Whether the result provides a return value. We need to specify this since null is a valid + return value.
        +
        +
        Returns:
        +
        whether the result provides a return value.
        +
        +
      • +
      + + + +
        +
      • +

        isInstanceUpdated

        +
        public boolean isInstanceUpdated()
        +
        Whether the calling instance was updated during method execution.
        +
        +
        Returns:
        +
        whether the calling instance was updated during method execution.
        +
        +
      • +
      + + + +
        +
      • +

        isAnyParameterUpdated

        +
        public boolean isAnyParameterUpdated()
        +
        Whether any parameter was updated during method execution.
        +
        +
        Returns:
        +
        whether any parameter was updated during method execution.
        +
        +
      • +
      + + + +
        +
      • +

        getReturnValue

        +
        @Nullable
        +public @Nullable Value getReturnValue()
        +
        The return value of the method invocation if isReturnValuePresent, throws + otherwise.
        +
        +
        Returns:
        +
        the return value of the method invocation.
        +
        +
      • +
      + + + +
        +
      • +

        getUpdatedInstance

        +
        @Nullable
        +public @Nullable ReferenceValue getUpdatedInstance()
        +
        The updated instance value after a method invocation if isInstanceUpdated(), throws otherwise. + +

        The identifier of the returned value can be matched to identify the old values using the + same reference.

        +
        +
        Returns:
        +
        the updated instance value after a method invocation.
        +
        +
      • +
      + + + +
        +
      • +

        getUpdatedParameters

        +
        @Nullable
        +public @Nullable java.util.List<Value> getUpdatedParameters()
        +
        The updated parameter value after a method invocation if isAnyParameterUpdated(), throws otherwise. + +

        Each element of the list (corresponding to the parameter position, instance not included and + the first parameter is always element 0) contains either null, if the specific parameter was + not updated, or the updated parameter value. + +

        The identifier of the returned values can be matched to identify the old values using the + same reference.

        +
        +
        Returns:
        +
        the updated parameters value after a method invocation.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/PartialEvaluator.Builder.html b/api/proguard/evaluation/PartialEvaluator.Builder.html new file mode 100644 index 000000000..1613b308d --- /dev/null +++ b/api/proguard/evaluation/PartialEvaluator.Builder.html @@ -0,0 +1,471 @@ + + + + + +PartialEvaluator.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PartialEvaluator.Builder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.PartialEvaluator.Builder
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    PartialEvaluator
    +
    +
    +
    public static class PartialEvaluator.Builder
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/PartialEvaluator.InstructionBlock.html b/api/proguard/evaluation/PartialEvaluator.InstructionBlock.html new file mode 100644 index 000000000..8ddcf5de3 --- /dev/null +++ b/api/proguard/evaluation/PartialEvaluator.InstructionBlock.html @@ -0,0 +1,226 @@ + + + + + +PartialEvaluator.InstructionBlock (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PartialEvaluator.InstructionBlock

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.PartialEvaluator.InstructionBlock
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    PartialEvaluator
    +
    +
    +
    public static class PartialEvaluator.InstructionBlock
    +extends java.lang.Object
    +
    This class represents an instruction block that has to be executed, starting with a given state + at a given instruction offset.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/PartialEvaluator.html b/api/proguard/evaluation/PartialEvaluator.html new file mode 100644 index 000000000..c6e8dfe82 --- /dev/null +++ b/api/proguard/evaluation/PartialEvaluator.html @@ -0,0 +1,1033 @@ + + + + + +PartialEvaluator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PartialEvaluator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.PartialEvaluator
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        ENABLE_NEW_EXCEPTIONS

        +
        public static boolean ENABLE_NEW_EXCEPTIONS
        +
        Enables new exceptions to be thrown during evaluation. These are exceptions that are not thrown + by the original ProGuard code. This is a temporary flag to allow the new exceptions to be + tested. TODO: Remove this flag when the new exceptions are stable and will not break any + dependent code.
        +
      • +
      + + + + + + + + + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PartialEvaluator

        +
        public PartialEvaluator()
        +
        Creates a simple PartialEvaluator.
        +
      • +
      + + + +
        +
      • +

        PartialEvaluator

        +
        public PartialEvaluator​(ValueFactory valueFactory)
        +
        Creates a new PartialEvaluator.
        +
        +
        Parameters:
        +
        valueFactory - the value factory that will create all values during evaluation.
        +
        +
      • +
      + + + +
        +
      • +

        PartialEvaluator

        +
        public PartialEvaluator​(ValueFactory valueFactory,
        +                        InvocationUnit invocationUnit,
        +                        boolean evaluateAllCode)
        +
        Creates a new PartialEvaluator.
        +
        +
        Parameters:
        +
        valueFactory - the value factory that will create all values during the evaluation.
        +
        invocationUnit - the invocation unit that will handle all communication with other fields + and methods.
        +
        evaluateAllCode - a flag that specifies whether all casts, branch targets, and exception + handlers should be evaluated, even if they are unnecessary or unreachable.
        +
        +
      • +
      + + + +
        +
      • +

        PartialEvaluator

        +
        public PartialEvaluator​(ValueFactory valueFactory,
        +                        InvocationUnit invocationUnit,
        +                        boolean evaluateAllCode,
        +                        InstructionVisitor extraInstructionVisitor)
        +
        Creates a new PartialEvaluator.
        +
        +
        Parameters:
        +
        valueFactory - the value factory that will create all values during the evaluation.
        +
        invocationUnit - the invocation unit that will handle all communication with other fields + and methods.
        +
        evaluateAllCode - a flag that specifies whether all branch targets and exception handlers + should be evaluated, even if they are unreachable.
        +
        extraInstructionVisitor - an optional extra visitor for all instructions right before they + are executed.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyAttribute

        +
        public void visitAnyAttribute​(Clazz clazz,
        +                              Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      + + + + + + + +
        +
      • +

        visitCodeAttribute0

        +
        public void visitCodeAttribute0​(Clazz clazz,
        +                                Method method,
        +                                CodeAttribute codeAttribute)
        +
      • +
      + + + +
        +
      • +

        isTraced

        +
        public boolean isTraced​(int startOffset,
        +                        int endOffset)
        +
        Returns whether a block of instructions is ever used.
        +
      • +
      + + + +
        +
      • +

        isTraced

        +
        public boolean isTraced​(int instructionOffset)
        +
        Returns whether the instruction at the given offset has ever been executed during the partial + evaluation.
        +
      • +
      + + + +
        +
      • +

        isInstruction

        +
        public boolean isInstruction​(int instructionOffset)
        +
        Returns whether there is an instruction at the given offset.
        +
      • +
      + + + +
        +
      • +

        isTarget

        +
        public boolean isTarget​(int instructionOffset)
        +
        Returns whether the instruction at the given offset is the target of any kind.
        +
      • +
      + + + +
        +
      • +

        isBranchOrigin

        +
        public boolean isBranchOrigin​(int instructionOffset)
        +
        Returns whether the instruction at the given offset is the origin of a branch instruction.
        +
      • +
      + + + +
        +
      • +

        isBranchTarget

        +
        public boolean isBranchTarget​(int instructionOffset)
        +
        Returns whether the instruction at the given offset is the target of a branch instruction.
        +
      • +
      + + + +
        +
      • +

        isBranchOrExceptionTarget

        +
        public boolean isBranchOrExceptionTarget​(int instructionOffset)
        +
        Returns whether the instruction at the given offset is the target of a branch instruction or an + exception.
        +
      • +
      + + + +
        +
      • +

        isExceptionHandler

        +
        public boolean isExceptionHandler​(int instructionOffset)
        +
        Returns whether the instruction at the given offset is the start of an exception handler.
        +
      • +
      + + + +
        +
      • +

        isSubroutineStart

        +
        public boolean isSubroutineStart​(int instructionOffset)
        +
        Returns whether the instruction at the given offset is the start of a subroutine.
        +
      • +
      + + + +
        +
      • +

        isSubroutineInvocation

        +
        public boolean isSubroutineInvocation​(int instructionOffset)
        +
        Returns whether the instruction at the given offset is a subroutine invocation.
        +
      • +
      + + + +
        +
      • +

        isSubroutine

        +
        public boolean isSubroutine​(int instructionOffset)
        +
        Returns whether the instruction at the given offset is part of a subroutine.
        +
      • +
      + + + +
        +
      • +

        isSubroutineReturning

        +
        public boolean isSubroutineReturning​(int instructionOffset)
        +
        Returns whether the subroutine at the given offset is ever returning by means of a regular + 'ret' instruction.
        +
      • +
      + + + +
        +
      • +

        subroutineEnd

        +
        public int subroutineEnd​(int instructionOffset)
        +
        Returns the offset after the subroutine that starts at the given offset.
        +
      • +
      + + + +
        +
      • +

        isCreation

        +
        public boolean isCreation​(int offset)
        +
        Returns whether the instruction at the given offset creates a new, uninitialized instance.
        +
      • +
      + + + +
        +
      • +

        isInitializer

        +
        public boolean isInitializer​(int offset)
        +
        Returns whether the instruction at the given offset is the special invocation of an instance + initializer.
        +
      • +
      + + + +
        +
      • +

        getVariablesBefore

        +
        public TracedVariables getVariablesBefore​(int instructionOffset)
        +
        Returns the variables before execution of the instruction at the given offset.
        +
      • +
      + + + +
        +
      • +

        getVariablesAfter

        +
        public TracedVariables getVariablesAfter​(int instructionOffset)
        +
        Returns the variables after execution of the instruction at the given offset.
        +
      • +
      + + + +
        +
      • +

        getStackBefore

        +
        public TracedStack getStackBefore​(int instructionOffset)
        +
        Returns the stack before execution of the instruction at the given offset.
        +
      • +
      + + + +
        +
      • +

        getStackAfter

        +
        public TracedStack getStackAfter​(int instructionOffset)
        +
        Returns the stack after execution of the instruction at the given offset.
        +
      • +
      + + + +
        +
      • +

        branchOrigins

        +
        public InstructionOffsetValue branchOrigins​(int instructionOffset)
        +
        Returns the instruction offsets that branch to the given instruction offset.
        +
      • +
      + + + +
        +
      • +

        branchTargets

        +
        public InstructionOffsetValue branchTargets​(int instructionOffset)
        +
        Returns the instruction offsets to which the given instruction offset branches.
        +
      • +
      + + + +
        +
      • +

        tracedInstructionFilter

        +
        public InstructionVisitor tracedInstructionFilter​(InstructionVisitor instructionVisitor)
        +
        Returns a filtering version of the given instruction visitor that only visits traced + instructions.
        +
      • +
      + + + +
        +
      • +

        tracedInstructionFilter

        +
        public InstructionVisitor tracedInstructionFilter​(boolean traced,
        +                                                  InstructionVisitor instructionVisitor)
        +
        Returns a filtering version of the given instruction visitor that only visits traced or + untraced instructions.
        +
      • +
      + + + + + + + +
        +
      • +

        stopAnalysisAfterNEvaluations

        +
        public PartialEvaluator stopAnalysisAfterNEvaluations​(int stopAnalysisAfterNEvaluations)
        +
        It the analysis visits an instruction this many times (this can happen e.g. for big switches), + the analysis of this method is forcibly stopped and a ExcessiveComplexityException is thrown.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/ParticularReferenceValueFactory.html b/api/proguard/evaluation/ParticularReferenceValueFactory.html new file mode 100644 index 000000000..da56d0475 --- /dev/null +++ b/api/proguard/evaluation/ParticularReferenceValueFactory.html @@ -0,0 +1,685 @@ + + + + + +ParticularReferenceValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ParticularReferenceValueFactory

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/Processor.html b/api/proguard/evaluation/Processor.html new file mode 100644 index 000000000..9fed2eb05 --- /dev/null +++ b/api/proguard/evaluation/Processor.html @@ -0,0 +1,483 @@ + + + + + +Processor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Processor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.Processor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/ReferenceTracingInvocationUnit.html b/api/proguard/evaluation/ReferenceTracingInvocationUnit.html new file mode 100644 index 000000000..8ee57edfe --- /dev/null +++ b/api/proguard/evaluation/ReferenceTracingInvocationUnit.html @@ -0,0 +1,721 @@ + + + + + +ReferenceTracingInvocationUnit (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReferenceTracingInvocationUnit

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/ReferenceTracingValueFactory.html b/api/proguard/evaluation/ReferenceTracingValueFactory.html new file mode 100644 index 000000000..e744f9692 --- /dev/null +++ b/api/proguard/evaluation/ReferenceTracingValueFactory.html @@ -0,0 +1,1148 @@ + + + + + +ReferenceTracingValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReferenceTracingValueFactory

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.ReferenceTracingValueFactory
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/SimplifiedInvocationUnit.html b/api/proguard/evaluation/SimplifiedInvocationUnit.html new file mode 100644 index 000000000..e1a03c05d --- /dev/null +++ b/api/proguard/evaluation/SimplifiedInvocationUnit.html @@ -0,0 +1,875 @@ + + + + + +SimplifiedInvocationUnit (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SimplifiedInvocationUnit

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.SimplifiedInvocationUnit
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        variables

        +
        protected Variables variables
        +
      • +
      + + + +
        +
      • +

        isStatic

        +
        protected boolean isStatic
        +
      • +
      + + + +
        +
      • +

        isLoad

        +
        protected boolean isLoad
        +
      • +
      + + + +
        +
      • +

        stack

        +
        protected Stack stack
        +
      • +
      + + + +
        +
      • +

        method

        +
        protected Method method
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SimplifiedInvocationUnit

        +
        public SimplifiedInvocationUnit()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        visitParameter

        +
        public void visitParameter​(Clazz clazz,
        +                           Member member,
        +                           int parameterIndex,
        +                           int parameterCount,
        +                           int parameterOffset,
        +                           int parameterSize,
        +                           java.lang.String parameterType,
        +                           Clazz referencedClass)
        +
        Description copied from interface: ParameterVisitor
        +
        Visits the given parameter.
        +
        +
        Specified by:
        +
        visitParameter in interface ParameterVisitor
        +
        Parameters:
        +
        clazz - the class of the method.
        +
        member - the field or method of the parameter.
        +
        parameterIndex - the index of the parameter.
        +
        parameterCount - the total number of parameters.
        +
        parameterOffset - the offset of the parameter, accounting for longs and doubles taking up + two entries.
        +
        parameterSize - the total size of the parameters, accounting for longs and doubles taking + up two entries.
        +
        parameterType - the parameter type.
        +
        referencedClass - the class contained in the parameter type, if any.
        +
        +
      • +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        getExceptionValue

        +
        public abstract Value getExceptionValue​(Clazz clazz,
        +                                        ClassConstant catchClassConstant)
        +
        Returns the value of the specified exception.
        +
      • +
      + + + +
        +
      • +

        setFieldClassValue

        +
        public abstract void setFieldClassValue​(Clazz clazz,
        +                                        FieldrefConstant fieldrefConstant,
        +                                        ReferenceValue value)
        +
        Sets the class through which the specified field is accessed.
        +
      • +
      + + + +
        +
      • +

        getFieldClassValue

        +
        public abstract Value getFieldClassValue​(Clazz clazz,
        +                                         FieldrefConstant fieldrefConstant,
        +                                         java.lang.String type)
        +
        Returns the class though which the specified field is accessed.
        +
      • +
      + + + +
        +
      • +

        setFieldValue

        +
        public abstract void setFieldValue​(Clazz clazz,
        +                                   FieldrefConstant fieldrefConstant,
        +                                   Value value)
        +
        Sets the value of the specified field.
        +
      • +
      + + + +
        +
      • +

        getFieldValue

        +
        public abstract Value getFieldValue​(Clazz clazz,
        +                                    FieldrefConstant fieldrefConstant,
        +                                    java.lang.String type)
        +
        Returns the value of the specified field.
        +
      • +
      + + + +
        +
      • +

        setMethodParameterValue

        +
        public abstract void setMethodParameterValue​(Clazz clazz,
        +                                             AnyMethodrefConstant anyMethodrefConstant,
        +                                             int parameterIndex,
        +                                             Value value)
        +
        Sets the value of the specified method parameter.
        +
      • +
      + + + +
        +
      • +

        getMethodParameterValue

        +
        public abstract Value getMethodParameterValue​(Clazz clazz,
        +                                              Method method,
        +                                              int parameterIndex,
        +                                              java.lang.String type,
        +                                              Clazz referencedClass)
        +
        Returns the value of the specified method parameter.
        +
      • +
      + + + +
        +
      • +

        setMethodReturnValue

        +
        public abstract void setMethodReturnValue​(Clazz clazz,
        +                                          Method method,
        +                                          Value value)
        +
        Sets the return value of the specified method.
        +
      • +
      + + + +
        +
      • +

        getMethodReturnValue

        +
        public abstract Value getMethodReturnValue​(Clazz clazz,
        +                                           AnyMethodrefConstant anyMethodrefConstant,
        +                                           java.lang.String type)
        +
        Returns the return value of the specified method.
        +
      • +
      + + + +
        +
      • +

        getMethodReturnValue

        +
        public abstract Value getMethodReturnValue​(Clazz clazz,
        +                                           InvokeDynamicConstant invokeDynamicConstant,
        +                                           java.lang.String type)
        +
        Returns the return value of the specified method.
        +
      • +
      + + + +
        +
      • +

        methodMayHaveSideEffects

        +
        protected boolean methodMayHaveSideEffects​(Clazz clazz,
        +                                           AnyMethodrefConstant anyMethodrefConstant,
        +                                           java.lang.String returnType)
        +
        Returns true if the method itself can modify the stack/variables and therefore needs to be + executed even if it returns void.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/Stack.html b/api/proguard/evaluation/Stack.html new file mode 100644 index 000000000..f79b4c3c4 --- /dev/null +++ b/api/proguard/evaluation/Stack.html @@ -0,0 +1,982 @@ + + + + + +Stack (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Stack

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.Stack
    • +
    +
  • +
+
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    TracedStack
    +
    +
    +
    public class Stack
    +extends java.lang.Object
    +
    This class represents an operand stack that contains Value instances.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Stack​(int maxSize) +
      Creates a new Stack with a given maximum size, accounting for the double space required by + Category 2 values.
      +
      Stack​(Stack stack) +
      Creates a Stack that is a copy of the given Stack.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      ReferenceValueapop() +
      Pops the top ReferenceValue from the stack.
      +
      voidclear() +
      Clears the stack.
      +
      voidcopy​(Stack other) +
      Copies the values of the given Stack into this Stack.
      +
      DoubleValuedpop() +
      Pops the top DoubleValue from the stack.
      +
      voiddup() +
      Duplicates the top Category 1 value.
      +
      voiddup_x1() +
      Duplicates the top Category 1 value, one Category 1 element down the stack.
      +
      voiddup_x2() +
      Duplicates the top Category 1 value, two Category 1 elements (or one Category 2 element) down + the stack.
      +
      voiddup2() +
      Duplicates the top Category 2 value (or alternatively, the equivalent Category 1 stack + elements).
      +
      voiddup2_x1() +
      Duplicates the top Category 2 value, one Category 1 element down the stack (or alternatively, + the equivalent Category 1 stack values).
      +
      voiddup2_x2() +
      Duplicates the top Category 2 value, one Category 2 stack element down the stack (or + alternatively, the equivalent Category 1 stack values).
      +
      booleanequals​(java.lang.Object object) 
      FloatValuefpop() +
      Pops the top FloatValue from the stack.
      +
      booleangeneralize​(Stack other) +
      Generalizes the values of this Stack with the values of the given Stack.
      +
      intgetActualMaxSize() +
      Returns the actual maximum stack size that was required for all stack operations, accounting + for the double space required by Category 2 values.
      +
      ValuegetBottom​(int index) +
      Gets the specified Value from the stack, without disturbing it.
      +
      ValuegetTop​(int index) +
      Gets the specified Value from the stack, without disturbing it.
      +
      inthashCode() 
      IntegerValueipop() +
      Pops the top IntegerValue from the stack.
      +
      LongValuelpop() +
      Pops the top LongValue from the stack.
      +
      InstructionOffsetValueopop() +
      Pops the top InstructionOffsetValue from the stack.
      +
      Valuepop() +
      Pops the top Value from the stack.
      +
      voidpop1() +
      Pops the top category 1 value from the stack.
      +
      voidpop2() +
      Pops the top category 2 value from the stack (or alternatively, two Category 1 stack elements).
      +
      voidpush​(Value value) +
      Pushes the given Value onto the stack.
      +
      voidremoveTop​(int index) +
      Removes the specified Value from the stack.
      +
      voidreplaceReferences​(Value toReplace, + Value replacement) +
      Replaces all the references to {@param toReplace} with references to {@param replacement}.
      +
      voidreset​(int maxSize) +
      Resets this Stack, so that it can be reused.
      +
      voidsetBottom​(int index, + Value value) +
      Sets the specified Value on the stack, without disturbing it.
      +
      voidsetTop​(int index, + Value value) +
      Sets the specified Value on the stack, without disturbing it.
      +
      intsize() +
      Returns the number of elements currently on the stack, accounting for the double space required + by Category 2 values.
      +
      voidswap() +
      Swaps the top two Category 1 values.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        values

        +
        protected Value[] values
        +
      • +
      + + + +
        +
      • +

        currentSize

        +
        protected int currentSize
        +
      • +
      + + + +
        +
      • +

        actualMaxSize

        +
        protected int actualMaxSize
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Stack

        +
        public Stack​(int maxSize)
        +
        Creates a new Stack with a given maximum size, accounting for the double space required by + Category 2 values.
        +
      • +
      + + + +
        +
      • +

        Stack

        +
        public Stack​(Stack stack)
        +
        Creates a Stack that is a copy of the given Stack.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getActualMaxSize

        +
        public int getActualMaxSize()
        +
        Returns the actual maximum stack size that was required for all stack operations, accounting + for the double space required by Category 2 values.
        +
      • +
      + + + +
        +
      • +

        reset

        +
        public void reset​(int maxSize)
        +
        Resets this Stack, so that it can be reused.
        +
      • +
      + + + +
        +
      • +

        copy

        +
        public void copy​(Stack other)
        +
        Copies the values of the given Stack into this Stack.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public boolean generalize​(Stack other)
        +
        Generalizes the values of this Stack with the values of the given Stack. The stacks must have + the same current sizes.
        +
        +
        Returns:
        +
        whether the generalization has made any difference.
        +
        +
      • +
      + + + +
        +
      • +

        clear

        +
        public void clear()
        +
        Clears the stack.
        +
      • +
      + + + +
        +
      • +

        size

        +
        public int size()
        +
        Returns the number of elements currently on the stack, accounting for the double space required + by Category 2 values.
        +
      • +
      + + + +
        +
      • +

        getBottom

        +
        public Value getBottom​(int index)
        +
        Gets the specified Value from the stack, without disturbing it.
        +
        +
        Parameters:
        +
        index - the index of the stack element, counting from the bottom of the stack.
        +
        Returns:
        +
        the value at the specified position.
        +
        +
      • +
      + + + +
        +
      • +

        setBottom

        +
        public void setBottom​(int index,
        +                      Value value)
        +
        Sets the specified Value on the stack, without disturbing it.
        +
        +
        Parameters:
        +
        index - the index of the stack element, counting from the bottom of the stack.
        +
        value - the value to set.
        +
        +
      • +
      + + + +
        +
      • +

        getTop

        +
        public Value getTop​(int index)
        +
        Gets the specified Value from the stack, without disturbing it.
        +
        +
        Parameters:
        +
        index - the index of the stack element, counting from the top of the stack.
        +
        Returns:
        +
        the value at the specified position.
        +
        +
      • +
      + + + +
        +
      • +

        setTop

        +
        public void setTop​(int index,
        +                   Value value)
        +
        Sets the specified Value on the stack, without disturbing it.
        +
        +
        Parameters:
        +
        index - the index of the stack element, counting from the top of the stack.
        +
        value - the value to set.
        +
        +
      • +
      + + + +
        +
      • +

        removeTop

        +
        public void removeTop​(int index)
        +
        Removes the specified Value from the stack.
        +
        +
        Parameters:
        +
        index - the index of the stack element, counting from the top of the stack.
        +
        +
      • +
      + + + +
        +
      • +

        push

        +
        public void push​(Value value)
        +
        Pushes the given Value onto the stack.
        +
      • +
      + + + +
        +
      • +

        pop

        +
        public Value pop()
        +
        Pops the top Value from the stack.
        +
      • +
      + + + +
        +
      • +

        ipop

        +
        public IntegerValue ipop()
        +
        Pops the top IntegerValue from the stack.
        +
      • +
      + + + +
        +
      • +

        lpop

        +
        public LongValue lpop()
        +
        Pops the top LongValue from the stack.
        +
      • +
      + + + +
        +
      • +

        fpop

        +
        public FloatValue fpop()
        +
        Pops the top FloatValue from the stack.
        +
      • +
      + + + +
        +
      • +

        dpop

        +
        public DoubleValue dpop()
        +
        Pops the top DoubleValue from the stack.
        +
      • +
      + + + +
        +
      • +

        apop

        +
        public ReferenceValue apop()
        +
        Pops the top ReferenceValue from the stack.
        +
      • +
      + + + + + + + +
        +
      • +

        pop1

        +
        public void pop1()
        +
        Pops the top category 1 value from the stack.
        +
      • +
      + + + +
        +
      • +

        pop2

        +
        public void pop2()
        +
        Pops the top category 2 value from the stack (or alternatively, two Category 1 stack elements).
        +
      • +
      + + + +
        +
      • +

        dup

        +
        public void dup()
        +
        Duplicates the top Category 1 value.
        +
      • +
      + + + +
        +
      • +

        dup_x1

        +
        public void dup_x1()
        +
        Duplicates the top Category 1 value, one Category 1 element down the stack.
        +
      • +
      + + + +
        +
      • +

        dup_x2

        +
        public void dup_x2()
        +
        Duplicates the top Category 1 value, two Category 1 elements (or one Category 2 element) down + the stack.
        +
      • +
      + + + +
        +
      • +

        dup2

        +
        public void dup2()
        +
        Duplicates the top Category 2 value (or alternatively, the equivalent Category 1 stack + elements).
        +
      • +
      + + + +
        +
      • +

        dup2_x1

        +
        public void dup2_x1()
        +
        Duplicates the top Category 2 value, one Category 1 element down the stack (or alternatively, + the equivalent Category 1 stack values).
        +
      • +
      + + + +
        +
      • +

        dup2_x2

        +
        public void dup2_x2()
        +
        Duplicates the top Category 2 value, one Category 2 stack element down the stack (or + alternatively, the equivalent Category 1 stack values).
        +
      • +
      + + + +
        +
      • +

        swap

        +
        public void swap()
        +
        Swaps the top two Category 1 values.
        +
      • +
      + + + +
        +
      • +

        replaceReferences

        +
        public void replaceReferences​(Value toReplace,
        +                              Value replacement)
        +
        Replaces all the references to {@param toReplace} with references to {@param replacement}.
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/TracedStack.html b/api/proguard/evaluation/TracedStack.html new file mode 100644 index 000000000..1037bd402 --- /dev/null +++ b/api/proguard/evaluation/TracedStack.html @@ -0,0 +1,858 @@ + + + + + +TracedStack (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TracedStack

+
+
+ +
+
    +
  • +
    +
    public class TracedStack
    +extends Stack
    +
    This Stack saves additional information with stack elements, to keep track of their + origins. + +

    The stack stores a given producer Value along with each Value it stores. It then generalizes a + given collected Value with the producer Value of each Value it loads. The producer Value and the + initial collected Value can be set. The generalized collected Value can be retrieved, either + taking into account dup/swap instructions as proper instructions or ignoring them.

    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      TracedStack​(int maxSize) +
      Creates a new TracedStack with a given maximum size.
      +
      TracedStack​(TracedStack tracedStack) +
      Creates a new TracedStack that is a copy of the given TracedStack.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclear() +
      Clears the stack.
      +
      voidcopy​(TracedStack other) 
      voiddup() +
      Duplicates the top Category 1 value.
      +
      voiddup_x1() +
      Duplicates the top Category 1 value, one Category 1 element down the stack.
      +
      voiddup_x2() +
      Duplicates the top Category 1 value, two Category 1 elements (or one Category 2 element) down + the stack.
      +
      voiddup2() +
      Duplicates the top Category 2 value (or alternatively, the equivalent Category 1 stack + elements).
      +
      voiddup2_x1() +
      Duplicates the top Category 2 value, one Category 1 element down the stack (or alternatively, + the equivalent Category 1 stack values).
      +
      voiddup2_x2() +
      Duplicates the top Category 2 value, one Category 2 stack element down the stack (or + alternatively, the equivalent Category 1 stack values).
      +
      booleanequals​(java.lang.Object object) 
      booleangeneralize​(TracedStack other) 
      ValuegetBottomActualProducerValue​(int index) +
      Gets the specified actual producer Value from the stack, ignoring dup/swap instructions, + without disturbing it.
      +
      ValuegetBottomProducerValue​(int index) +
      Gets the specified producer Value from the stack, without disturbing it.
      +
      ValuegetTopActualProducerValue​(int index) +
      Gets the specified actual producer Value from the stack, ignoring dup/swap instructions, + without disturbing it.
      +
      ValuegetTopProducerValue​(int index) +
      Gets the specified producer Value from the stack, without disturbing it.
      +
      inthashCode() 
      Valuepop() +
      Pops the top Value from the stack.
      +
      voidpop1() +
      Pops the top category 1 value from the stack.
      +
      voidpop2() +
      Pops the top category 2 value from the stack (or alternatively, two Category 1 stack elements).
      +
      voidpush​(Value value) +
      Pushes the given Value onto the stack.
      +
      voidremoveTop​(int index) +
      Removes the specified Value from the stack.
      +
      voidreset​(int size) +
      Resets this Stack, so that it can be reused.
      +
      voidsetProducerValue​(Value producerValue) +
      Sets the Value that will be stored along with all push and pop instructions.
      +
      voidswap() +
      Swaps the top two Category 1 values.
      +
      java.lang.StringtoString() 
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TracedStack

        +
        public TracedStack​(int maxSize)
        +
        Creates a new TracedStack with a given maximum size.
        +
      • +
      + + + +
        +
      • +

        TracedStack

        +
        public TracedStack​(TracedStack tracedStack)
        +
        Creates a new TracedStack that is a copy of the given TracedStack.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setProducerValue

        +
        public void setProducerValue​(Value producerValue)
        +
        Sets the Value that will be stored along with all push and pop instructions.
        +
      • +
      + + + +
        +
      • +

        getBottomProducerValue

        +
        public Value getBottomProducerValue​(int index)
        +
        Gets the specified producer Value from the stack, without disturbing it.
        +
        +
        Parameters:
        +
        index - the index of the stack element, counting from the bottom of the stack.
        +
        Returns:
        +
        the producer value at the specified position.
        +
        +
      • +
      + + + +
        +
      • +

        getBottomActualProducerValue

        +
        public Value getBottomActualProducerValue​(int index)
        +
        Gets the specified actual producer Value from the stack, ignoring dup/swap instructions, + without disturbing it.
        +
        +
        Parameters:
        +
        index - the index of the stack element, counting from the bottom of the stack.
        +
        Returns:
        +
        the producer value at the specified position.
        +
        +
      • +
      + + + +
        +
      • +

        getTopProducerValue

        +
        public Value getTopProducerValue​(int index)
        +
        Gets the specified producer Value from the stack, without disturbing it.
        +
        +
        Parameters:
        +
        index - the index of the stack element, counting from the top of the stack.
        +
        Returns:
        +
        the producer value at the specified position.
        +
        +
      • +
      + + + +
        +
      • +

        getTopActualProducerValue

        +
        public Value getTopActualProducerValue​(int index)
        +
        Gets the specified actual producer Value from the stack, ignoring dup/swap instructions, + without disturbing it.
        +
        +
        Parameters:
        +
        index - the index of the stack element, counting from the top of the stack.
        +
        Returns:
        +
        the producer value at the specified position.
        +
        +
      • +
      + + + +
        +
      • +

        reset

        +
        public void reset​(int size)
        +
        Description copied from class: Stack
        +
        Resets this Stack, so that it can be reused.
        +
        +
        Overrides:
        +
        reset in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        copy

        +
        public void copy​(TracedStack other)
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public boolean generalize​(TracedStack other)
        +
      • +
      + + + +
        +
      • +

        clear

        +
        public void clear()
        +
        Description copied from class: Stack
        +
        Clears the stack.
        +
        +
        Overrides:
        +
        clear in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        removeTop

        +
        public void removeTop​(int index)
        +
        Description copied from class: Stack
        +
        Removes the specified Value from the stack.
        +
        +
        Overrides:
        +
        removeTop in class Stack
        +
        Parameters:
        +
        index - the index of the stack element, counting from the top of the stack.
        +
        +
      • +
      + + + +
        +
      • +

        push

        +
        public void push​(Value value)
        +
        Description copied from class: Stack
        +
        Pushes the given Value onto the stack.
        +
        +
        Overrides:
        +
        push in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        pop

        +
        public Value pop()
        +
        Description copied from class: Stack
        +
        Pops the top Value from the stack.
        +
        +
        Overrides:
        +
        pop in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        pop1

        +
        public void pop1()
        +
        Description copied from class: Stack
        +
        Pops the top category 1 value from the stack.
        +
        +
        Overrides:
        +
        pop1 in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        pop2

        +
        public void pop2()
        +
        Description copied from class: Stack
        +
        Pops the top category 2 value from the stack (or alternatively, two Category 1 stack elements).
        +
        +
        Overrides:
        +
        pop2 in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        dup

        +
        public void dup()
        +
        Description copied from class: Stack
        +
        Duplicates the top Category 1 value.
        +
        +
        Overrides:
        +
        dup in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        dup_x1

        +
        public void dup_x1()
        +
        Description copied from class: Stack
        +
        Duplicates the top Category 1 value, one Category 1 element down the stack.
        +
        +
        Overrides:
        +
        dup_x1 in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        dup_x2

        +
        public void dup_x2()
        +
        Description copied from class: Stack
        +
        Duplicates the top Category 1 value, two Category 1 elements (or one Category 2 element) down + the stack.
        +
        +
        Overrides:
        +
        dup_x2 in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        dup2

        +
        public void dup2()
        +
        Description copied from class: Stack
        +
        Duplicates the top Category 2 value (or alternatively, the equivalent Category 1 stack + elements).
        +
        +
        Overrides:
        +
        dup2 in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        dup2_x1

        +
        public void dup2_x1()
        +
        Description copied from class: Stack
        +
        Duplicates the top Category 2 value, one Category 1 element down the stack (or alternatively, + the equivalent Category 1 stack values).
        +
        +
        Overrides:
        +
        dup2_x1 in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        dup2_x2

        +
        public void dup2_x2()
        +
        Description copied from class: Stack
        +
        Duplicates the top Category 2 value, one Category 2 stack element down the stack (or + alternatively, the equivalent Category 1 stack values).
        +
        +
        Overrides:
        +
        dup2_x2 in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        swap

        +
        public void swap()
        +
        Description copied from class: Stack
        +
        Swaps the top two Category 1 values.
        +
        +
        Overrides:
        +
        swap in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class Stack
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class Stack
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/TracedVariables.html b/api/proguard/evaluation/TracedVariables.html new file mode 100644 index 000000000..3af7cbcb5 --- /dev/null +++ b/api/proguard/evaluation/TracedVariables.html @@ -0,0 +1,574 @@ + + + + + +TracedVariables (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TracedVariables

+
+
+ +
+
    +
  • +
    +
    public class TracedVariables
    +extends Variables
    +
    This Variables saves additional information with variables, to keep track of their + origins. + +

    The class stores a given producer Value along with each Value it stores. It then generalizes a + given collected Value with the producer Value of each Value it loads. The producer Value and the + initial collected Value can be set; the generalized collected Value can be retrieved.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TracedVariables

        +
        public TracedVariables​(int size)
        +
        Creates a new TracedVariables with a given size.
        +
      • +
      + + + +
        +
      • +

        TracedVariables

        +
        public TracedVariables​(TracedVariables tracedVariables)
        +
        Creates a new TracedVariables that is a copy of the given TracedVariables.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setProducerValue

        +
        public void setProducerValue​(Value producerValue)
        +
        Sets the Value that will be stored along with all store instructions.
        +
      • +
      + + + +
        +
      • +

        getProducerValue

        +
        public Value getProducerValue​(int index)
        +
        Gets the producer Value for the specified variable, without disturbing it.
        +
        +
        Parameters:
        +
        index - the variable index.
        +
        Returns:
        +
        the producer value of the given variable.
        +
        +
      • +
      + + + +
        +
      • +

        setProducerValue

        +
        public void setProducerValue​(int index,
        +                             Value value)
        +
        Sets the given producer Value for the specified variable, without disturbing it.
        +
        +
        Parameters:
        +
        index - the variable index.
        +
        value - the producer value to set.
        +
        +
      • +
      + + + +
        +
      • +

        reset

        +
        public void reset​(int size)
        +
        Description copied from class: Variables
        +
        Resets this Variables object, so that it can be reused.
        +
        +
        Overrides:
        +
        reset in class Variables
        +
        +
      • +
      + + + + + + + +
        +
      • +

        generalize

        +
        public boolean generalize​(TracedVariables other,
        +                          boolean clearConflictingOtherVariables)
        +
      • +
      + + + +
        +
      • +

        store

        +
        public void store​(int index,
        +                  Value value)
        +
        Description copied from class: Variables
        +
        Stores the given Value at the given variable index.
        +
        +
        Overrides:
        +
        store in class Variables
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class Variables
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class Variables
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class Variables
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/ValueCalculator.html b/api/proguard/evaluation/ValueCalculator.html new file mode 100644 index 000000000..009e5dbb9 --- /dev/null +++ b/api/proguard/evaluation/ValueCalculator.html @@ -0,0 +1,303 @@ + + + + + +ValueCalculator (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ValueCalculator

+
+
+
+
    +
  • +
    +
    Functional Interface:
    +
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
    +
    +
    +
    @FunctionalInterface
    +public interface ValueCalculator
    +
    This functional interface can be used to specify a way of creating Values given a series + of parameters. + +

    For now this is split from ValueFactory and the function can + be implemented in a way that all the calls to the specific value factory methods go through the + same function. It could be argued that instead of having a functional interface this could be a + new method in ValueFactory, but until something like this is + needed in different location having a separate function looks cleaner.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      Valueapply​(@NotNull java.lang.String type, + @Nullable Clazz referencedClass, + boolean isParticular, + @Nullable java.lang.Object concreteValue, + boolean valueMayBeExtension, + @Nullable java.lang.Object valueId) +
      Create a Value given all available known information about it (included the actual + tracked value or a Model of it, if available, and its reference identifier if the value + has the same reference as an existing one).
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        apply

        +
        Value apply​(@NotNull
        +            @NotNull java.lang.String type,
        +            @Nullable
        +            @Nullable Clazz referencedClass,
        +            boolean isParticular,
        +            @Nullable
        +            @Nullable java.lang.Object concreteValue,
        +            boolean valueMayBeExtension,
        +            @Nullable
        +            @Nullable java.lang.Object valueId)
        +
        Create a Value given all available known information about it (included the actual + tracked value or a Model of it, if available, and its reference identifier if the value + has the same reference as an existing one). + +

        This method is not limited to particular value and can be used to create any value given the + available amount of information.

        +
        +
        Parameters:
        +
        type - the static type of the created value (runtime type might implement/extend it).
        +
        referencedClass - the Clazz of the value (if it's a reference value).
        +
        isParticular - whether the value to create is particular. If not the `concreteValue` + parameter will be ignored.
        +
        concreteValue - the value of the tracked object. Can be the actual value or a Model.
        +
        valueMayBeExtension - whether the created value might actually be an extension of the + type. This should always be false for the instance created by constructors since they + always create an object of the exact type. This should usually be ClassUtil.isExtendable(Clazz) for non constructor calls or more precise information if the + caller is able to provide it.
        +
        valueId - the already known reference identifier of the created value. Null if the + identifier was not previously known. This is particularly important for constructors, since + they always return void and the only way to associate the constructed object to its + existing references is via the valueId.
        +
        Returns:
        +
        The Value corresponding to the given parameters.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/Variables.html b/api/proguard/evaluation/Variables.html new file mode 100644 index 000000000..b2d10b32f --- /dev/null +++ b/api/proguard/evaluation/Variables.html @@ -0,0 +1,694 @@ + + + + + +Variables (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Variables

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.Variables
    • +
    +
  • +
+
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    TracedVariables
    +
    +
    +
    public class Variables
    +extends java.lang.Object
    +
    This class represents a local variable frame that contains Value instances. Values are + generalizations of all values that have been stored in the respective variables.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      protected intsize 
      protected Value[]values 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Variables​(int size) +
      Creates a new Variables object with a given maximum number of variables.
      +
      Variables​(Variables variables) +
      Creates a Variables object that is a copy of the given Variables object.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      ReferenceValueaload​(int index) +
      Loads the ReferenceValue from the variable with the given index.
      +
      DoubleValuedload​(int index) +
      Loads the DoubleValue from the variable with the given index.
      +
      booleanequals​(java.lang.Object object) 
      FloatValuefload​(int index) +
      Loads the FloatValue from the variable with the given index.
      +
      booleangeneralize​(Variables other, + boolean clearConflictingOtherVariables) +
      Generalizes the values of this Variables object with the values of the given Variables object.
      +
      ValuegetValue​(int index) +
      Gets the Value of the variable with the given index, without disturbing it.
      +
      Value[]getValues() +
      Gets the Values of the variables array, without disturbing it.
      +
      inthashCode() 
      IntegerValueiload​(int index) +
      Loads the IntegerValue from the variable with the given index.
      +
      voidinitialize​(Variables other) +
      Initializes the values of this Variables object with the values of the given Variables object.
      +
      LongValuelload​(int index) +
      Loads the LongValue from the variable with the given index.
      +
      Valueload​(int index) +
      Loads the Value from the variable with the given index.
      +
      InstructionOffsetValueoload​(int index) +
      Loads the InstructionOffsetValue from the variable with the given index.
      +
      voidreplaceReferences​(Value toReplace, + Value replacement) +
      Replaces all the references to {@param toReplace} with references to {@param replacement}.
      +
      voidreset​(int size) +
      Resets this Variables object, so that it can be reused.
      +
      intsize() +
      Returns the number of variables.
      +
      voidstore​(int index, + Value value) +
      Stores the given Value at the given variable index.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        values

        +
        protected Value[] values
        +
      • +
      + + + +
        +
      • +

        size

        +
        protected int size
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Variables

        +
        public Variables​(int size)
        +
        Creates a new Variables object with a given maximum number of variables.
        +
      • +
      + + + +
        +
      • +

        Variables

        +
        public Variables​(Variables variables)
        +
        Creates a Variables object that is a copy of the given Variables object.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        reset

        +
        public void reset​(int size)
        +
        Resets this Variables object, so that it can be reused.
        +
      • +
      + + + +
        +
      • +

        initialize

        +
        public void initialize​(Variables other)
        +
        Initializes the values of this Variables object with the values of the given Variables object. + The other object may have fewer values, in which case the remaining values are left unchanged.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public boolean generalize​(Variables other,
        +                          boolean clearConflictingOtherVariables)
        +
        Generalizes the values of this Variables object with the values of the given Variables object.
        +
        +
        Parameters:
        +
        clearConflictingOtherVariables - specifies whether the other variables should be cleared + too, in case of conflicts.
        +
        Returns:
        +
        whether the generalization has made any difference.
        +
        +
      • +
      + + + +
        +
      • +

        size

        +
        public int size()
        +
        Returns the number of variables.
        +
      • +
      + + + +
        +
      • +

        getValue

        +
        public Value getValue​(int index)
        +
        Gets the Value of the variable with the given index, without disturbing it.
        +
      • +
      + + + +
        +
      • +

        getValues

        +
        public Value[] getValues()
        +
        Gets the Values of the variables array, without disturbing it.
        +
      • +
      + + + +
        +
      • +

        store

        +
        public void store​(int index,
        +                  Value value)
        +
        Stores the given Value at the given variable index.
        +
      • +
      + + + +
        +
      • +

        load

        +
        public Value load​(int index)
        +
        Loads the Value from the variable with the given index.
        +
      • +
      + + + +
        +
      • +

        iload

        +
        public IntegerValue iload​(int index)
        +
        Loads the IntegerValue from the variable with the given index.
        +
      • +
      + + + +
        +
      • +

        lload

        +
        public LongValue lload​(int index)
        +
        Loads the LongValue from the variable with the given index.
        +
      • +
      + + + +
        +
      • +

        fload

        +
        public FloatValue fload​(int index)
        +
        Loads the FloatValue from the variable with the given index.
        +
      • +
      + + + +
        +
      • +

        dload

        +
        public DoubleValue dload​(int index)
        +
        Loads the DoubleValue from the variable with the given index.
        +
      • +
      + + + +
        +
      • +

        aload

        +
        public ReferenceValue aload​(int index)
        +
        Loads the ReferenceValue from the variable with the given index.
        +
      • +
      + + + +
        +
      • +

        oload

        +
        public InstructionOffsetValue oload​(int index)
        +
        Loads the InstructionOffsetValue from the variable with the given index.
        +
      • +
      + + + +
        +
      • +

        replaceReferences

        +
        public void replaceReferences​(Value toReplace,
        +                              Value replacement)
        +
        Replaces all the references to {@param toReplace} with references to {@param replacement}.
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/ArrayIndexOutOfBounds.html b/api/proguard/evaluation/exception/ArrayIndexOutOfBounds.html new file mode 100644 index 000000000..c15829dac --- /dev/null +++ b/api/proguard/evaluation/exception/ArrayIndexOutOfBounds.html @@ -0,0 +1,381 @@ + + + + + +ArrayIndexOutOfBounds (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ArrayIndexOutOfBounds

+
+
+
    +
  • java.lang.Object
  • +
  • + +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable
    +
    +
    +
    public class ArrayIndexOutOfBounds
    +extends ProguardCoreException
    +
    Exception thrown when the index to access an array is known to be out of bound for the array.
    +
    +
    See Also:
    +
    PartialEvaluator, +Serialized Form
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ArrayIndexOutOfBounds​(int index, + int bound) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      intgetBound() 
      intgetIndex() 
      + +
        +
      • + + +

        Methods inherited from class java.lang.Throwable

        +addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ArrayIndexOutOfBounds

        +
        public ArrayIndexOutOfBounds​(int index,
        +                             int bound)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getIndex

        +
        public int getIndex()
        +
      • +
      + + + +
        +
      • +

        getBound

        +
        public int getBound()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/ArrayStoreTypeException.html b/api/proguard/evaluation/exception/ArrayStoreTypeException.html new file mode 100644 index 000000000..f570cbd97 --- /dev/null +++ b/api/proguard/evaluation/exception/ArrayStoreTypeException.html @@ -0,0 +1,379 @@ + + + + + +ArrayStoreTypeException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ArrayStoreTypeException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • + +
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/EmptyCodeAttributeException.html b/api/proguard/evaluation/exception/EmptyCodeAttributeException.html new file mode 100644 index 000000000..457f131c1 --- /dev/null +++ b/api/proguard/evaluation/exception/EmptyCodeAttributeException.html @@ -0,0 +1,325 @@ + + + + + +EmptyCodeAttributeException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class EmptyCodeAttributeException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • + +
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + +
        +
      • + + +

        Methods inherited from class java.lang.Throwable

        +addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        EmptyCodeAttributeException

        +
        public EmptyCodeAttributeException​(java.lang.String message)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/ExcessiveComplexityException.html b/api/proguard/evaluation/exception/ExcessiveComplexityException.html new file mode 100644 index 000000000..d187a7635 --- /dev/null +++ b/api/proguard/evaluation/exception/ExcessiveComplexityException.html @@ -0,0 +1,328 @@ + + + + + +ExcessiveComplexityException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExcessiveComplexityException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • + +
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + +
        +
      • + + +

        Methods inherited from class java.lang.Throwable

        +addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExcessiveComplexityException

        +
        public ExcessiveComplexityException​(java.lang.String message)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/IncompleteClassHierarchyException.html b/api/proguard/evaluation/exception/IncompleteClassHierarchyException.html new file mode 100644 index 000000000..b3bab5e99 --- /dev/null +++ b/api/proguard/evaluation/exception/IncompleteClassHierarchyException.html @@ -0,0 +1,332 @@ + + + + + +IncompleteClassHierarchyException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IncompleteClassHierarchyException

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable
    +
    +
    +
    public class IncompleteClassHierarchyException
    +extends IncompleteClassHierarchyException
    +
    Represents an exception during partial evaluation when an incomplete class hierarchy was + encountered.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + +
        +
      • + + +

        Methods inherited from class java.lang.Throwable

        +addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        IncompleteClassHierarchyException

        +
        public IncompleteClassHierarchyException​(java.lang.String message)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/PartialEvaluatorException.html b/api/proguard/evaluation/exception/PartialEvaluatorException.html new file mode 100644 index 000000000..358a29e6f --- /dev/null +++ b/api/proguard/evaluation/exception/PartialEvaluatorException.html @@ -0,0 +1,419 @@ + + + + + +PartialEvaluatorException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PartialEvaluatorException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • + +
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PartialEvaluatorException

        +
        public PartialEvaluatorException​(int componentErrorId,
        +                                 java.lang.Throwable cause,
        +                                 Clazz clazz,
        +                                 Method method,
        +                                 java.lang.String message,
        +                                 java.lang.String... errorParameters)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getClazz

        +
        public Clazz getClazz()
        +
      • +
      + + + +
        +
      • +

        getMethod

        +
        public Method getMethod()
        +
      • +
      + + + +
        +
      • +

        classAccept

        +
        public void classAccept​(ClassVisitor visitor)
        +
      • +
      + + + +
        +
      • +

        methodAccept

        +
        public void methodAccept​(MemberVisitor visitor)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/StackCategoryOneException.html b/api/proguard/evaluation/exception/StackCategoryOneException.html new file mode 100644 index 000000000..acf5c8a2f --- /dev/null +++ b/api/proguard/evaluation/exception/StackCategoryOneException.html @@ -0,0 +1,366 @@ + + + + + +StackCategoryOneException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StackCategoryOneException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • + +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable
    +
    +
    +
    public class StackCategoryOneException
    +extends ProguardCoreException
    +
    Exception thrown when a type on the stack does not match the category one expected type.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StackCategoryOneException

        +
        public StackCategoryOneException​(Value foundValue,
        +                                 java.lang.Throwable cause)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getFoundValue

        +
        public Value getFoundValue()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/StackGeneralizationException.html b/api/proguard/evaluation/exception/StackGeneralizationException.html new file mode 100644 index 000000000..98983238d --- /dev/null +++ b/api/proguard/evaluation/exception/StackGeneralizationException.html @@ -0,0 +1,418 @@ + + + + + +StackGeneralizationException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StackGeneralizationException

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StackGeneralizationException

        +
        @Deprecated
        +public StackGeneralizationException​(java.lang.Throwable cause,
        +                                    TracedStack first,
        +                                    TracedStack second)
        +
        Deprecated.
        +
      • +
      + + + +
        +
      • +

        StackGeneralizationException

        +
        public StackGeneralizationException​(Clazz clazz,
        +                                    Method method,
        +                                    java.lang.Throwable cause,
        +                                    TracedStack first,
        +                                    TracedStack second)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/StackTypeException.html b/api/proguard/evaluation/exception/StackTypeException.html new file mode 100644 index 000000000..1c5fe320c --- /dev/null +++ b/api/proguard/evaluation/exception/StackTypeException.html @@ -0,0 +1,382 @@ + + + + + +StackTypeException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StackTypeException

+
+
+
    +
  • java.lang.Object
  • +
  • + +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable
    +
    +
    +
    public class StackTypeException
    +extends ProguardCoreException
    +
    Exception thrown when a type on the stack does not match the expected type.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StackTypeException

        +
        public StackTypeException​(Value foundValue,
        +                          java.lang.String expectedType,
        +                          java.lang.Throwable cause)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getExpectedType

        +
        public java.lang.String getExpectedType()
        +
      • +
      + + + +
        +
      • +

        getFoundValue

        +
        public Value getFoundValue()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/ValueTypeException.html b/api/proguard/evaluation/exception/ValueTypeException.html new file mode 100644 index 000000000..068bc9354 --- /dev/null +++ b/api/proguard/evaluation/exception/ValueTypeException.html @@ -0,0 +1,379 @@ + + + + + +ValueTypeException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ValueTypeException

+
+
+
    +
  • java.lang.Object
  • +
  • + +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ValueTypeException

        +
        public ValueTypeException​(java.lang.String exceptedType,
        +                          Value actualType)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getActualType

        +
        public Value getActualType()
        +
      • +
      + + + +
        +
      • +

        getExceptedType

        +
        public java.lang.String getExceptedType()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/VariableEmptySlotException.html b/api/proguard/evaluation/exception/VariableEmptySlotException.html new file mode 100644 index 000000000..dc8713f61 --- /dev/null +++ b/api/proguard/evaluation/exception/VariableEmptySlotException.html @@ -0,0 +1,338 @@ + + + + + +VariableEmptySlotException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VariableEmptySlotException

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable
    +
    +
    +
    public class VariableEmptySlotException
    +extends VariableEvaluationException
    +
    Exception thrown when a variable slot contains an empty value, but should not.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        VariableEmptySlotException

        +
        public VariableEmptySlotException​(int index)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/VariableEvaluationException.html b/api/proguard/evaluation/exception/VariableEvaluationException.html new file mode 100644 index 000000000..fd6ff215d --- /dev/null +++ b/api/proguard/evaluation/exception/VariableEvaluationException.html @@ -0,0 +1,376 @@ + + + + + +VariableEvaluationException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VariableEvaluationException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • + +
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      VariableEvaluationException​(java.lang.String message, + int componentErrorId, + java.lang.Object[] errorParameters, + int index, + java.lang.Throwable cause) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      intgetIndex() 
      + +
        +
      • + + +

        Methods inherited from class java.lang.Throwable

        +addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        VariableEvaluationException

        +
        public VariableEvaluationException​(java.lang.String message,
        +                                   int componentErrorId,
        +                                   java.lang.Object[] errorParameters,
        +                                   int index,
        +                                   java.lang.Throwable cause)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getIndex

        +
        public int getIndex()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/VariableIndexOutOfBoundException.html b/api/proguard/evaluation/exception/VariableIndexOutOfBoundException.html new file mode 100644 index 000000000..f7f3a7328 --- /dev/null +++ b/api/proguard/evaluation/exception/VariableIndexOutOfBoundException.html @@ -0,0 +1,378 @@ + + + + + +VariableIndexOutOfBoundException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VariableIndexOutOfBoundException

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable
    +
    +
    +
    public class VariableIndexOutOfBoundException
    +extends VariableEvaluationException
    +
    Exception thrown when the variable index is out of bound of the current Variable count.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        VariableIndexOutOfBoundException

        +
        public VariableIndexOutOfBoundException​(int index,
        +                                        int bound)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getBound

        +
        public int getBound()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/VariableTypeException.html b/api/proguard/evaluation/exception/VariableTypeException.html new file mode 100644 index 000000000..d58e0f8c1 --- /dev/null +++ b/api/proguard/evaluation/exception/VariableTypeException.html @@ -0,0 +1,396 @@ + + + + + +VariableTypeException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VariableTypeException

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable
    +
    +
    +
    public class VariableTypeException
    +extends VariableEvaluationException
    +
    Exception thrown when the type in a variable does not match the expected type.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        VariableTypeException

        +
        public VariableTypeException​(int index,
        +                             Value foundValue,
        +                             java.lang.String expectedType,
        +                             java.lang.Throwable cause)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getExpectedType

        +
        public java.lang.String getExpectedType()
        +
      • +
      + + + +
        +
      • +

        getFoundValue

        +
        public Value getFoundValue()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/VariablesGeneralizationException.html b/api/proguard/evaluation/exception/VariablesGeneralizationException.html new file mode 100644 index 000000000..d935b1154 --- /dev/null +++ b/api/proguard/evaluation/exception/VariablesGeneralizationException.html @@ -0,0 +1,381 @@ + + + + + +VariablesGeneralizationException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VariablesGeneralizationException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • + +
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/exception/package-summary.html b/api/proguard/evaluation/exception/package-summary.html new file mode 100644 index 000000000..a65abded2 --- /dev/null +++ b/api/proguard/evaluation/exception/package-summary.html @@ -0,0 +1,240 @@ + + + + + +proguard.evaluation.exception (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.evaluation.exception

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/evaluation/exception/package-tree.html b/api/proguard/evaluation/exception/package-tree.html new file mode 100644 index 000000000..615ba33bc --- /dev/null +++ b/api/proguard/evaluation/exception/package-tree.html @@ -0,0 +1,201 @@ + + + + + +proguard.evaluation.exception Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.evaluation.exception

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/evaluation/executor/Executor.Builder.html b/api/proguard/evaluation/executor/Executor.Builder.html new file mode 100644 index 000000000..36859c9a6 --- /dev/null +++ b/api/proguard/evaluation/executor/Executor.Builder.html @@ -0,0 +1,267 @@ + + + + + +Executor.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Executor.Builder<T extends Executor>

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        build

        +
        T build()
        +
        Build an executor. If the executor keeps internal state this method needs to guarantee that + no data is shared between the different implementations (unless needed by design, e.g., for + caching).
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/executor/Executor.html b/api/proguard/evaluation/executor/Executor.html new file mode 100644 index 000000000..fd479b93e --- /dev/null +++ b/api/proguard/evaluation/executor/Executor.html @@ -0,0 +1,329 @@ + + + + + +Executor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Executor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getMethodResult

        +
        MethodResult getMethodResult​(MethodExecutionInfo methodData,
        +                             ValueCalculator valueCalculator)
        +
        Calculate the result of a given method. This is the return value for a non-constructor method + (null if it returns void) and the instantiated object for a constructor.
        +
        +
        Parameters:
        +
        methodData - Information about the called method.
        +
        valueCalculator - a function mapping the result of a method invocation (can be an Object + with the result if the executor calculates a real value or a Model) to the + appropriate Value used by the analysis. Should also be used to create values of + unknown value since the executor might be able to provide additional information on them + even if the value itself is not known (e.g., on the identifier of the returned value).
        +
        Returns:
        +
        The result of the method call, including information on the returned value or values or + arguments on which side effects happened during the method execution. If the executor is + not able to provide any additional information for any reason the returned value should be + MethodResult.invalidResult(), so that the caller can know that execution failed and + just provide its best approximation of the result.
        +
        +
      • +
      + + + +
        +
      • +

        getSupportedMethodSignatures

        +
        java.util.Set<MethodSignature> getSupportedMethodSignatures()
        +
        Get a list of method signatures that indicate which methods are supported by this executor. + +

        The returned methods should be exactly the ones that the executor is expected to be able to + handle. The invocation unit does not make any additional assumption on the executors available + to execute a method and will match them iff the signature of the target method matches exactly. + +

        Only full method signatures should be returned, the invocation unit does not support + wildcards.

        +
        +
        Returns:
        +
        a set of methods the executor can handle.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/executor/JavaReflectionApiExecutor.Builder.html b/api/proguard/evaluation/executor/JavaReflectionApiExecutor.Builder.html new file mode 100644 index 000000000..8fdc5c307 --- /dev/null +++ b/api/proguard/evaluation/executor/JavaReflectionApiExecutor.Builder.html @@ -0,0 +1,328 @@ + + + + + +JavaReflectionApiExecutor.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JavaReflectionApiExecutor.Builder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.executor.JavaReflectionApiExecutor.Builder
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Builder​(@NotNull ClassPool programClassPool, + @NotNull ClassPool libraryClassPool) 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Builder

        +
        public Builder​(@NotNull
        +               @NotNull ClassPool programClassPool,
        +               @NotNull
        +               @NotNull ClassPool libraryClassPool)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/executor/JavaReflectionApiExecutor.html b/api/proguard/evaluation/executor/JavaReflectionApiExecutor.html new file mode 100644 index 000000000..383d2fdc7 --- /dev/null +++ b/api/proguard/evaluation/executor/JavaReflectionApiExecutor.html @@ -0,0 +1,351 @@ + + + + + +JavaReflectionApiExecutor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JavaReflectionApiExecutor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.executor.JavaReflectionApiExecutor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getMethodResult

        +
        public MethodResult getMethodResult​(MethodExecutionInfo methodExecutionInfo,
        +                                    ValueCalculator valueCalculator)
        +
        Description copied from interface: Executor
        +
        Calculate the result of a given method. This is the return value for a non-constructor method + (null if it returns void) and the instantiated object for a constructor.
        +
        +
        Specified by:
        +
        getMethodResult in interface Executor
        +
        Parameters:
        +
        methodExecutionInfo - Information about the called method.
        +
        valueCalculator - a function mapping the result of a method invocation (can be an Object + with the result if the executor calculates a real value or a Model) to the + appropriate Value used by the analysis. Should also be used to create values of + unknown value since the executor might be able to provide additional information on them + even if the value itself is not known (e.g., on the identifier of the returned value).
        +
        Returns:
        +
        The result of the method call, including information on the returned value or values or + arguments on which side effects happened during the method execution. If the executor is + not able to provide any additional information for any reason the returned value should be + MethodResult.invalidResult(), so that the caller can know that execution failed and + just provide its best approximation of the result.
        +
        +
      • +
      + + + +
        +
      • +

        getSupportedMethodSignatures

        +
        public java.util.Set<MethodSignature> getSupportedMethodSignatures()
        +
        Description copied from interface: Executor
        +
        Get a list of method signatures that indicate which methods are supported by this executor. + +

        The returned methods should be exactly the ones that the executor is expected to be able to + handle. The invocation unit does not make any additional assumption on the executors available + to execute a method and will match them iff the signature of the target method matches exactly. + +

        Only full method signatures should be returned, the invocation unit does not support + wildcards.

        +
        +
        Specified by:
        +
        getSupportedMethodSignatures in interface Executor
        +
        Returns:
        +
        a set of methods the executor can handle.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/executor/MethodExecutionInfo.html b/api/proguard/evaluation/executor/MethodExecutionInfo.html new file mode 100644 index 000000000..7b27d19b9 --- /dev/null +++ b/api/proguard/evaluation/executor/MethodExecutionInfo.html @@ -0,0 +1,730 @@ + + + + + +MethodExecutionInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MethodExecutionInfo

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.executor.MethodExecutionInfo
    • +
    +
  • +
+
+
    +
  • +
    +
    public class MethodExecutionInfo
    +extends java.lang.Object
    +
    This class stores data relevant to modeling the execution of a method and offers methods to + extract additional information.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MethodExecutionInfo

        +
        public MethodExecutionInfo​(@NotNull
        +                           @NotNull Clazz clazz,
        +                           @NotNull
        +                           @NotNull Method method,
        +                           @Nullable
        +                           @Nullable CodeLocation caller,
        +                           @NotNull
        +                           @NotNull Value... parameters)
        +
        Constructs a MethodExecutionInfo.
        +
        +
        Parameters:
        +
        clazz - The referenced class.
        +
        method - The referenced method.
        +
        caller - The code location of the call site. May be null.
        +
        parameters - The parameters of the call, calling instance included.
        +
        +
      • +
      + + + +
        +
      • +

        MethodExecutionInfo

        +
        public MethodExecutionInfo​(AnyMethodrefConstant anyMethodrefConstant,
        +                           CodeLocation caller,
        +                           Value... parameters)
        +
        Constructs a MethodExecutionInfo.
        +
        +
        Parameters:
        +
        anyMethodrefConstant - A method reference constant. Requires referenced class to be + initialized (using ClassReferenceInitializer).
        +
        caller - The code location of the call site. May be null.
        +
        parameters - The parameters of the call, calling instance included.
        +
        +
      • +
      + + + +
        +
      • +

        MethodExecutionInfo

        +
        public MethodExecutionInfo​(ConcreteCall call,
        +                           Value... parameters)
        +
        Constructs a MethodExecutionInfo.
        +
        +
        Parameters:
        +
        call - the concrete call.
        +
        parameters - The parameters of the call, calling instance included.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getSignature

        +
        public MethodSignature getSignature()
        +
        Get the method signature of the method
        +
      • +
      + + + +
        +
      • +

        getCaller

        +
        @Nullable
        +public @Nullable CodeLocation getCaller()
        +
        Get the code location of the call site. Might not be provided depending on if the analysis + needs it or not
        +
      • +
      + + + +
        +
      • +

        isConstructor

        +
        public boolean isConstructor()
        +
        Return whether the method is a constructor.
        +
      • +
      + + + +
        +
      • +

        isStatic

        +
        public boolean isStatic()
        +
        Return whether the method is static.
        +
      • +
      + + + +
        +
      • +

        isInstanceMethod

        +
        public boolean isInstanceMethod()
        +
      • +
      + + + +
        +
      • +

        getReturnClass

        +
        @Nullable
        +public @Nullable Clazz getReturnClass()
        +
        Get the return class of the method. + +

        This is the return class as declared in the invoked method descriptor, method execution + might provide a more specific runtime type.

        +
        +
        Returns:
        +
        The return referenced class. Can be null if the class pools have not been initialized; + even if they have, the clazz not being null is not a guarantee.
        +
        +
      • +
      + + + +
        +
      • +

        getParametersClasses

        +
        public java.util.List<Clazz> getParametersClasses()
        +
        Returns the referenced Clazz for each parameter.
        +
        +
        Returns:
        +
        The referenced class for each parameter (instance excluded), where each parameter can + be accessed given its position (starting from 0, category 2 values take only one slot). An + element is null if the corresponding parameter is of a primitive type or an array of + primitives. An element can be null if the class pools have not been initialized; even if + they have, elements not being null is not a guarantee
        +
        +
      • +
      + + + +
        +
      • +

        getTargetClass

        +
        @NotNull
        +public @NotNull Clazz getTargetClass()
        +
        Returns the referenced Clazz of the target method. Corresponds to the invocation + instance class for instance methods and constructor calls.
        +
        +
        Returns:
        +
        The target referenced class. Can't be null since this is a condition for the execution + to be possible.
        +
        +
      • +
      + + + +
        +
      • +

        getTargetType

        +
        @NotNull
        +public @NotNull java.lang.String getTargetType()
        +
        Get the static target type of the method. For constructors this corresponds to the type of the + constructed object.
        +
      • +
      + + + +
        +
      • +

        getReturnType

        +
        public java.lang.String getReturnType()
        +
        Get the static return type of the method. + +

        This is the return type as declared in the invoked method constructor, method execution + might provide a more specific runtime type.

        +
      • +
      + + + +
        +
      • +

        getInstanceType

        +
        public java.util.Optional<java.lang.String> getInstanceType()
        +
        Get the type of the instance, or empty for static methods.
        +
      • +
      + + + +
        +
      • +

        returnsSameTypeAsInstance

        +
        public boolean returnsSameTypeAsInstance()
        +
        Return whether the return and instance types of the method match.
        +
      • +
      + + + +
        +
      • +

        returnsVoid

        +
        public boolean returnsVoid()
        +
        Whether the method returns void.
        +
      • +
      + + + +
        +
      • +

        getInstanceNonStatic

        +
        @NotNull
        +public @NotNull ReferenceValue getInstanceNonStatic()
        +
        Returns the calling instance value of the method, throws if the method is static.
        +
      • +
      + + + +
        +
      • +

        getSpecificInstance

        +
        @NotNull
        +public @NotNull IdentifiedReferenceValue getSpecificInstance()
        +
        Returns the specific calling instance value of the method. Should only be called if the + instance is known to be present and specific, will throw otherwise.
        +
      • +
      + + + +
        +
      • +

        getInstanceOrNullIfStatic

        +
        @Nullable
        +public @Nullable ReferenceValue getInstanceOrNullIfStatic()
        +
        Returns the calling instance value of the method, or null if the method is static.
        +
      • +
      + + + +
        +
      • +

        getParameters

        +
        public java.util.List<Value> getParameters()
        +
        Returns the parameters of the method, calling instance not included.
        +
      • +
      + + + +
        +
      • +

        getResolvedTargetSignature

        +
        public MethodSignature getResolvedTargetSignature()
        +
        Gets the resolved target of the method call. For constructors and static methods this + corresponds to the static signature, while dynamic method resolution is performed by the + invocation unit for instance methods (i.e., the class in the signature is the calculated + runtime type of the instance). + +

        This property is lazily initialized and is guaranteed to be available while Executor.getMethodResult(MethodExecutionInfo, ValueCalculator) is running.

        +
        +
        Throws:
        +
        java.lang.IllegalStateException - if called before the initialization of the property.
        +
        +
      • +
      + + + +
        +
      • +

        setResolvedTargetSignature

        +
        public void setResolvedTargetSignature​(@NotNull
        +                                       @NotNull MethodSignature resolvedTargetSignature)
        +
        Sets the lazy property containing the resolved target of the method calls. For constructors and + static methods this corresponds to the static signature, while dynamic method resolution is + performed by the invocation unit for instance methods (i.e., the class in the signature is the + calculated runtime type of the instance).
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/executor/ReflectionExecutor.InstanceCopyResult.html b/api/proguard/evaluation/executor/ReflectionExecutor.InstanceCopyResult.html new file mode 100644 index 000000000..dd47e74ac --- /dev/null +++ b/api/proguard/evaluation/executor/ReflectionExecutor.InstanceCopyResult.html @@ -0,0 +1,324 @@ + + + + + +ReflectionExecutor.InstanceCopyResult (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReflectionExecutor.InstanceCopyResult

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.executor.ReflectionExecutor.InstanceCopyResult
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    ReflectionExecutor
    +
    +
    +
    public static class ReflectionExecutor.InstanceCopyResult
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InstanceCopyResult

        +
        public InstanceCopyResult​(AnalyzedObject instance,
        +                          boolean isMutable)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        isMutable

        +
        public boolean isMutable()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/executor/ReflectionExecutor.html b/api/proguard/evaluation/executor/ReflectionExecutor.html new file mode 100644 index 000000000..557daf131 --- /dev/null +++ b/api/proguard/evaluation/executor/ReflectionExecutor.html @@ -0,0 +1,426 @@ + + + + + +ReflectionExecutor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReflectionExecutor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.executor.ReflectionExecutor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ReflectionExecutor

        +
        public ReflectionExecutor()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getMethodResult

        +
        public MethodResult getMethodResult​(MethodExecutionInfo methodExecutionInfo,
        +                                    ValueCalculator valueCalculator)
        +
        Description copied from interface: Executor
        +
        Calculate the result of a given method. This is the return value for a non-constructor method + (null if it returns void) and the instantiated object for a constructor.
        +
        +
        Specified by:
        +
        getMethodResult in interface Executor
        +
        Parameters:
        +
        methodExecutionInfo - Information about the called method.
        +
        valueCalculator - a function mapping the result of a method invocation (can be an Object + with the result if the executor calculates a real value or a Model) to the + appropriate Value used by the analysis. Should also be used to create values of + unknown value since the executor might be able to provide additional information on them + even if the value itself is not known (e.g., on the identifier of the returned value).
        +
        Returns:
        +
        The result of the method call, including information on the returned value or values or + arguments on which side effects happened during the method execution. If the executor is + not able to provide any additional information for any reason the returned value should be + MethodResult.invalidResult(), so that the caller can know that execution failed and + just provide its best approximation of the result.
        +
        +
      • +
      + + + +
        +
      • +

        getInstanceOrCopyIfMutable

        +
        protected abstract java.util.Optional<ReflectionExecutor.InstanceCopyResult> getInstanceOrCopyIfMutable​(ReferenceValue instanceValue)
        +
        Get an object which will act as the calling instance. If we know that executing the method does + not modify the instance this can just be the same value. Otherwise, a copy should be returned + in order to not change the reference whose state may be of interest at the end of an analysis.
        +
        +
        Parameters:
        +
        instanceValue - The ReferenceValue of the instance.
        +
        Returns:
        +
        The new calling instance.
        +
        +
      • +
      + + + +
        +
      • +

        getDefaultInstanceHandler

        +
        protected abstract ExecutorInstanceHandler getDefaultInstanceHandler()
        +
        Provides a default instance handler used by the executor in case the reflective execution + fails. + +

        The handler carries information on whether a method returns the same object as its instance.

        +
        +
        Returns:
        +
        the default instance handler.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/executor/ReflectiveModelExecutor.Builder.html b/api/proguard/evaluation/executor/ReflectiveModelExecutor.Builder.html new file mode 100644 index 000000000..2ac67b463 --- /dev/null +++ b/api/proguard/evaluation/executor/ReflectiveModelExecutor.Builder.html @@ -0,0 +1,379 @@ + + + + + +ReflectiveModelExecutor.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReflectiveModelExecutor.Builder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.executor.ReflectiveModelExecutor.Builder
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/executor/ReflectiveModelExecutor.SupportedModelInfo.html b/api/proguard/evaluation/executor/ReflectiveModelExecutor.SupportedModelInfo.html new file mode 100644 index 000000000..7296d1de0 --- /dev/null +++ b/api/proguard/evaluation/executor/ReflectiveModelExecutor.SupportedModelInfo.html @@ -0,0 +1,336 @@ + + + + + +ReflectiveModelExecutor.SupportedModelInfo (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReflectiveModelExecutor.SupportedModelInfo<T extends ReflectiveModel<T>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.executor.ReflectiveModelExecutor.SupportedModelInfo<T>
    • +
    +
  • +
+
+
    +
  • +
    +
    Type Parameters:
    +
    T - recursive generic type of the model.
    +
    +
    +
    Enclosing class:
    +
    ReflectiveModelExecutor
    +
    +
    +
    public static final class ReflectiveModelExecutor.SupportedModelInfo<T extends ReflectiveModel<T>>
    +extends java.lang.Object
    +
    Information provided by an executor to communicate which classes it supports.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SupportedModelInfo​(java.lang.Class<T> modelClass, + boolean supportsFullInheritance) 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SupportedModelInfo

        +
        public SupportedModelInfo​(java.lang.Class<T> modelClass,
        +                          boolean supportsFullInheritance)
        +
        +
        Parameters:
        +
        modelClass - a clazz of a model.
        +
        supportsFullInheritance - whether the executor should support classes implementing the + modeled class. "Full" support for inheritance means all methods, regardless of the fact + they override the modeled method or not.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getModelClass

        +
        public java.lang.Class<T> getModelClass()
        +
      • +
      + + + +
        +
      • +

        isSupportsFullInheritance

        +
        public boolean isSupportsFullInheritance()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/executor/ReflectiveModelExecutor.html b/api/proguard/evaluation/executor/ReflectiveModelExecutor.html new file mode 100644 index 000000000..afc42c41e --- /dev/null +++ b/api/proguard/evaluation/executor/ReflectiveModelExecutor.html @@ -0,0 +1,506 @@ + + + + + +ReflectiveModelExecutor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReflectiveModelExecutor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.executor.ReflectiveModelExecutor
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Executor
    +
    +
    +
    public class ReflectiveModelExecutor
    +extends java.lang.Object
    +implements Executor
    +
    An Executor with support for ReflectiveModels. + +

    Checks the parameters sanity so that the models can work assuming they get clean data and + matches the target ReflectiveModel and executes the method on it via the reflection + supported by ModelHelper.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getMethodResult

        +
        public MethodResult getMethodResult​(MethodExecutionInfo methodExecutionInfo,
        +                                    ValueCalculator valueCalculator)
        +
        Description copied from interface: Executor
        +
        Calculate the result of a given method. This is the return value for a non-constructor method + (null if it returns void) and the instantiated object for a constructor.
        +
        +
        Specified by:
        +
        getMethodResult in interface Executor
        +
        Parameters:
        +
        methodExecutionInfo - Information about the called method.
        +
        valueCalculator - a function mapping the result of a method invocation (can be an Object + with the result if the executor calculates a real value or a Model) to the + appropriate Value used by the analysis. Should also be used to create values of + unknown value since the executor might be able to provide additional information on them + even if the value itself is not known (e.g., on the identifier of the returned value).
        +
        Returns:
        +
        The result of the method call, including information on the returned value or values or + arguments on which side effects happened during the method execution. If the executor is + not able to provide any additional information for any reason the returned value should be + MethodResult.invalidResult(), so that the caller can know that execution failed and + just provide its best approximation of the result.
        +
        +
      • +
      + + + +
        +
      • +

        getSupportedMethodSignatures

        +
        public java.util.Set<MethodSignature> getSupportedMethodSignatures()
        +
        Description copied from interface: Executor
        +
        Get a list of method signatures that indicate which methods are supported by this executor. + +

        The returned methods should be exactly the ones that the executor is expected to be able to + handle. The invocation unit does not make any additional assumption on the executors available + to execute a method and will match them iff the signature of the target method matches exactly. + +

        Only full method signatures should be returned, the invocation unit does not support + wildcards.

        +
        +
        Specified by:
        +
        getSupportedMethodSignatures in interface Executor
        +
        Returns:
        +
        a set of methods the executor can handle.
        +
        +
      • +
      + + + +
        +
      • +

        generateMethodSignaturesForModel

        +
        public static <T extends ReflectiveModel<T>> java.util.Set<MethodSignature> generateMethodSignaturesForModel​(ReflectiveModelExecutor.SupportedModelInfo<T> modelInfo,
        +                                                                                                             HierarchyProvider hierarchy)
        +
        Computes the methods the executor needs to support for the specified classes. This consists in + all the methods implemented by the specified ReflectiveModel and additionally a + signature for each class extending the class if inheritance has to be supported.
        +
        +
        Type Parameters:
        +
        T - the model modeling the clazz.
        +
        Parameters:
        +
        modelInfo - information on which classes the executor wants to support (e.g., only the + class modeled by a model or also everything implementing it, etc.)
        +
        hierarchy - the class hierarchy.
        +
        Returns:
        +
        the signatures the executor supports for the clazz.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/executor/StringReflectionExecutor.Builder.html b/api/proguard/evaluation/executor/StringReflectionExecutor.Builder.html new file mode 100644 index 000000000..0e06fda3b --- /dev/null +++ b/api/proguard/evaluation/executor/StringReflectionExecutor.Builder.html @@ -0,0 +1,324 @@ + + + + + +StringReflectionExecutor.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StringReflectionExecutor.Builder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.executor.StringReflectionExecutor.Builder
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Builder​(ClassPool libraryClassPool) 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Builder

        +
        public Builder​(ClassPool libraryClassPool)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/executor/StringReflectionExecutor.html b/api/proguard/evaluation/executor/StringReflectionExecutor.html new file mode 100644 index 000000000..c70dd51b1 --- /dev/null +++ b/api/proguard/evaluation/executor/StringReflectionExecutor.html @@ -0,0 +1,424 @@ + + + + + +StringReflectionExecutor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class StringReflectionExecutor

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StringReflectionExecutor

        +
        public StringReflectionExecutor​(ClassPool libraryClassPool)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getInstanceOrCopyIfMutable

        +
        public java.util.Optional<ReflectionExecutor.InstanceCopyResult> getInstanceOrCopyIfMutable​(ReferenceValue instanceValue)
        +
        Description copied from class: ReflectionExecutor
        +
        Get an object which will act as the calling instance. If we know that executing the method does + not modify the instance this can just be the same value. Otherwise, a copy should be returned + in order to not change the reference whose state may be of interest at the end of an analysis.
        +
        +
        Specified by:
        +
        getInstanceOrCopyIfMutable in class ReflectionExecutor
        +
        Parameters:
        +
        instanceValue - The ReferenceValue of the instance.
        +
        Returns:
        +
        The new calling instance.
        +
        +
      • +
      + + + +
        +
      • +

        getDefaultInstanceHandler

        +
        public ExecutorInstanceHandler getDefaultInstanceHandler()
        +
        Description copied from class: ReflectionExecutor
        +
        Provides a default instance handler used by the executor in case the reflective execution + fails. + +

        The handler carries information on whether a method returns the same object as its instance.

        +
        +
        Specified by:
        +
        getDefaultInstanceHandler in class ReflectionExecutor
        +
        Returns:
        +
        the default instance handler.
        +
        +
      • +
      + + + +
        +
      • +

        getSupportedMethodSignatures

        +
        public java.util.Set<MethodSignature> getSupportedMethodSignatures()
        +
        Description copied from interface: Executor
        +
        Get a list of method signatures that indicate which methods are supported by this executor. + +

        The returned methods should be exactly the ones that the executor is expected to be able to + handle. The invocation unit does not make any additional assumption on the executors available + to execute a method and will match them iff the signature of the target method matches exactly. + +

        Only full method signatures should be returned, the invocation unit does not support + wildcards.

        +
        +
        Returns:
        +
        a set of methods the executor can handle.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/executor/instancehandler/ExecutorInstanceHandler.html b/api/proguard/evaluation/executor/instancehandler/ExecutorInstanceHandler.html new file mode 100644 index 000000000..a6168e0be --- /dev/null +++ b/api/proguard/evaluation/executor/instancehandler/ExecutorInstanceHandler.html @@ -0,0 +1,259 @@ + + + + + +ExecutorInstanceHandler (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ExecutorInstanceHandler

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    ExecutorMethodInstanceHandler
    +
    +
    +
    public interface ExecutorInstanceHandler
    +
    This interface provides a method for deciding whether a certain method call returns the calling + instance.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      booleanreturnsOwnInstance​(java.lang.String internalClassName, + java.lang.String methodName) +
      Return whether the method always returns its calling instance.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        returnsOwnInstance

        +
        boolean returnsOwnInstance​(java.lang.String internalClassName,
        +                           java.lang.String methodName)
        +
        Return whether the method always returns its calling instance. If unknown, return false.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/executor/instancehandler/ExecutorMethodInstanceHandler.html b/api/proguard/evaluation/executor/instancehandler/ExecutorMethodInstanceHandler.html new file mode 100644 index 000000000..da26a3819 --- /dev/null +++ b/api/proguard/evaluation/executor/instancehandler/ExecutorMethodInstanceHandler.html @@ -0,0 +1,329 @@ + + + + + +ExecutorMethodInstanceHandler (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExecutorMethodInstanceHandler

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.executor.instancehandler.ExecutorMethodInstanceHandler
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanreturnsOwnInstance​(java.lang.String internalClassName, + java.lang.String methodName) +
      Return whether the method always returns its calling instance.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExecutorMethodInstanceHandler

        +
        public ExecutorMethodInstanceHandler​(java.util.Map<java.lang.String,​StringMatcher> alwaysReturnsOwnInstance)
        +
        Creates an ExecutorMethodInstanceHandler using the given mapping.
        +
        +
        Parameters:
        +
        alwaysReturnsOwnInstance - A mapping from class names to a matcher for methods that return + a new instance
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        returnsOwnInstance

        +
        public boolean returnsOwnInstance​(java.lang.String internalClassName,
        +                                  java.lang.String methodName)
        +
        Description copied from interface: ExecutorInstanceHandler
        +
        Return whether the method always returns its calling instance. If unknown, return false.
        +
        +
        Specified by:
        +
        returnsOwnInstance in interface ExecutorInstanceHandler
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/executor/instancehandler/package-summary.html b/api/proguard/evaluation/executor/instancehandler/package-summary.html new file mode 100644 index 000000000..eafa18441 --- /dev/null +++ b/api/proguard/evaluation/executor/instancehandler/package-summary.html @@ -0,0 +1,185 @@ + + + + + +proguard.evaluation.executor.instancehandler (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.evaluation.executor.instancehandler

+
+
+
    +
  • + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    ExecutorInstanceHandler +
    This interface provides a method for deciding whether a certain method call returns the calling + instance.
    +
    +
  • +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    ExecutorMethodInstanceHandler +
    This ExecutorInstanceHandler decides whether a method always returns its calling instance + based on a mapping of class names to a StringMatcher for method names.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/evaluation/executor/instancehandler/package-tree.html b/api/proguard/evaluation/executor/instancehandler/package-tree.html new file mode 100644 index 000000000..839882fd4 --- /dev/null +++ b/api/proguard/evaluation/executor/instancehandler/package-tree.html @@ -0,0 +1,167 @@ + + + + + +proguard.evaluation.executor.instancehandler Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.evaluation.executor.instancehandler

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/evaluation/executor/package-summary.html b/api/proguard/evaluation/executor/package-summary.html new file mode 100644 index 000000000..3d91a715f --- /dev/null +++ b/api/proguard/evaluation/executor/package-summary.html @@ -0,0 +1,244 @@ + + + + + +proguard.evaluation.executor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.evaluation.executor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/evaluation/executor/package-tree.html b/api/proguard/evaluation/executor/package-tree.html new file mode 100644 index 000000000..f06a0f6f7 --- /dev/null +++ b/api/proguard/evaluation/executor/package-tree.html @@ -0,0 +1,180 @@ + + + + + +proguard.evaluation.executor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.evaluation.executor

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/evaluation/package-summary.html b/api/proguard/evaluation/package-summary.html new file mode 100644 index 000000000..c679f843c --- /dev/null +++ b/api/proguard/evaluation/package-summary.html @@ -0,0 +1,350 @@ + + + + + +proguard.evaluation (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.evaluation

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/evaluation/package-tree.html b/api/proguard/evaluation/package-tree.html new file mode 100644 index 000000000..d5d393de8 --- /dev/null +++ b/api/proguard/evaluation/package-tree.html @@ -0,0 +1,230 @@ + + + + + +proguard.evaluation Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.evaluation

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/evaluation/util/DebugPrinter.html b/api/proguard/evaluation/util/DebugPrinter.html new file mode 100644 index 000000000..546a2a793 --- /dev/null +++ b/api/proguard/evaluation/util/DebugPrinter.html @@ -0,0 +1,915 @@ + + + + + +DebugPrinter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DebugPrinter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.util.DebugPrinter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/util/PartialEvaluatorStateTracker.html b/api/proguard/evaluation/util/PartialEvaluatorStateTracker.html new file mode 100644 index 000000000..1cd097dd3 --- /dev/null +++ b/api/proguard/evaluation/util/PartialEvaluatorStateTracker.html @@ -0,0 +1,765 @@ + + + + + +PartialEvaluatorStateTracker (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface PartialEvaluatorStateTracker

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    DebugPrinter, JsonPrinter
    +
    +
    +
    public interface PartialEvaluatorStateTracker
    +
    Interface with callback methods called by the Partial Evaluator when it enters certain states. + States are visualised in the Partial evaluator docs. Implementers of this interface are allowed + to assume a fixed order in the calls. For example: startCodeAttribute is followed with a + startInstructionBlock.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        startCodeAttribute

        +
        default void startCodeAttribute​(Clazz clazz,
        +                                Method method,
        +                                CodeAttribute codeAttribute,
        +                                Variables parameters)
        +
        The partial evaluator starts with the evaluation of a code block.
        +
      • +
      + + + +
        +
      • +

        registerException

        +
        default void registerException​(Clazz clazz,
        +                               Method method,
        +                               CodeAttribute codeAttribute,
        +                               PartialEvaluator evaluator,
        +                               java.lang.Throwable cause)
        +
        An exception has been thrown while evaluating the current code attribute.
        +
      • +
      + + + +
        +
      • +

        startExceptionHandlingForBlock

        +
        default void startExceptionHandlingForBlock​(Clazz clazz,
        +                                            Method method,
        +                                            int startOffset,
        +                                            int endOffset)
        +
        Partial evaluator starts evaluating the exceptions handlers that catch over a certain + instruction range.
        +
      • +
      + + + +
        +
      • +

        registerExceptionHandler

        +
        default void registerExceptionHandler​(Clazz clazz,
        +                                      Method method,
        +                                      int startPC,
        +                                      int endPC,
        +                                      ExceptionInfo info)
        +
        Partial evaluator starts evaluating a specific exception handler.
        +
      • +
      + + + +
        +
      • +

        registerUnusedExceptionHandler

        +
        default void registerUnusedExceptionHandler​(Clazz clazz,
        +                                            Method method,
        +                                            int startPC,
        +                                            int endPC,
        +                                            ExceptionInfo info)
        +
        Partial evaluator detects that the evaluation of the exception handler over a certain range is + not needed. For example when the exceptionType can not be thrown from with the instruction + range.
        +
      • +
      + + + +
        +
      • +

        evaluationResults

        +
        default void evaluationResults​(Clazz clazz,
        +                               Method method,
        +                               CodeAttribute codeAttribute,
        +                               PartialEvaluator evaluator)
        +
        Partial evaluator is done evaluating the code attribute. You can extract the results straight + from the evaluator.
        +
      • +
      + + + +
        +
      • +

        startInstructionBlock

        +
        default void startInstructionBlock​(Clazz clazz,
        +                                   Method method,
        +                                   CodeAttribute codeAttribute,
        +                                   TracedVariables startVariables,
        +                                   TracedStack startStack,
        +                                   int startOffset)
        +
        Partial evaluator starts evaluating an instruction block, specified by an instruction range + within the code attribute and the variables and stack it would start with.
        +
      • +
      + + + +
        +
      • +

        startBranchCodeBlockEvaluation

        +
        default void startBranchCodeBlockEvaluation​(java.util.List<PartialEvaluator.InstructionBlock> branchStack)
        +
        Evaluation of the first general block has been done. The evaluator now starts evaluating the + blocks generated by branch instructions and will do this in a stack like behaviour.
        +
      • +
      + + + +
        +
      • +

        instructionBlockDone

        +
        default void instructionBlockDone​(Clazz clazz,
        +                                  Method method,
        +                                  CodeAttribute codeAttribute,
        +                                  TracedVariables startVariables,
        +                                  TracedStack startStack,
        +                                  int startOffset)
        +
        An instruction block has been evaluated.
        +
      • +
      + + + +
        +
      • +

        skipInstructionBlock

        +
        default void skipInstructionBlock​(Clazz clazz,
        +                                  Method method,
        +                                  int instructionOffset,
        +                                  Instruction instruction,
        +                                  TracedVariables variablesBefore,
        +                                  TracedStack stackBefore,
        +                                  int evaluationCount)
        +
        The instruction within this instruction block has been seen with the those variables and this + stack, and thus it is not needed to evaluate this block any further.
        +
      • +
      + + + +
        +
      • +

        generalizeInstructionBlock

        +
        default void generalizeInstructionBlock​(Clazz clazz,
        +                                        Method method,
        +                                        int instructionOffset,
        +                                        Instruction instruction,
        +                                        TracedVariables variablesBefore,
        +                                        TracedStack stackBefore,
        +                                        int evaluationCount)
        +
        The instruction has been seen a certain number of times and the evaluator deems it time to + start generalizing the instruction.
        +
      • +
      + + + +
        +
      • +

        startInstructionEvaluation

        +
        default void startInstructionEvaluation​(Clazz clazz,
        +                                        Method method,
        +                                        int instructionOffset,
        +                                        Instruction instruction,
        +                                        TracedVariables variablesBefore,
        +                                        TracedStack stackBefore,
        +                                        int evaluationCount)
        +
        The partial evaluator will forward the evaluation of the instruction. An exception right after + this state is likely.
        +
      • +
      + + + + + + + +
        +
      • +

        definitiveBranch

        +
        default void definitiveBranch​(Clazz clazz,
        +                              Method method,
        +                              int instructionOffset,
        +                              Instruction instruction,
        +                              TracedVariables variablesAfter,
        +                              TracedStack stackAfter,
        +                              InstructionOffsetValue branchTargets)
        +
        The instruction causes a definitive branch. This means the partial evaluator discovered a jump + is used and is sure what the next instruction will be. This next instruction will be evaluated + next and within the same instructionBlock evaluation.
        +
      • +
      + + + +
        +
      • +

        registerAlternativeBranch

        +
        default void registerAlternativeBranch​(Clazz clazz,
        +                                       Method method,
        +                                       int fromInstructionOffset,
        +                                       Instruction fromInstruction,
        +                                       TracedVariables variablesAfter,
        +                                       TracedStack stackAfter,
        +                                       int branchIndex,
        +                                       int branchTargetCount,
        +                                       int offset)
        +
        The evaluator detects multiple branches need to be evaluated. It adds these block evaluations + to a stack of blocks that still need to be evaluated. After all branches have been registered, + the evaluator exits the evaluation of the current instruction block.
        +
      • +
      + + + +
        +
      • +

        startSubroutine

        +
        default void startSubroutine​(Clazz clazz,
        +                             Method method,
        +                             TracedVariables startVariables,
        +                             TracedStack startStack,
        +                             int subroutineStart,
        +                             int subroutineEnd)
        +
        The current instruction was JSR or JSR_W and the partial evaluator starts with the evaluation + of the subroutine.
        +
      • +
      + + + +
        +
      • +

        registerSubroutineReturn

        +
        default void registerSubroutineReturn​(Clazz clazz,
        +                                      Method method,
        +                                      int returnOffset,
        +                                      TracedVariables returnVariables,
        +                                      TracedStack returnStack)
        +
        The current instruction was RET and the partial evaluator pushes the return address to the + branch stack of the calling partial evaluator.
        +
      • +
      + + + +
        +
      • +

        generalizeSubroutine

        +
        default void generalizeSubroutine​(Clazz clazz,
        +                                  Method method,
        +                                  TracedVariables startVariables,
        +                                  TracedStack startStack,
        +                                  int subroutineStart,
        +                                  int subroutineEnd)
        +
        The partial evaluator will start generalizing the results of the evaluated subroutine.
        +
      • +
      + + + +
        +
      • +

        endSubroutine

        +
        default void endSubroutine​(Clazz clazz,
        +                           Method method,
        +                           TracedVariables variablesAfter,
        +                           TracedStack stackAfter,
        +                           int subroutineStart,
        +                           int subroutineEnd)
        +
        The evaluation and generalization of the subroutine is done, the partial evaluator moves on.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/util/jsonprinter/JsonPrinter.html b/api/proguard/evaluation/util/jsonprinter/JsonPrinter.html new file mode 100644 index 000000000..7fee74028 --- /dev/null +++ b/api/proguard/evaluation/util/jsonprinter/JsonPrinter.html @@ -0,0 +1,769 @@ + + + + + +JsonPrinter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JsonPrinter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.util.jsonprinter.JsonPrinter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/util/jsonprinter/package-summary.html b/api/proguard/evaluation/util/jsonprinter/package-summary.html new file mode 100644 index 000000000..068cf35f4 --- /dev/null +++ b/api/proguard/evaluation/util/jsonprinter/package-summary.html @@ -0,0 +1,166 @@ + + + + + +proguard.evaluation.util.jsonprinter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.evaluation.util.jsonprinter

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    JsonPrinter +
    Tracks the state of the partial evaluator able to provide debug information in JSON format.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/evaluation/util/jsonprinter/package-tree.html b/api/proguard/evaluation/util/jsonprinter/package-tree.html new file mode 100644 index 000000000..c7a1e89ec --- /dev/null +++ b/api/proguard/evaluation/util/jsonprinter/package-tree.html @@ -0,0 +1,161 @@ + + + + + +proguard.evaluation.util.jsonprinter Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.evaluation.util.jsonprinter

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/evaluation/util/package-summary.html b/api/proguard/evaluation/util/package-summary.html new file mode 100644 index 000000000..20978e276 --- /dev/null +++ b/api/proguard/evaluation/util/package-summary.html @@ -0,0 +1,181 @@ + + + + + +proguard.evaluation.util (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.evaluation.util

+
+
+
    +
  • + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    PartialEvaluatorStateTracker +
    Interface with callback methods called by the Partial Evaluator when it enters certain states.
    +
    +
  • +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    DebugPrinter 
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/evaluation/util/package-tree.html b/api/proguard/evaluation/util/package-tree.html new file mode 100644 index 000000000..1b1d1a133 --- /dev/null +++ b/api/proguard/evaluation/util/package-tree.html @@ -0,0 +1,167 @@ + + + + + +proguard.evaluation.util Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.evaluation.util

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/evaluation/value/ArrayReferenceValue.html b/api/proguard/evaluation/value/ArrayReferenceValue.html new file mode 100644 index 000000000..72c59da1a --- /dev/null +++ b/api/proguard/evaluation/value/ArrayReferenceValue.html @@ -0,0 +1,577 @@ + + + + + +ArrayReferenceValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ArrayReferenceValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ArrayReferenceValueFactory.html b/api/proguard/evaluation/value/ArrayReferenceValueFactory.html new file mode 100644 index 000000000..b3c8247f8 --- /dev/null +++ b/api/proguard/evaluation/value/ArrayReferenceValueFactory.html @@ -0,0 +1,406 @@ + + + + + +ArrayReferenceValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ArrayReferenceValueFactory

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ValueFactory
    +
    +
    +
    public class ArrayReferenceValueFactory
    +extends TypedReferenceValueFactory
    +
    This identified value factory creates array reference values that also represent their elements, + in as far as possible.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/BasicRangeValueFactory.html b/api/proguard/evaluation/value/BasicRangeValueFactory.html new file mode 100644 index 000000000..f65ea23e2 --- /dev/null +++ b/api/proguard/evaluation/value/BasicRangeValueFactory.html @@ -0,0 +1,409 @@ + + + + + +BasicRangeValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BasicRangeValueFactory

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ValueFactory
    +
    +
    +
    Direct Known Subclasses:
    +
    RangeValueFactory
    +
    +
    +
    public class BasicRangeValueFactory
    +extends ParticularValueFactory
    +implements ValueFactory
    +
    This ValueFactory provides methods to create and reuse IntegerValue instances that have known + ranges. + +

    This basic implementation only creates RangeIntegerValue instances if they start out with a + known range. Otherwise, it still creates ParticularIntegerValue instances or UnknownIntegerValue + instances, which by themselves never generalize to RangeIntegerValue instances.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BasicRangeValueFactory

        +
        public BasicRangeValueFactory()
        +
        Creates a new BasicRangeValueFactory.
        +
      • +
      + + + +
        +
      • +

        BasicRangeValueFactory

        +
        public BasicRangeValueFactory​(ValueFactory arrayReferenceValueFactory,
        +                              ValueFactory referenceValueFactory)
        +
        Creates a new BasicRangeValueFactory that delegates to the given value factories for creating + reference values.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/BasicValueFactory.html b/api/proguard/evaluation/value/BasicValueFactory.html new file mode 100644 index 000000000..2502e5c4d --- /dev/null +++ b/api/proguard/evaluation/value/BasicValueFactory.html @@ -0,0 +1,1088 @@ + + + + + +BasicValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class BasicValueFactory

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.value.BasicValueFactory
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        UNKNOWN_VALUE

        +
        public static final UnknownValue UNKNOWN_VALUE
        +
      • +
      + + + +
        +
      • +

        INTEGER_VALUE

        +
        public static final IntegerValue INTEGER_VALUE
        +
      • +
      + + + +
        +
      • +

        LONG_VALUE

        +
        public static final LongValue LONG_VALUE
        +
      • +
      + + + +
        +
      • +

        FLOAT_VALUE

        +
        public static final FloatValue FLOAT_VALUE
        +
      • +
      + + + +
        +
      • +

        DOUBLE_VALUE

        +
        public static final DoubleValue DOUBLE_VALUE
        +
      • +
      + + + +
        +
      • +

        REFERENCE_VALUE

        +
        public static final ReferenceValue REFERENCE_VALUE
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BasicValueFactory

        +
        public BasicValueFactory()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createValue

        +
        public Value createValue​(java.lang.String type,
        +                         Clazz referencedClass,
        +                         boolean mayBeExtension,
        +                         boolean mayBeNull)
        +
        Description copied from interface: ValueFactory
        +
        Creates a new Value of the given type. The type must be a fully specified internal type for + primitives, classes, or arrays.
        +
        +
        Specified by:
        +
        createValue in interface ValueFactory
        +
        +
      • +
      + + + + + + + + + + + + + + + + + + + +
        +
      • +

        createLongValue

        +
        public LongValue createLongValue​(long value)
        +
        Description copied from interface: ValueFactory
        +
        Creates a new LongValue with a given particular value.
        +
        +
        Specified by:
        +
        createLongValue in interface ValueFactory
        +
        +
      • +
      + + + + + + + +
        +
      • +

        createFloatValue

        +
        public FloatValue createFloatValue​(float value)
        +
        Description copied from interface: ValueFactory
        +
        Creates a new FloatValue with a given particular value.
        +
        +
        Specified by:
        +
        createFloatValue in interface ValueFactory
        +
        +
      • +
      + + + + + + + + + + + + + + + + + + + +
        +
      • +

        createReferenceValue

        +
        public ReferenceValue createReferenceValue​(java.lang.String type,
        +                                           Clazz referencedClass,
        +                                           boolean mayBeExtension,
        +                                           boolean mayBeNull)
        +
        Description copied from interface: ValueFactory
        +
        Creates a new ReferenceValue that represents the given type. The type must be an internal class + name or an array type. If the type is null, the ReferenceValue represents + null.
        +
        +
        Specified by:
        +
        createReferenceValue in interface ValueFactory
        +
        +
      • +
      + + + + + + + +
        +
      • +

        createReferenceValue

        +
        public ReferenceValue createReferenceValue​(Clazz referencedClass,
        +                                           boolean mayBeExtension,
        +                                           boolean mayBeNull,
        +                                           @NotNull
        +                                           @NotNull AnalyzedObject value)
        +
        Description copied from interface: ValueFactory
        +
        Creates a new ReferenceValue that represents the given type. The type must be an internal class + name or an array type. If the type is null, the ReferenceValue represents + null. + +

        The object wrapped by AnalyzedObject is either the value of the reference during + execution or a Model of it.

        +
        +
        Specified by:
        +
        createReferenceValue in interface ValueFactory
        +
        +
      • +
      + + + +
        +
      • +

        createReferenceValue

        +
        public ReferenceValue createReferenceValue​(java.lang.String type,
        +                                           Clazz referencedClass,
        +                                           boolean mayBeExtension,
        +                                           boolean mayBeNull,
        +                                           Clazz creationClass,
        +                                           Method creationMethod,
        +                                           int creationOffset)
        +
        Description copied from interface: ValueFactory
        +
        Creates a new ReferenceValue that represents the given type, created at the specified code + location. The type must be an internal class name or an array type. If the type is null + , the ReferenceValue represents null.
        +
        +
        Specified by:
        +
        createReferenceValue in interface ValueFactory
        +
        +
      • +
      + + + + + + + +
        +
      • +

        createReferenceValue

        +
        public ReferenceValue createReferenceValue​(Clazz referencedClass,
        +                                           boolean mayBeExtension,
        +                                           boolean mayBeNull,
        +                                           CodeLocation creationLocation,
        +                                           @NotNull
        +                                           @NotNull AnalyzedObject value)
        +
        Description copied from interface: ValueFactory
        +
        Creates a new ReferenceValue that represents the given type, created at the specified code + location. The type must be an internal class name or an array type. If the type is null + , the ReferenceValue represents null. + +

        The object wrapped by AnalyzedObject is either the value of the reference during + execution or a Model of it.

        +
        +
        Specified by:
        +
        createReferenceValue in interface ValueFactory
        +
        +
      • +
      + + + +
        +
      • +

        createReferenceValueForId

        +
        public ReferenceValue createReferenceValueForId​(java.lang.String type,
        +                                                Clazz referencedClass,
        +                                                boolean mayBeExtension,
        +                                                boolean mayBeNull,
        +                                                java.lang.Object id)
        +
        Description copied from interface: ValueFactory
        +
        Creates a new ReferenceValue that represents the given type with a specified ID. The type must + be an internal class name or an array type. If the type is null, the + ReferenceValue represents null.
        +
        +
        Specified by:
        +
        createReferenceValueForId in interface ValueFactory
        +
        +
      • +
      + + + + + + + +
        +
      • +

        createReferenceValueForId

        +
        public ReferenceValue createReferenceValueForId​(Clazz referencedClass,
        +                                                boolean mayBeExtension,
        +                                                boolean mayBeNull,
        +                                                java.lang.Object id,
        +                                                @NotNull
        +                                                @NotNull AnalyzedObject value)
        +
        Description copied from interface: ValueFactory
        +
        Creates a new ReferenceValue that represents the given type with a specified ID. The type must + be an internal class name or an array type. If the type is null, the + ReferenceValue represents null. + +

        The object wrapped by AnalyzedObject is either the value of the reference during + execution or a Model of it.

        +
        +
        Specified by:
        +
        createReferenceValueForId in interface ValueFactory
        +
        +
      • +
      + + + +
        +
      • +

        createArrayReferenceValue

        +
        public ReferenceValue createArrayReferenceValue​(java.lang.String type,
        +                                                Clazz referencedClass,
        +                                                IntegerValue arrayLength)
        +
        Description copied from interface: ValueFactory
        +
        Creates a new ReferenceValue that represents a non-null array with elements of the given type, + with the given length.
        +
        +
        Specified by:
        +
        createArrayReferenceValue in interface ValueFactory
        +
        +
      • +
      + + + +
        +
      • +

        createArrayReferenceValue

        +
        public ReferenceValue createArrayReferenceValue​(java.lang.String type,
        +                                                Clazz referencedClass,
        +                                                IntegerValue arrayLength,
        +                                                java.lang.Object elementValues)
        +
        Description copied from interface: ValueFactory
        +
        Creates a new ReferenceValue that represents a non-null array with elements of the given type, + with the given length and initial element values.
        +
        +
        Specified by:
        +
        createArrayReferenceValue in interface ValueFactory
        +
        +
      • +
      + + + +
        +
      • +

        checkReferenceValue

        +
        protected static void checkReferenceValue​(AnalyzedObject value)
        +
      • +
      + + + +
        +
      • +

        checkCreationLocation

        +
        protected static void checkCreationLocation​(CodeLocation creationLocation)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/Category1Value.html b/api/proguard/evaluation/value/Category1Value.html new file mode 100644 index 000000000..ce7da990d --- /dev/null +++ b/api/proguard/evaluation/value/Category1Value.html @@ -0,0 +1,369 @@ + + + + + +Category1Value (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Category1Value

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Category1Value

        +
        public Category1Value()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        category1Value

        +
        public final Category1Value category1Value()
        +
        Description copied from class: Value
        +
        Returns this Value as a Category1Value.
        +
        +
        Overrides:
        +
        category1Value in class Value
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public final boolean isCategory2()
        +
        Description copied from class: Value
        +
        Returns whether the computational type of this Value is a category 2 type. This means that it + takes up the space of two category 1 types on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Value
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/Category2Value.html b/api/proguard/evaluation/value/Category2Value.html new file mode 100644 index 000000000..29165b677 --- /dev/null +++ b/api/proguard/evaluation/value/Category2Value.html @@ -0,0 +1,369 @@ + + + + + +Category2Value (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Category2Value

+
+
+ +
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    DoubleValue, LongValue
    +
    +
    +
    public abstract class Category2Value
    +extends Value
    +
    This abstract class represents a partially evaluated Category 2 value.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Category2Value

        +
        public Category2Value()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        category2Value

        +
        public final Category2Value category2Value()
        +
        Description copied from class: Value
        +
        Returns this Value as a Category2Value.
        +
        +
        Overrides:
        +
        category2Value in class Value
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public final boolean isCategory2()
        +
        Description copied from class: Value
        +
        Returns whether the computational type of this Value is a category 2 type. This means that it + takes up the space of two category 1 types on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Value
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ComparisonValue.html b/api/proguard/evaluation/value/ComparisonValue.html new file mode 100644 index 000000000..32a535176 --- /dev/null +++ b/api/proguard/evaluation/value/ComparisonValue.html @@ -0,0 +1,415 @@ + + + + + +ComparisonValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ComparisonValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ComparisonValue

        +
        public ComparisonValue​(Value value1,
        +                       Value value2)
        +
        Creates a new comparison integer value of the two given scalar values.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/CompositeDoubleValue.html b/api/proguard/evaluation/value/CompositeDoubleValue.html new file mode 100644 index 000000000..4b33890fb --- /dev/null +++ b/api/proguard/evaluation/value/CompositeDoubleValue.html @@ -0,0 +1,525 @@ + + + + + +CompositeDoubleValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CompositeDoubleValue

+
+
+ +
+
    +
  • +
    +
    public final class CompositeDoubleValue
    +extends SpecificDoubleValue
    +
    This DoubleValue represents the result of a binary operation on two double values.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CompositeDoubleValue

        +
        public CompositeDoubleValue​(DoubleValue doubleValue1,
        +                            byte operation,
        +                            DoubleValue doubleValue2)
        +
        Creates a new composite double value of the two given double values and the given operation.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/CompositeFloatValue.html b/api/proguard/evaluation/value/CompositeFloatValue.html new file mode 100644 index 000000000..84234cb43 --- /dev/null +++ b/api/proguard/evaluation/value/CompositeFloatValue.html @@ -0,0 +1,525 @@ + + + + + +CompositeFloatValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CompositeFloatValue

+
+
+ +
+
    +
  • +
    +
    public final class CompositeFloatValue
    +extends SpecificFloatValue
    +
    This FloatValue represents the result of a binary operation on two float values.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CompositeFloatValue

        +
        public CompositeFloatValue​(FloatValue floatValue1,
        +                           byte operation,
        +                           FloatValue floatValue2)
        +
        Creates a new composite float value of the two given float values and the given operation.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class SpecificFloatValue
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/CompositeIntegerValue.html b/api/proguard/evaluation/value/CompositeIntegerValue.html new file mode 100644 index 000000000..19963cc8d --- /dev/null +++ b/api/proguard/evaluation/value/CompositeIntegerValue.html @@ -0,0 +1,633 @@ + + + + + +CompositeIntegerValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CompositeIntegerValue

+
+
+ +
+
    +
  • +
    +
    public final class CompositeIntegerValue
    +extends SpecificIntegerValue
    +
    This IntegerValue represents the result of a binary operation on two integer values.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/CompositeLongValue.html b/api/proguard/evaluation/value/CompositeLongValue.html new file mode 100644 index 000000000..e369ac074 --- /dev/null +++ b/api/proguard/evaluation/value/CompositeLongValue.html @@ -0,0 +1,633 @@ + + + + + +CompositeLongValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CompositeLongValue

+
+
+ +
+
    +
  • +
    +
    public final class CompositeLongValue
    +extends SpecificLongValue
    +
    This LongValue represents the result of a binary operation on two long values.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ConvertedByteValue.html b/api/proguard/evaluation/value/ConvertedByteValue.html new file mode 100644 index 000000000..41961a246 --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedByteValue.html @@ -0,0 +1,413 @@ + + + + + +ConvertedByteValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConvertedByteValue

+
+
+ +
+
    +
  • +
    +
    public final class ConvertedByteValue
    +extends SpecificIntegerValue
    +
    This IntegerValue represents a byte value that is converted from an integer value.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConvertedByteValue

        +
        public ConvertedByteValue​(IntegerValue value)
        +
        Creates a new converted byte value of the given integer value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ConvertedCharacterValue.html b/api/proguard/evaluation/value/ConvertedCharacterValue.html new file mode 100644 index 000000000..7abfb915a --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedCharacterValue.html @@ -0,0 +1,413 @@ + + + + + +ConvertedCharacterValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConvertedCharacterValue

+
+
+ +
+
    +
  • +
    +
    public final class ConvertedCharacterValue
    +extends SpecificIntegerValue
    +
    This IntegerValue represents a character value that is converted from an integer value.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConvertedCharacterValue

        +
        public ConvertedCharacterValue​(IntegerValue value)
        +
        Creates a new converted character value of the given integer value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ConvertedDoubleValue.html b/api/proguard/evaluation/value/ConvertedDoubleValue.html new file mode 100644 index 000000000..9c618d1ba --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedDoubleValue.html @@ -0,0 +1,413 @@ + + + + + +ConvertedDoubleValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConvertedDoubleValue

+
+
+ +
+
    +
  • +
    +
    public final class ConvertedDoubleValue
    +extends SpecificDoubleValue
    +
    This DoubleValue represents a double value that is converted from another scalar value.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConvertedDoubleValue

        +
        public ConvertedDoubleValue​(Value value)
        +
        Creates a new converted double value of the given value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ConvertedFloatValue.html b/api/proguard/evaluation/value/ConvertedFloatValue.html new file mode 100644 index 000000000..d992dad96 --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedFloatValue.html @@ -0,0 +1,413 @@ + + + + + +ConvertedFloatValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConvertedFloatValue

+
+
+ +
+
    +
  • +
    +
    public final class ConvertedFloatValue
    +extends SpecificFloatValue
    +
    This FloatValue represents a float value that is converted from another scalar value.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConvertedFloatValue

        +
        public ConvertedFloatValue​(Value value)
        +
        Creates a new converted float value of the given value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class SpecificFloatValue
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ConvertedIntegerValue.html b/api/proguard/evaluation/value/ConvertedIntegerValue.html new file mode 100644 index 000000000..f5fcdb769 --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedIntegerValue.html @@ -0,0 +1,413 @@ + + + + + +ConvertedIntegerValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConvertedIntegerValue

+
+
+ +
+
    +
  • +
    +
    public final class ConvertedIntegerValue
    +extends SpecificIntegerValue
    +
    This IntegerValue represents a integer value that is converted from another scalar value.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConvertedIntegerValue

        +
        public ConvertedIntegerValue​(Value value)
        +
        Creates a new converted integer value of the given value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ConvertedLongValue.html b/api/proguard/evaluation/value/ConvertedLongValue.html new file mode 100644 index 000000000..49c6b7ab9 --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedLongValue.html @@ -0,0 +1,413 @@ + + + + + +ConvertedLongValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConvertedLongValue

+
+
+ +
+
    +
  • +
    +
    public final class ConvertedLongValue
    +extends SpecificLongValue
    +
    This LongValue represents a long value that is converted from another scalar value.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConvertedLongValue

        +
        public ConvertedLongValue​(Value value)
        +
        Creates a new converted long value of the given value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class SpecificLongValue
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ConvertedShortValue.html b/api/proguard/evaluation/value/ConvertedShortValue.html new file mode 100644 index 000000000..0ff450d35 --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedShortValue.html @@ -0,0 +1,413 @@ + + + + + +ConvertedShortValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConvertedShortValue

+
+
+ +
+
    +
  • +
    +
    public final class ConvertedShortValue
    +extends SpecificIntegerValue
    +
    This IntegerValue represents a short value that is converted from an integer value.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConvertedShortValue

        +
        public ConvertedShortValue​(IntegerValue value)
        +
        Creates a new converted short value of the given integer value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/DetailedArrayReferenceValue.html b/api/proguard/evaluation/value/DetailedArrayReferenceValue.html new file mode 100644 index 000000000..b5121bae4 --- /dev/null +++ b/api/proguard/evaluation/value/DetailedArrayReferenceValue.html @@ -0,0 +1,720 @@ + + + + + +DetailedArrayReferenceValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DetailedArrayReferenceValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/value/DetailedArrayValueFactory.html b/api/proguard/evaluation/value/DetailedArrayValueFactory.html new file mode 100644 index 000000000..204fd275f --- /dev/null +++ b/api/proguard/evaluation/value/DetailedArrayValueFactory.html @@ -0,0 +1,448 @@ + + + + + +DetailedArrayValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DetailedArrayValueFactory

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ValueFactory
    +
    +
    +
    public class DetailedArrayValueFactory
    +extends IdentifiedValueFactory
    +
    This identified value factory creates array reference values that also represent their elements, + in as far as possible.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DetailedArrayValueFactory

        +
        @Deprecated
        +public DetailedArrayValueFactory()
        +
        Deprecated.
        +
        Creates a new DetailedArrayValueFactory, which does not track reference values.
        +
      • +
      + + + +
        +
      • +

        DetailedArrayValueFactory

        +
        public DetailedArrayValueFactory​(ValueFactory referenceValueFactory)
        +
        Creates a new DetailedArrayValueFactory, which uses the given value factory for non-array + reference construction.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/DoubleValue.html b/api/proguard/evaluation/value/DoubleValue.html new file mode 100644 index 000000000..19b33e58c --- /dev/null +++ b/api/proguard/evaluation/value/DoubleValue.html @@ -0,0 +1,1091 @@ + + + + + +DoubleValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DoubleValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DoubleValue

        +
        public DoubleValue()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        value

        +
        public double value()
        +
        Returns the specific double value, if applicable.
        +
      • +
      + + + +
        +
      • +

        negate

        +
        public abstract DoubleValue negate()
        +
        Returns the negated value of this DoubleValue.
        +
      • +
      + + + +
        +
      • +

        convertToInteger

        +
        public abstract IntegerValue convertToInteger()
        +
        Converts this DoubleValue to an IntegerValue.
        +
      • +
      + + + +
        +
      • +

        convertToLong

        +
        public abstract LongValue convertToLong()
        +
        Converts this DoubleValue to a LongValue.
        +
      • +
      + + + +
        +
      • +

        convertToFloat

        +
        public abstract FloatValue convertToFloat()
        +
        Converts this DoubleValue to a FloatValue.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public abstract DoubleValue generalize​(DoubleValue other)
        +
        Returns the generalization of this DoubleValue and the given other DoubleValue.
        +
      • +
      + + + +
        +
      • +

        add

        +
        public abstract DoubleValue add​(DoubleValue other)
        +
        Returns the sum of this DoubleValue and the given DoubleValue.
        +
      • +
      + + + +
        +
      • +

        subtract

        +
        public abstract DoubleValue subtract​(DoubleValue other)
        +
        Returns the difference of this DoubleValue and the given DoubleValue.
        +
      • +
      + + + +
        +
      • +

        subtractFrom

        +
        public abstract DoubleValue subtractFrom​(DoubleValue other)
        +
        Returns the difference of the given DoubleValue and this DoubleValue.
        +
      • +
      + + + +
        +
      • +

        multiply

        +
        public abstract DoubleValue multiply​(DoubleValue other)
        +
        Returns the product of this DoubleValue and the given DoubleValue.
        +
      • +
      + + + +
        +
      • +

        divide

        +
        public abstract DoubleValue divide​(DoubleValue other)
        +
        Returns the quotient of this DoubleValue and the given DoubleValue.
        +
      • +
      + + + +
        +
      • +

        divideOf

        +
        public abstract DoubleValue divideOf​(DoubleValue other)
        +
        Returns the quotient of the given DoubleValue and this DoubleValue.
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public abstract DoubleValue remainder​(DoubleValue other)
        +
        Returns the remainder of this DoubleValue divided by the given DoubleValue.
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public abstract DoubleValue remainderOf​(DoubleValue other)
        +
        Returns the remainder of the given DoubleValue divided by this DoubleValue.
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public abstract IntegerValue compare​(DoubleValue other)
        +
        Returns an IntegerValue with value -1, 0, or 1, if this DoubleValue is less than, equal to, or + greater than the given DoubleValue, respectively.
        +
      • +
      + + + +
        +
      • +

        compareReverse

        +
        public final IntegerValue compareReverse​(DoubleValue other)
        +
        Returns an IntegerValue with value 1, 0, or -1, if this DoubleValue is less than, equal to, or + greater than the given DoubleValue, respectively.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public DoubleValue generalize​(SpecificDoubleValue other)
        +
        Returns the generalization of this DoubleValue and the given other SpecificDoubleValue.
        +
      • +
      + + + + + + + +
        +
      • +

        subtract

        +
        public DoubleValue subtract​(SpecificDoubleValue other)
        +
        Returns the difference of this DoubleValue and the given SpecificDoubleValue.
        +
      • +
      + + + +
        +
      • +

        subtractFrom

        +
        public DoubleValue subtractFrom​(SpecificDoubleValue other)
        +
        Returns the difference of the given SpecificDoubleValue and this DoubleValue.
        +
      • +
      + + + +
        +
      • +

        multiply

        +
        public DoubleValue multiply​(SpecificDoubleValue other)
        +
        Returns the product of this DoubleValue and the given SpecificDoubleValue.
        +
      • +
      + + + +
        +
      • +

        divide

        +
        public DoubleValue divide​(SpecificDoubleValue other)
        +
        Returns the quotient of this DoubleValue and the given SpecificDoubleValue.
        +
      • +
      + + + +
        +
      • +

        divideOf

        +
        public DoubleValue divideOf​(SpecificDoubleValue other)
        +
        Returns the quotient of the given SpecificDoubleValue and this DoubleValue.
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public DoubleValue remainder​(SpecificDoubleValue other)
        +
        Returns the remainder of this DoubleValue divided by the given SpecificDoubleValue.
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public DoubleValue remainderOf​(SpecificDoubleValue other)
        +
        Returns the remainder of the given SpecificDoubleValue and this DoubleValue.
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public IntegerValue compare​(SpecificDoubleValue other)
        +
        Returns an IntegerValue with value -1, 0, or 1, if this DoubleValue is less than, equal to, or + greater than the given SpecificDoubleValue, respectively.
        +
      • +
      + + + +
        +
      • +

        compareReverse

        +
        public final IntegerValue compareReverse​(SpecificDoubleValue other)
        +
        Returns an IntegerValue with value 1, 0, or -1, if this DoubleValue is less than, equal to, or + greater than the given SpecificDoubleValue, respectively.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public DoubleValue generalize​(ParticularDoubleValue other)
        +
        Returns the generalization of this DoubleValue and the given other ParticularDoubleValue.
        +
      • +
      + + + + + + + +
        +
      • +

        subtract

        +
        public DoubleValue subtract​(ParticularDoubleValue other)
        +
        Returns the difference of this DoubleValue and the given ParticularDoubleValue.
        +
      • +
      + + + +
        +
      • +

        subtractFrom

        +
        public DoubleValue subtractFrom​(ParticularDoubleValue other)
        +
        Returns the difference of the given ParticularDoubleValue and this DoubleValue.
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        remainder

        +
        public DoubleValue remainder​(ParticularDoubleValue other)
        +
        Returns the remainder of this DoubleValue divided by the given ParticularDoubleValue.
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public DoubleValue remainderOf​(ParticularDoubleValue other)
        +
        Returns the remainder of the given ParticularDoubleValue and this DoubleValue.
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public IntegerValue compare​(ParticularDoubleValue other)
        +
        Returns an IntegerValue with value -1, 0, or 1, if this DoubleValue is less than, equal to, or + greater than the given ParticularDoubleValue, respectively.
        +
      • +
      + + + +
        +
      • +

        compareReverse

        +
        public final IntegerValue compareReverse​(ParticularDoubleValue other)
        +
        Returns an IntegerValue with value 1, 0, or -1, if this DoubleValue is less than, equal to, or + greater than the given ParticularDoubleValue, respectively.
        +
      • +
      + + + +
        +
      • +

        doubleValue

        +
        public final DoubleValue doubleValue()
        +
        Description copied from class: Value
        +
        Returns this Value as a DoubleValue.
        +
        +
        Overrides:
        +
        doubleValue in class Value
        +
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public final Value generalize​(Value other)
        +
        Description copied from class: Value
        +
        Returns the generalization of this Value and the given other Value.
        +
        +
        Specified by:
        +
        generalize in class Value
        +
        +
      • +
      + + + +
        +
      • +

        computationalType

        +
        public final int computationalType()
        +
        Description copied from class: Value
        +
        Returns the computational type of this Value.
        +
        +
        Specified by:
        +
        computationalType in class Value
        +
        Returns:
        +
        TYPE_INTEGER, TYPE_LONG, TYPE_FLOAT, + TYPE_DOUBLE, TYPE_REFERENCE, or TYPE_INSTRUCTION_OFFSET.
        +
        +
      • +
      + + + +
        +
      • +

        internalType

        +
        public final java.lang.String internalType()
        +
        Description copied from class: Value
        +
        Returns the internal type of this Value.
        +
        +
        Specified by:
        +
        internalType in class Value
        +
        Returns:
        +
        TypeConstants.BOOLEAN, TypeConstants.BYTE, + TypeConstants.CHAR, TypeConstants.SHORT, TypeConstants.INT + , TypeConstants.LONG, TypeConstants.FLOAT, + TypeConstants.DOUBLE, TypeConstants.CLASS_START ... TypeConstants.CLASS_END + , or an array type containing any of these types (always as String).
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/FloatValue.html b/api/proguard/evaluation/value/FloatValue.html new file mode 100644 index 000000000..30e5486fe --- /dev/null +++ b/api/proguard/evaluation/value/FloatValue.html @@ -0,0 +1,1091 @@ + + + + + +FloatValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FloatValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FloatValue

        +
        public FloatValue()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        value

        +
        public float value()
        +
        Returns the specific float value, if applicable.
        +
      • +
      + + + +
        +
      • +

        negate

        +
        public abstract FloatValue negate()
        +
        Returns the negated value of this FloatValue.
        +
      • +
      + + + +
        +
      • +

        convertToInteger

        +
        public abstract IntegerValue convertToInteger()
        +
        Converts this FloatValue to an IntegerValue.
        +
      • +
      + + + +
        +
      • +

        convertToLong

        +
        public abstract LongValue convertToLong()
        +
        Converts this FloatValue to a LongValue.
        +
      • +
      + + + +
        +
      • +

        convertToDouble

        +
        public abstract DoubleValue convertToDouble()
        +
        Converts this FloatValue to a DoubleValue.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public abstract FloatValue generalize​(FloatValue other)
        +
        Returns the generalization of this FloatValue and the given other FloatValue.
        +
      • +
      + + + +
        +
      • +

        add

        +
        public abstract FloatValue add​(FloatValue other)
        +
        Returns the sum of this FloatValue and the given FloatValue.
        +
      • +
      + + + +
        +
      • +

        subtract

        +
        public abstract FloatValue subtract​(FloatValue other)
        +
        Returns the difference of this FloatValue and the given FloatValue.
        +
      • +
      + + + +
        +
      • +

        subtractFrom

        +
        public abstract FloatValue subtractFrom​(FloatValue other)
        +
        Returns the difference of the given FloatValue and this FloatValue.
        +
      • +
      + + + +
        +
      • +

        multiply

        +
        public abstract FloatValue multiply​(FloatValue other)
        +
        Returns the product of this FloatValue and the given FloatValue.
        +
      • +
      + + + +
        +
      • +

        divide

        +
        public abstract FloatValue divide​(FloatValue other)
        +
        Returns the quotient of this FloatValue and the given FloatValue.
        +
      • +
      + + + +
        +
      • +

        divideOf

        +
        public abstract FloatValue divideOf​(FloatValue other)
        +
        Returns the quotient of the given FloatValue and this FloatValue.
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public abstract FloatValue remainder​(FloatValue other)
        +
        Returns the remainder of this FloatValue divided by the given FloatValue.
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public abstract FloatValue remainderOf​(FloatValue other)
        +
        Returns the remainder of the given FloatValue divided by this FloatValue.
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public abstract IntegerValue compare​(FloatValue other)
        +
        Returns an IntegerValue with value -1, 0, or 1, if this FloatValue is less than, equal to, or + greater than the given FloatValue, respectively.
        +
      • +
      + + + +
        +
      • +

        compareReverse

        +
        public final IntegerValue compareReverse​(FloatValue other)
        +
        Returns an IntegerValue with value 1, 0, or -1, if this FloatValue is less than, equal to, or + greater than the given FloatValue, respectively.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public FloatValue generalize​(SpecificFloatValue other)
        +
        Returns the generalization of this FloatValue and the given other SpecificFloatValue.
        +
      • +
      + + + + + + + +
        +
      • +

        subtract

        +
        public FloatValue subtract​(SpecificFloatValue other)
        +
        Returns the difference of this FloatValue and the given SpecificFloatValue.
        +
      • +
      + + + +
        +
      • +

        subtractFrom

        +
        public FloatValue subtractFrom​(SpecificFloatValue other)
        +
        Returns the difference of the given SpecificFloatValue and this FloatValue.
        +
      • +
      + + + +
        +
      • +

        multiply

        +
        public FloatValue multiply​(SpecificFloatValue other)
        +
        Returns the product of this FloatValue and the given SpecificFloatValue.
        +
      • +
      + + + +
        +
      • +

        divide

        +
        public FloatValue divide​(SpecificFloatValue other)
        +
        Returns the quotient of this FloatValue and the given SpecificFloatValue.
        +
      • +
      + + + +
        +
      • +

        divideOf

        +
        public FloatValue divideOf​(SpecificFloatValue other)
        +
        Returns the quotient of the given SpecificFloatValue and this FloatValue.
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public FloatValue remainder​(SpecificFloatValue other)
        +
        Returns the remainder of this FloatValue divided by the given SpecificFloatValue.
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public FloatValue remainderOf​(SpecificFloatValue other)
        +
        Returns the remainder of the given SpecificFloatValue and this FloatValue.
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public IntegerValue compare​(SpecificFloatValue other)
        +
        Returns an IntegerValue with value -1, 0, or 1, if this FloatValue is less than, equal to, or + greater than the given SpecificFloatValue, respectively.
        +
      • +
      + + + +
        +
      • +

        compareReverse

        +
        public final IntegerValue compareReverse​(SpecificFloatValue other)
        +
        Returns an IntegerValue with value 1, 0, or -1, if this FloatValue is less than, equal to, or + greater than the given SpecificFloatValue, respectively.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public FloatValue generalize​(ParticularFloatValue other)
        +
        Returns the generalization of this FloatValue and the given other ParticularFloatValue.
        +
      • +
      + + + + + + + +
        +
      • +

        subtract

        +
        public FloatValue subtract​(ParticularFloatValue other)
        +
        Returns the difference of this FloatValue and the given ParticularFloatValue.
        +
      • +
      + + + +
        +
      • +

        subtractFrom

        +
        public FloatValue subtractFrom​(ParticularFloatValue other)
        +
        Returns the difference of the given ParticularFloatValue and this FloatValue.
        +
      • +
      + + + +
        +
      • +

        multiply

        +
        public FloatValue multiply​(ParticularFloatValue other)
        +
        Returns the product of this FloatValue and the given ParticularFloatValue.
        +
      • +
      + + + +
        +
      • +

        divide

        +
        public FloatValue divide​(ParticularFloatValue other)
        +
        Returns the quotient of this FloatValue and the given ParticularFloatValue.
        +
      • +
      + + + +
        +
      • +

        divideOf

        +
        public FloatValue divideOf​(ParticularFloatValue other)
        +
        Returns the quotient of the given ParticularFloatValue and this FloatValue.
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public FloatValue remainder​(ParticularFloatValue other)
        +
        Returns the remainder of this FloatValue divided by the given ParticularFloatValue.
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public FloatValue remainderOf​(ParticularFloatValue other)
        +
        Returns the remainder of the given ParticularFloatValue and this FloatValue.
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public IntegerValue compare​(ParticularFloatValue other)
        +
        Returns an IntegerValue with value -1, 0, or 1, if this FloatValue is less than, equal to, or + greater than the given ParticularFloatValue, respectively.
        +
      • +
      + + + +
        +
      • +

        compareReverse

        +
        public final IntegerValue compareReverse​(ParticularFloatValue other)
        +
        Returns an IntegerValue with value 1, 0, or -1, if this FloatValue is less than, equal to, or + greater than the given ParticularFloatValue, respectively.
        +
      • +
      + + + +
        +
      • +

        floatValue

        +
        public final FloatValue floatValue()
        +
        Description copied from class: Value
        +
        Returns this Value as a FloatValue.
        +
        +
        Overrides:
        +
        floatValue in class Value
        +
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public final Value generalize​(Value other)
        +
        Description copied from class: Value
        +
        Returns the generalization of this Value and the given other Value.
        +
        +
        Specified by:
        +
        generalize in class Value
        +
        +
      • +
      + + + +
        +
      • +

        computationalType

        +
        public final int computationalType()
        +
        Description copied from class: Value
        +
        Returns the computational type of this Value.
        +
        +
        Specified by:
        +
        computationalType in class Value
        +
        Returns:
        +
        TYPE_INTEGER, TYPE_LONG, TYPE_FLOAT, + TYPE_DOUBLE, TYPE_REFERENCE, or TYPE_INSTRUCTION_OFFSET.
        +
        +
      • +
      + + + +
        +
      • +

        internalType

        +
        public final java.lang.String internalType()
        +
        Description copied from class: Value
        +
        Returns the internal type of this Value.
        +
        +
        Specified by:
        +
        internalType in class Value
        +
        Returns:
        +
        TypeConstants.BOOLEAN, TypeConstants.BYTE, + TypeConstants.CHAR, TypeConstants.SHORT, TypeConstants.INT + , TypeConstants.LONG, TypeConstants.FLOAT, + TypeConstants.DOUBLE, TypeConstants.CLASS_START ... TypeConstants.CLASS_END + , or an array type containing any of these types (always as String).
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/IdentifiedArrayReferenceValue.html b/api/proguard/evaluation/value/IdentifiedArrayReferenceValue.html new file mode 100644 index 000000000..8fccdd301 --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedArrayReferenceValue.html @@ -0,0 +1,616 @@ + + + + + +IdentifiedArrayReferenceValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IdentifiedArrayReferenceValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/IdentifiedDoubleValue.html b/api/proguard/evaluation/value/IdentifiedDoubleValue.html new file mode 100644 index 000000000..d9253f5ba --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedDoubleValue.html @@ -0,0 +1,415 @@ + + + + + +IdentifiedDoubleValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IdentifiedDoubleValue

+
+
+ +
+
    +
  • +
    +
    public final class IdentifiedDoubleValue
    +extends SpecificDoubleValue
    +
    This DoubleValue represents a double value that is identified by a unique ID.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        IdentifiedDoubleValue

        +
        public IdentifiedDoubleValue​(ValueFactory valuefactory,
        +                             int id)
        +
        Creates a new double value with the given ID.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/IdentifiedFloatValue.html b/api/proguard/evaluation/value/IdentifiedFloatValue.html new file mode 100644 index 000000000..9a615d88d --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedFloatValue.html @@ -0,0 +1,415 @@ + + + + + +IdentifiedFloatValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IdentifiedFloatValue

+
+
+ +
+
    +
  • +
    +
    public final class IdentifiedFloatValue
    +extends SpecificFloatValue
    +
    This FloatValue represents a float value that is identified by a unique ID.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        IdentifiedFloatValue

        +
        public IdentifiedFloatValue​(ValueFactory valuefactory,
        +                            int id)
        +
        Creates a new float value with the given ID.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class SpecificFloatValue
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/IdentifiedIntegerValue.html b/api/proguard/evaluation/value/IdentifiedIntegerValue.html new file mode 100644 index 000000000..5ced9087e --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedIntegerValue.html @@ -0,0 +1,415 @@ + + + + + +IdentifiedIntegerValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IdentifiedIntegerValue

+
+
+ +
+
    +
  • +
    +
    public final class IdentifiedIntegerValue
    +extends SpecificIntegerValue
    +
    This IntegerValue represents a integer value that is identified by a unique ID.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        IdentifiedIntegerValue

        +
        public IdentifiedIntegerValue​(ValueFactory valuefactory,
        +                              int id)
        +
        Creates a new integer value with the given ID.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/IdentifiedLongValue.html b/api/proguard/evaluation/value/IdentifiedLongValue.html new file mode 100644 index 000000000..a9b650c0e --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedLongValue.html @@ -0,0 +1,415 @@ + + + + + +IdentifiedLongValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IdentifiedLongValue

+
+
+ +
+
    +
  • +
    +
    public final class IdentifiedLongValue
    +extends SpecificLongValue
    +
    This LongValue represents a long value that is identified by a unique ID.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        IdentifiedLongValue

        +
        public IdentifiedLongValue​(ValueFactory valuefactory,
        +                           int id)
        +
        Creates a new long value with the given ID.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class SpecificLongValue
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/IdentifiedReferenceValue.html b/api/proguard/evaluation/value/IdentifiedReferenceValue.html new file mode 100644 index 000000000..ce03b59e8 --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedReferenceValue.html @@ -0,0 +1,580 @@ + + + + + +IdentifiedReferenceValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IdentifiedReferenceValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        id

        +
        public final java.lang.Object id
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        IdentifiedReferenceValue

        +
        public IdentifiedReferenceValue​(java.lang.String type,
        +                                Clazz referencedClass,
        +                                boolean mayBeExtension,
        +                                boolean mayBeNull,
        +                                ValueFactory valuefactory,
        +                                java.lang.Object id)
        +
        Creates a new reference value with the given ID.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/IdentifiedValueFactory.html b/api/proguard/evaluation/value/IdentifiedValueFactory.html new file mode 100644 index 000000000..34e955b9f --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedValueFactory.html @@ -0,0 +1,754 @@ + + + + + +IdentifiedValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IdentifiedValueFactory

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/InitialValueFactory.html b/api/proguard/evaluation/value/InitialValueFactory.html new file mode 100644 index 000000000..6fb1a1e64 --- /dev/null +++ b/api/proguard/evaluation/value/InitialValueFactory.html @@ -0,0 +1,316 @@ + + + + + +InitialValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InitialValueFactory

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.value.InitialValueFactory
    • +
    +
  • +
+
+
    +
  • +
    +
    public class InitialValueFactory
    +extends java.lang.Object
    +
    This value factory creates initial values for fields and array elements, with the help of a given + value factory. Note that this class itself doesn't implement ValueFactory.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      InitialValueFactory​(ValueFactory valueFactory) +
      Creates a new InitialValueFactory.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      ValuecreateValue​(java.lang.String type) +
      Creates an initial value (0, 0L, 0.0f, 0.0, null) of the given type.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InitialValueFactory

        +
        public InitialValueFactory​(ValueFactory valueFactory)
        +
        Creates a new InitialValueFactory.
        +
        +
        Parameters:
        +
        valueFactory - the value factory that will actually create the values.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createValue

        +
        public Value createValue​(java.lang.String type)
        +
        Creates an initial value (0, 0L, 0.0f, 0.0, null) of the given type.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/InstructionOffsetValue.html b/api/proguard/evaluation/value/InstructionOffsetValue.html new file mode 100644 index 000000000..fc7cfcd9f --- /dev/null +++ b/api/proguard/evaluation/value/InstructionOffsetValue.html @@ -0,0 +1,970 @@ + + + + + +InstructionOffsetValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionOffsetValue

+
+
+ +
+
    +
  • +
    +
    public class InstructionOffsetValue
    +extends Category1Value
    +
    Representation of a partially evaluated instruction offset. It can contain 0 or more specific + instruction offsets. Each instruction offset can be flagged as an ordinary offset, a method + parameter, a method return value, a field value, a new instance value, or an exception handler.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InstructionOffsetValue

        +
        public InstructionOffsetValue​(int value)
        +
        Creates a new InstructionOffsetValue with the given instruction offset.
        +
      • +
      + + + +
        +
      • +

        InstructionOffsetValue

        +
        public InstructionOffsetValue​(int[] values)
        +
        Creates a new InstructionOffsetValue with the given list of instruction offsets.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        instructionOffsetCount

        +
        public int instructionOffsetCount()
        +
        Returns the number of instruction offsets of this value.
        +
      • +
      + + + +
        +
      • +

        instructionOffset

        +
        public int instructionOffset​(int index)
        +
        Returns the specified instruction offset of this value.
        +
      • +
      + + + +
        +
      • +

        contains

        +
        public boolean contains​(int value)
        +
        Returns whether the given value is present in this list of instruction offsets.
        +
      • +
      + + + +
        +
      • +

        minimumValue

        +
        public int minimumValue()
        +
        Returns the minimum value from this list of instruction offsets. Returns + Integer.MAX_VALUE if the list is empty.
        +
      • +
      + + + +
        +
      • +

        maximumValue

        +
        public int maximumValue()
        +
        Returns the maximum value from this list of instruction offsets. Returns + Integer.MIN_VALUE if the list is empty.
        +
      • +
      + + + +
        +
      • +

        isMethodParameter

        +
        public boolean isMethodParameter​(int index)
        +
        Returns whether the specified instruction offset corresponds to a method parameter.
        +
      • +
      + + + +
        +
      • +

        methodParameter

        +
        public int methodParameter​(int index)
        +
        Returns the specified method parameter (assuming it is one).
        +
      • +
      + + + +
        +
      • +

        isMethodReturnValue

        +
        public boolean isMethodReturnValue​(int index)
        +
        Returns whether the specified instruction offset corresponds to a method return value.
        +
      • +
      + + + +
        +
      • +

        isFieldValue

        +
        public boolean isFieldValue​(int index)
        +
        Returns whether the specified instruction offset corresponds to a field value.
        +
      • +
      + + + +
        +
      • +

        isNewinstance

        +
        public boolean isNewinstance​(int index)
        +
        Returns whether the specified instruction offset corresponds to a new instance.
        +
      • +
      + + + +
        +
      • +

        isCast

        +
        public boolean isCast​(int index)
        +
        Returns whether the specified instruction offset corresponds to a cast.
        +
      • +
      + + + +
        +
      • +

        isExceptionHandler

        +
        public boolean isExceptionHandler​(int index)
        +
        Returns whether the specified instruction offset corresponds to an exception handler.
        +
      • +
      + + + +
        +
      • +

        add

        +
        public InstructionOffsetValue add​(int value)
        +
        Returns an InstructionOffsetValue that contains the instructions offsets of this value and the + given instruction offset.
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public InstructionOffsetValue remove​(int value)
        +
        Returns an InstructionOffsetValue that contains the instructions offsets of this value but not + the given instruction offset.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public final InstructionOffsetValue generalize​(InstructionOffsetValue other)
        +
        Returns the generalization of this InstructionOffsetValue and the given other + InstructionOffsetValue. The values of the other InstructionOffsetValue are guaranteed to remain + at the end of the list, in the same order.
        +
      • +
      + + + + + + + +
        +
      • +

        isSpecific

        +
        public boolean isSpecific()
        +
        Description copied from class: Value
        +
        Returns whether this Value represents a single specific (but possibly unknown) value.
        +
        +
        Overrides:
        +
        isSpecific in class Value
        +
        +
      • +
      + + + +
        +
      • +

        isParticular

        +
        public boolean isParticular()
        +
        Description copied from class: Value
        +
        Returns whether this Value represents a single particular (known) value.
        +
        +
        Overrides:
        +
        isParticular in class Value
        +
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public final Value generalize​(Value other)
        +
        Description copied from class: Value
        +
        Returns the generalization of this Value and the given other Value.
        +
        +
        Specified by:
        +
        generalize in class Value
        +
        +
      • +
      + + + +
        +
      • +

        computationalType

        +
        public final int computationalType()
        +
        Description copied from class: Value
        +
        Returns the computational type of this Value.
        +
        +
        Specified by:
        +
        computationalType in class Value
        +
        Returns:
        +
        TYPE_INTEGER, TYPE_LONG, TYPE_FLOAT, + TYPE_DOUBLE, TYPE_REFERENCE, or TYPE_INSTRUCTION_OFFSET.
        +
        +
      • +
      + + + +
        +
      • +

        internalType

        +
        public final java.lang.String internalType()
        +
        Description copied from class: Value
        +
        Returns the internal type of this Value.
        +
        +
        Specified by:
        +
        internalType in class Value
        +
        Returns:
        +
        TypeConstants.BOOLEAN, TypeConstants.BYTE, + TypeConstants.CHAR, TypeConstants.SHORT, TypeConstants.INT + , TypeConstants.LONG, TypeConstants.FLOAT, + TypeConstants.DOUBLE, TypeConstants.CLASS_START ... TypeConstants.CLASS_END + , or an array type containing any of these types (always as String).
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/IntegerValue.html b/api/proguard/evaluation/value/IntegerValue.html new file mode 100644 index 000000000..607324266 --- /dev/null +++ b/api/proguard/evaluation/value/IntegerValue.html @@ -0,0 +1,2898 @@ + + + + + +IntegerValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IntegerValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        IntegerValue

        +
        public IntegerValue()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        value

        +
        public int value()
        +
        Returns the specific integer value, if applicable.
        +
      • +
      + + + +
        +
      • +

        negate

        +
        public abstract IntegerValue negate()
        +
        Returns the negated value of this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        convertToByte

        +
        public abstract IntegerValue convertToByte()
        +
        Converts this IntegerValue to a byte IntegerValue.
        +
      • +
      + + + +
        +
      • +

        convertToCharacter

        +
        public abstract IntegerValue convertToCharacter()
        +
        Converts this IntegerValue to a character IntegerValue.
        +
      • +
      + + + +
        +
      • +

        convertToShort

        +
        public abstract IntegerValue convertToShort()
        +
        Converts this IntegerValue to a short IntegerValue.
        +
      • +
      + + + +
        +
      • +

        convertToLong

        +
        public abstract LongValue convertToLong()
        +
        Converts this IntegerValue to a LongValue.
        +
      • +
      + + + +
        +
      • +

        convertToFloat

        +
        public abstract FloatValue convertToFloat()
        +
        Converts this IntegerValue to a FloatValue.
        +
      • +
      + + + +
        +
      • +

        convertToDouble

        +
        public abstract DoubleValue convertToDouble()
        +
        Converts this IntegerValue to a DoubleValue.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public abstract IntegerValue generalize​(IntegerValue other)
        +
        Returns the generalization of this IntegerValue and the given other IntegerValue.
        +
      • +
      + + + +
        +
      • +

        add

        +
        public abstract IntegerValue add​(IntegerValue other)
        +
        Returns the sum of this IntegerValue and the given IntegerValue.
        +
      • +
      + + + +
        +
      • +

        subtract

        +
        public abstract IntegerValue subtract​(IntegerValue other)
        +
        Returns the difference of this IntegerValue and the given IntegerValue.
        +
      • +
      + + + +
        +
      • +

        subtractFrom

        +
        public abstract IntegerValue subtractFrom​(IntegerValue other)
        +
        Returns the difference of the given IntegerValue and this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        multiply

        +
        public abstract IntegerValue multiply​(IntegerValue other)
        +                               throws java.lang.ArithmeticException
        +
        Returns the product of this IntegerValue and the given IntegerValue.
        +
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        divide

        +
        public abstract IntegerValue divide​(IntegerValue other)
        +                             throws java.lang.ArithmeticException
        +
        Returns the quotient of this IntegerValue and the given IntegerValue.
        +
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        divideOf

        +
        public abstract IntegerValue divideOf​(IntegerValue other)
        +                               throws java.lang.ArithmeticException
        +
        Returns the quotient of the given IntegerValue and this IntegerValue.
        +
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public abstract IntegerValue remainder​(IntegerValue other)
        +                                throws java.lang.ArithmeticException
        +
        Returns the remainder of this IntegerValue divided by the given IntegerValue.
        +
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public abstract IntegerValue remainderOf​(IntegerValue other)
        +                                  throws java.lang.ArithmeticException
        +
        Returns the remainder of the given IntegerValue divided by this IntegerValue.
        +
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        shiftLeft

        +
        public abstract IntegerValue shiftLeft​(IntegerValue other)
        +
        Returns this IntegerValue, shifted left by the given IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftRight

        +
        public abstract IntegerValue shiftRight​(IntegerValue other)
        +
        Returns this IntegerValue, shifted right by the given IntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRight

        +
        public abstract IntegerValue unsignedShiftRight​(IntegerValue other)
        +
        Returns this unsigned IntegerValue, shifted left by the given IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftLeftOf

        +
        public abstract IntegerValue shiftLeftOf​(IntegerValue other)
        +
        Returns the given IntegerValue, shifted left by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftRightOf

        +
        public abstract IntegerValue shiftRightOf​(IntegerValue other)
        +
        Returns the given IntegerValue, shifted right by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRightOf

        +
        public abstract IntegerValue unsignedShiftRightOf​(IntegerValue other)
        +
        Returns the given unsigned IntegerValue, shifted left by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftLeftOf

        +
        public abstract LongValue shiftLeftOf​(LongValue other)
        +
        Returns the given LongValue, shifted left by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftRightOf

        +
        public abstract LongValue shiftRightOf​(LongValue other)
        +
        Returns the given LongValue, shifted right by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRightOf

        +
        public abstract LongValue unsignedShiftRightOf​(LongValue other)
        +
        Returns the given unsigned LongValue, shifted right by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        and

        +
        public abstract IntegerValue and​(IntegerValue other)
        +
        Returns the logical and of this IntegerValue and the given IntegerValue.
        +
      • +
      + + + +
        +
      • +

        or

        +
        public abstract IntegerValue or​(IntegerValue other)
        +
        Returns the logical or of this IntegerValue and the given IntegerValue.
        +
      • +
      + + + +
        +
      • +

        xor

        +
        public abstract IntegerValue xor​(IntegerValue other)
        +
        Returns the logical xor of this IntegerValue and the given IntegerValue.
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public abstract int equal​(IntegerValue other)
        +
        Returns whether this IntegerValue and the given IntegerValue are equal: NEVER, + MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        lessThan

        +
        public abstract int lessThan​(IntegerValue other)
        +
        Returns whether this IntegerValue is less than the given IntegerValue: NEVER, + MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        lessThanOrEqual

        +
        public abstract int lessThanOrEqual​(IntegerValue other)
        +
        Returns whether this IntegerValue is less than or equal to the given IntegerValue: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        notEqual

        +
        public final int notEqual​(IntegerValue other)
        +
        Returns whether this IntegerValue and the given IntegerValue are different: NEVER, + MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        greaterThan

        +
        public final int greaterThan​(IntegerValue other)
        +
        Returns whether this IntegerValue is greater than the given IntegerValue: NEVER, + MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        greaterThanOrEqual

        +
        public final int greaterThanOrEqual​(IntegerValue other)
        +
        Returns whether this IntegerValue is greater than or equal to the given IntegerValue: + NEVER, MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public IntegerValue generalize​(UnknownIntegerValue other)
        +
        Returns the generalization of this IntegerValue and the given other UnknownIntegerValue.
        +
      • +
      + + + + + + + +
        +
      • +

        subtract

        +
        public IntegerValue subtract​(UnknownIntegerValue other)
        +
        Returns the difference of this IntegerValue and the given UnknownIntegerValue.
        +
      • +
      + + + +
        +
      • +

        subtractFrom

        +
        public IntegerValue subtractFrom​(UnknownIntegerValue other)
        +
        Returns the difference of the given UnknownIntegerValue and this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        multiply

        +
        public IntegerValue multiply​(UnknownIntegerValue other)
        +
        Returns the product of this IntegerValue and the given UnknownIntegerValue.
        +
      • +
      + + + + + + + +
        +
      • +

        divideOf

        +
        public IntegerValue divideOf​(UnknownIntegerValue other)
        +
        Returns the quotient of the given UnknownIntegerValue and this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public IntegerValue remainder​(UnknownIntegerValue other)
        +
        Returns the remainder of this IntegerValue divided by the given UnknownIntegerValue.
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public IntegerValue remainderOf​(UnknownIntegerValue other)
        +
        Returns the remainder of the given UnknownIntegerValue divided by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftLeft

        +
        public IntegerValue shiftLeft​(UnknownIntegerValue other)
        +
        Returns this IntegerValue, shifted left by the given UnknownIntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftRight

        +
        public IntegerValue shiftRight​(UnknownIntegerValue other)
        +
        Returns this IntegerValue, shifted right by the given UnknownIntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRight

        +
        public IntegerValue unsignedShiftRight​(UnknownIntegerValue other)
        +
        Returns this unsigned IntegerValue, shifted right by the given UnknownIntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftLeftOf

        +
        public IntegerValue shiftLeftOf​(UnknownIntegerValue other)
        +
        Returns the given UnknownIntegerValue, shifted left by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftRightOf

        +
        public IntegerValue shiftRightOf​(UnknownIntegerValue other)
        +
        Returns the given UnknownIntegerValue, shifted right by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRightOf

        +
        public IntegerValue unsignedShiftRightOf​(UnknownIntegerValue other)
        +
        Returns the given unsigned UnknownIntegerValue, shifted right by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftLeftOf

        +
        public LongValue shiftLeftOf​(UnknownLongValue other)
        +
        Returns the given UnknownLongValue, shifted left by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftRightOf

        +
        public LongValue shiftRightOf​(UnknownLongValue other)
        +
        Returns the given UnknownLongValue, shifted right by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRightOf

        +
        public LongValue unsignedShiftRightOf​(UnknownLongValue other)
        +
        Returns the given unsigned UnknownLongValue, shifted right by this IntegerValue.
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        equal

        +
        public int equal​(UnknownIntegerValue other)
        +
        Returns whether this IntegerValue and the given UnknownIntegerValue are equal: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        lessThan

        +
        public int lessThan​(UnknownIntegerValue other)
        +
        Returns whether this IntegerValue is less than the given UnknownIntegerValue: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        lessThanOrEqual

        +
        public int lessThanOrEqual​(UnknownIntegerValue other)
        +
        Returns whether this IntegerValue is less than or equal to the given UnknownIntegerValue: + NEVER, MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        notEqual

        +
        public final int notEqual​(UnknownIntegerValue other)
        +
        Returns whether this IntegerValue and the given UnknownIntegerValue are different: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        greaterThan

        +
        public final int greaterThan​(UnknownIntegerValue other)
        +
        Returns whether this IntegerValue is greater than the given UnknownIntegerValue: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        greaterThanOrEqual

        +
        public final int greaterThanOrEqual​(UnknownIntegerValue other)
        +
        Returns whether this IntegerValue is greater than or equal to the given UnknownIntegerValue: + NEVER, MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public IntegerValue generalize​(SpecificIntegerValue other)
        +
        Returns the generalization of this IntegerValue and the given other SpecificIntegerValue.
        +
      • +
      + + + + + + + +
        +
      • +

        subtract

        +
        public IntegerValue subtract​(SpecificIntegerValue other)
        +
        Returns the difference of this IntegerValue and the given SpecificIntegerValue.
        +
      • +
      + + + +
        +
      • +

        subtractFrom

        +
        public IntegerValue subtractFrom​(SpecificIntegerValue other)
        +
        Returns the difference of the given SpecificIntegerValue and this IntegerValue.
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        remainder

        +
        public IntegerValue remainder​(SpecificIntegerValue other)
        +
        Returns the remainder of this IntegerValue divided by the given SpecificIntegerValue.
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public IntegerValue remainderOf​(SpecificIntegerValue other)
        +
        Returns the remainder of the given SpecificIntegerValue divided by this IntegerValue.
        +
      • +
      + + + + + + + +
        +
      • +

        shiftRight

        +
        public IntegerValue shiftRight​(SpecificIntegerValue other)
        +
        Returns this IntegerValue, shifted right by the given SpecificIntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRight

        +
        public IntegerValue unsignedShiftRight​(SpecificIntegerValue other)
        +
        Returns this unsigned IntegerValue, shifted right by the given SpecificIntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftLeftOf

        +
        public IntegerValue shiftLeftOf​(SpecificIntegerValue other)
        +
        Returns the given SpecificIntegerValue, shifted left by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftRightOf

        +
        public IntegerValue shiftRightOf​(SpecificIntegerValue other)
        +
        Returns the given SpecificIntegerValue, shifted right by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRightOf

        +
        public IntegerValue unsignedShiftRightOf​(SpecificIntegerValue other)
        +
        Returns the given unsigned SpecificIntegerValue, shifted right by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftLeftOf

        +
        public LongValue shiftLeftOf​(SpecificLongValue other)
        +
        Returns the given SpecificLongValue, shifted left by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftRightOf

        +
        public LongValue shiftRightOf​(SpecificLongValue other)
        +
        Returns the given SpecificLongValue, shifted right by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRightOf

        +
        public LongValue unsignedShiftRightOf​(SpecificLongValue other)
        +
        Returns the given unsigned SpecificLongValue, shifted right by this IntegerValue.
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        equal

        +
        public int equal​(SpecificIntegerValue other)
        +
        Returns whether this IntegerValue and the given SpecificIntegerValue are equal: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        lessThan

        +
        public int lessThan​(SpecificIntegerValue other)
        +
        Returns whether this IntegerValue is less than the given SpecificIntegerValue: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        lessThanOrEqual

        +
        public int lessThanOrEqual​(SpecificIntegerValue other)
        +
        Returns whether this IntegerValue is less than or equal to the given SpecificIntegerValue: + NEVER, MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        notEqual

        +
        public final int notEqual​(SpecificIntegerValue other)
        +
        Returns whether this IntegerValue and the given SpecificIntegerValue are different: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        greaterThan

        +
        public final int greaterThan​(SpecificIntegerValue other)
        +
        Returns whether this IntegerValue is greater than the given SpecificIntegerValue: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        greaterThanOrEqual

        +
        public final int greaterThanOrEqual​(SpecificIntegerValue other)
        +
        Returns whether this IntegerValue is greater than or equal to the given SpecificIntegerValue: + NEVER, MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public IntegerValue generalize​(ParticularIntegerValue other)
        +
        Returns the generalization of this IntegerValue and the given other ParticularIntegerValue.
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        subtractFrom

        +
        public IntegerValue subtractFrom​(ParticularIntegerValue other)
        +
        Returns the difference of the given ParticularIntegerValue and this IntegerValue.
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        remainder

        +
        public IntegerValue remainder​(ParticularIntegerValue other)
        +
        Returns the remainder of this IntegerValue divided by the given ParticularIntegerValue.
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public IntegerValue remainderOf​(ParticularIntegerValue other)
        +
        Returns the remainder of the given ParticularIntegerValue divided by this IntegerValue.
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        unsignedShiftRight

        +
        public IntegerValue unsignedShiftRight​(ParticularIntegerValue other)
        +
        Returns this unsigned IntegerValue, shifted right by the given ParticularIntegerValue.
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        unsignedShiftRightOf

        +
        public IntegerValue unsignedShiftRightOf​(ParticularIntegerValue other)
        +
        Returns the given unsigned ParticularIntegerValue, shifted right by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftLeftOf

        +
        public LongValue shiftLeftOf​(ParticularLongValue other)
        +
        Returns the given ParticularLongValue, shifted left by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftRightOf

        +
        public LongValue shiftRightOf​(ParticularLongValue other)
        +
        Returns the given ParticularLongValue, shifted right by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRightOf

        +
        public LongValue unsignedShiftRightOf​(ParticularLongValue other)
        +
        Returns the given unsigned ParticularLongValue, shifted right by this IntegerValue.
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        equal

        +
        public int equal​(ParticularIntegerValue other)
        +
        Returns whether this IntegerValue and the given ParticularIntegerValue are equal: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        lessThan

        +
        public int lessThan​(ParticularIntegerValue other)
        +
        Returns whether this IntegerValue is less than the given ParticularIntegerValue: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        lessThanOrEqual

        +
        public int lessThanOrEqual​(ParticularIntegerValue other)
        +
        Returns whether this IntegerValue is less than or equal to the given ParticularIntegerValue: + NEVER, MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        notEqual

        +
        public final int notEqual​(ParticularIntegerValue other)
        +
        Returns whether this IntegerValue and the given ParticularIntegerValue are different: + NEVER, MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        greaterThan

        +
        public final int greaterThan​(ParticularIntegerValue other)
        +
        Returns whether this IntegerValue is greater than the given ParticularIntegerValue: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        greaterThanOrEqual

        +
        public final int greaterThanOrEqual​(ParticularIntegerValue other)
        +
        Returns whether this IntegerValue is greater than or equal to the given ParticularIntegerValue: + NEVER, MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public IntegerValue generalize​(RangeIntegerValue other)
        +
        Returns the generalization of this IntegerValue and the given other RangeIntegerValue.
        +
      • +
      + + + + + + + +
        +
      • +

        subtract

        +
        public IntegerValue subtract​(RangeIntegerValue other)
        +
        Returns the difference of this IntegerValue and the given RangeIntegerValue.
        +
      • +
      + + + +
        +
      • +

        subtractFrom

        +
        public IntegerValue subtractFrom​(RangeIntegerValue other)
        +
        Returns the difference of the given RangeIntegerValue and this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        multiply

        +
        public IntegerValue multiply​(RangeIntegerValue other)
        +
        Returns the product of this IntegerValue and the given RangeIntegerValue.
        +
      • +
      + + + +
        +
      • +

        divide

        +
        public IntegerValue divide​(RangeIntegerValue other)
        +
        Returns the quotient of this IntegerValue and the given RangeIntegerValue.
        +
      • +
      + + + +
        +
      • +

        divideOf

        +
        public IntegerValue divideOf​(RangeIntegerValue other)
        +
        Returns the quotient of the given RangeIntegerValue and this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public IntegerValue remainder​(RangeIntegerValue other)
        +
        Returns the remainder of this IntegerValue divided by the given RangeIntegerValue.
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public IntegerValue remainderOf​(RangeIntegerValue other)
        +
        Returns the remainder of the given RangeIntegerValue divided by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftLeft

        +
        public IntegerValue shiftLeft​(RangeIntegerValue other)
        +
        Returns this IntegerValue, shifted left by the given RangeIntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftRight

        +
        public IntegerValue shiftRight​(RangeIntegerValue other)
        +
        Returns this IntegerValue, shifted right by the given RangeIntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRight

        +
        public IntegerValue unsignedShiftRight​(RangeIntegerValue other)
        +
        Returns this unsigned IntegerValue, shifted right by the given RangeIntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftLeftOf

        +
        public IntegerValue shiftLeftOf​(RangeIntegerValue other)
        +
        Returns the given RangeIntegerValue, shifted left by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftRightOf

        +
        public IntegerValue shiftRightOf​(RangeIntegerValue other)
        +
        Returns the given RangeIntegerValue, shifted right by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRightOf

        +
        public IntegerValue unsignedShiftRightOf​(RangeIntegerValue other)
        +
        Returns the given unsigned RangeIntegerValue, shifted right by this IntegerValue.
        +
      • +
      + + + +
        +
      • +

        and

        +
        public IntegerValue and​(RangeIntegerValue other)
        +
        Returns the logical and of this IntegerValue and the given RangeIntegerValue.
        +
      • +
      + + + + + + + +
        +
      • +

        xor

        +
        public IntegerValue xor​(RangeIntegerValue other)
        +
        Returns the logical xor of this IntegerValue and the given RangeIntegerValue.
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public int equal​(RangeIntegerValue other)
        +
        Returns whether this IntegerValue and the given RangeIntegerValue are equal: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        lessThan

        +
        public int lessThan​(RangeIntegerValue other)
        +
        Returns whether this IntegerValue is less than the given RangeIntegerValue: NEVER, + MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        lessThanOrEqual

        +
        public int lessThanOrEqual​(RangeIntegerValue other)
        +
        Returns whether this IntegerValue is less than or equal to the given RangeIntegerValue: + NEVER, MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        notEqual

        +
        public final int notEqual​(RangeIntegerValue other)
        +
        Returns whether this IntegerValue and the given RangeIntegerValue are different: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        greaterThan

        +
        public final int greaterThan​(RangeIntegerValue other)
        +
        Returns whether this IntegerValue is greater than the given RangeIntegerValue: NEVER + , MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        greaterThanOrEqual

        +
        public final int greaterThanOrEqual​(RangeIntegerValue other)
        +
        Returns whether this IntegerValue is greater than or equal to the given RangeIntegerValue: + NEVER, MAYBE, or ALWAYS.
        +
      • +
      + + + +
        +
      • +

        integerValue

        +
        public final IntegerValue integerValue()
        +
        Description copied from class: Value
        +
        Returns this Value as an IntegerValue.
        +
        +
        Overrides:
        +
        integerValue in class Value
        +
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public final Value generalize​(Value other)
        +
        Description copied from class: Value
        +
        Returns the generalization of this Value and the given other Value.
        +
        +
        Specified by:
        +
        generalize in class Value
        +
        +
      • +
      + + + +
        +
      • +

        computationalType

        +
        public final int computationalType()
        +
        Description copied from class: Value
        +
        Returns the computational type of this Value.
        +
        +
        Specified by:
        +
        computationalType in class Value
        +
        Returns:
        +
        TYPE_INTEGER, TYPE_LONG, TYPE_FLOAT, + TYPE_DOUBLE, TYPE_REFERENCE, or TYPE_INSTRUCTION_OFFSET.
        +
        +
      • +
      + + + +
        +
      • +

        internalType

        +
        public final java.lang.String internalType()
        +
        Description copied from class: Value
        +
        Returns the internal type of this Value.
        +
        +
        Specified by:
        +
        internalType in class Value
        +
        Returns:
        +
        TypeConstants.BOOLEAN, TypeConstants.BYTE, + TypeConstants.CHAR, TypeConstants.SHORT, TypeConstants.INT + , TypeConstants.LONG, TypeConstants.FLOAT, + TypeConstants.DOUBLE, TypeConstants.CLASS_START ... TypeConstants.CLASS_END + , or an array type containing any of these types (always as String).
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/LongValue.html b/api/proguard/evaluation/value/LongValue.html new file mode 100644 index 000000000..3a7d718a7 --- /dev/null +++ b/api/proguard/evaluation/value/LongValue.html @@ -0,0 +1,1422 @@ + + + + + +LongValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LongValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LongValue

        +
        public LongValue()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        value

        +
        public long value()
        +
        Returns the specific long value, if applicable.
        +
      • +
      + + + +
        +
      • +

        negate

        +
        public abstract LongValue negate()
        +
        Returns the negated value of this LongValue.
        +
      • +
      + + + +
        +
      • +

        convertToInteger

        +
        public abstract IntegerValue convertToInteger()
        +
        Converts this LongValue to an IntegerValue.
        +
      • +
      + + + +
        +
      • +

        convertToFloat

        +
        public abstract FloatValue convertToFloat()
        +
        Converts this LongValue to a FloatValue.
        +
      • +
      + + + +
        +
      • +

        convertToDouble

        +
        public abstract DoubleValue convertToDouble()
        +
        Converts this LongValue to a DoubleValue.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public LongValue generalize​(LongValue other)
        +
        Returns the generalization of this LongValue and the given other LongValue.
        +
      • +
      + + + +
        +
      • +

        add

        +
        public LongValue add​(LongValue other)
        +
        Returns the sum of this LongValue and the given LongValue.
        +
      • +
      + + + +
        +
      • +

        subtract

        +
        public LongValue subtract​(LongValue other)
        +
        Returns the difference of this LongValue and the given LongValue.
        +
      • +
      + + + +
        +
      • +

        subtractFrom

        +
        public LongValue subtractFrom​(LongValue other)
        +
        Returns the difference of the given LongValue and this LongValue.
        +
      • +
      + + + +
        +
      • +

        multiply

        +
        public LongValue multiply​(LongValue other)
        +                   throws java.lang.ArithmeticException
        +
        Returns the product of this LongValue and the given LongValue.
        +
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        divide

        +
        public LongValue divide​(LongValue other)
        +                 throws java.lang.ArithmeticException
        +
        Returns the quotient of this LongValue and the given LongValue.
        +
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        divideOf

        +
        public LongValue divideOf​(LongValue other)
        +                   throws java.lang.ArithmeticException
        +
        Returns the quotient of the given LongValue and this LongValue.
        +
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public LongValue remainder​(LongValue other)
        +                    throws java.lang.ArithmeticException
        +
        Returns the remainder of this LongValue divided by the given LongValue.
        +
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public LongValue remainderOf​(LongValue other)
        +                      throws java.lang.ArithmeticException
        +
        Returns the remainder of the given LongValue divided by this LongValue.
        +
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        shiftLeft

        +
        public LongValue shiftLeft​(IntegerValue other)
        +
        Returns this LongValue, shifted left by the given IntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftRight

        +
        public LongValue shiftRight​(IntegerValue other)
        +
        Returns this LongValue, shifted right by the given IntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRight

        +
        public LongValue unsignedShiftRight​(IntegerValue other)
        +
        Returns this unsigned LongValue, shifted left by the given IntegerValue.
        +
      • +
      + + + +
        +
      • +

        and

        +
        public LongValue and​(LongValue other)
        +
        Returns the logical and of this LongValue and the given LongValue.
        +
      • +
      + + + +
        +
      • +

        or

        +
        public LongValue or​(LongValue other)
        +
        Returns the logical or of this LongValue and the given LongValue.
        +
      • +
      + + + +
        +
      • +

        xor

        +
        public LongValue xor​(LongValue other)
        +
        Returns the logical xor of this LongValue and the given LongValue.
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public IntegerValue compare​(LongValue other)
        +
        Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or + greater than the given LongValue, respectively.
        +
      • +
      + + + +
        +
      • +

        compareReverse

        +
        public final IntegerValue compareReverse​(LongValue other)
        +
        Returns an IntegerValue with value 1, 0, or -1, if this LongValue is less than, equal to, or + greater than the given LongValue, respectively.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public LongValue generalize​(SpecificLongValue other)
        +
        Returns the generalization of this LongValue and the given other SpecificLongValue.
        +
      • +
      + + + +
        +
      • +

        add

        +
        public LongValue add​(SpecificLongValue other)
        +
        Returns the sum of this LongValue and the given SpecificLongValue.
        +
      • +
      + + + +
        +
      • +

        subtract

        +
        public LongValue subtract​(SpecificLongValue other)
        +
        Returns the difference of this LongValue and the given SpecificLongValue.
        +
      • +
      + + + +
        +
      • +

        subtractFrom

        +
        public LongValue subtractFrom​(SpecificLongValue other)
        +
        Returns the difference of the given SpecificLongValue and this LongValue.
        +
      • +
      + + + +
        +
      • +

        multiply

        +
        public LongValue multiply​(SpecificLongValue other)
        +
        Returns the product of this LongValue and the given SpecificLongValue.
        +
      • +
      + + + +
        +
      • +

        divide

        +
        public LongValue divide​(SpecificLongValue other)
        +
        Returns the quotient of this LongValue and the given SpecificLongValue.
        +
      • +
      + + + +
        +
      • +

        divideOf

        +
        public LongValue divideOf​(SpecificLongValue other)
        +
        Returns the quotient of the given SpecificLongValue and this LongValue.
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public LongValue remainder​(SpecificLongValue other)
        +
        Returns the remainder of this LongValue divided by the given SpecificLongValue.
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public LongValue remainderOf​(SpecificLongValue other)
        +
        Returns the remainder of the given SpecificLongValue divided by this LongValue.
        +
      • +
      + + + +
        +
      • +

        shiftLeft

        +
        public LongValue shiftLeft​(SpecificLongValue other)
        +
        Returns this LongValue, shifted left by the given SpecificLongValue.
        +
      • +
      + + + +
        +
      • +

        shiftRight

        +
        public LongValue shiftRight​(SpecificLongValue other)
        +
        Returns this LongValue, shifted right by the given SpecificLongValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRight

        +
        public LongValue unsignedShiftRight​(SpecificLongValue other)
        +
        Returns this unsigned LongValue, shifted right by the given SpecificLongValue.
        +
      • +
      + + + +
        +
      • +

        and

        +
        public LongValue and​(SpecificLongValue other)
        +
        Returns the logical and of this LongValue and the given SpecificLongValue.
        +
      • +
      + + + +
        +
      • +

        or

        +
        public LongValue or​(SpecificLongValue other)
        +
        Returns the logical or of this LongValue and the given SpecificLongValue.
        +
      • +
      + + + +
        +
      • +

        xor

        +
        public LongValue xor​(SpecificLongValue other)
        +
        Returns the logical xor of this LongValue and the given SpecificLongValue.
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public IntegerValue compare​(SpecificLongValue other)
        +
        Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or + greater than the given SpecificLongValue, respectively.
        +
      • +
      + + + +
        +
      • +

        compareReverse

        +
        public final IntegerValue compareReverse​(SpecificLongValue other)
        +
        Returns an IntegerValue with value 1, 0, or -1, if this LongValue is less than, equal to, or + greater than the given SpecificLongValue, respectively.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public LongValue generalize​(ParticularLongValue other)
        +
        Returns the generalization of this LongValue and the given other ParticularLongValue.
        +
      • +
      + + + + + + + +
        +
      • +

        subtract

        +
        public LongValue subtract​(ParticularLongValue other)
        +
        Returns the difference of this LongValue and the given ParticularLongValue.
        +
      • +
      + + + +
        +
      • +

        subtractFrom

        +
        public LongValue subtractFrom​(ParticularLongValue other)
        +
        Returns the difference of the given ParticularLongValue and this LongValue.
        +
      • +
      + + + +
        +
      • +

        multiply

        +
        public LongValue multiply​(ParticularLongValue other)
        +
        Returns the product of this LongValue and the given ParticularLongValue.
        +
      • +
      + + + +
        +
      • +

        divide

        +
        public LongValue divide​(ParticularLongValue other)
        +
        Returns the quotient of this LongValue and the given ParticularLongValue.
        +
      • +
      + + + +
        +
      • +

        divideOf

        +
        public LongValue divideOf​(ParticularLongValue other)
        +
        Returns the quotient of the given ParticularLongValue and this LongValue.
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public LongValue remainder​(ParticularLongValue other)
        +
        Returns the remainder of this LongValue divided by the given ParticularLongValue.
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public LongValue remainderOf​(ParticularLongValue other)
        +
        Returns the remainder of the given ParticularLongValue divided by this LongValue.
        +
      • +
      + + + +
        +
      • +

        shiftLeft

        +
        public LongValue shiftLeft​(ParticularIntegerValue other)
        +
        Returns this LongValue, shifted left by the given ParticularIntegerValue.
        +
      • +
      + + + +
        +
      • +

        shiftRight

        +
        public LongValue shiftRight​(ParticularIntegerValue other)
        +
        Returns this LongValue, shifted right by the given ParticularIntegerValue.
        +
      • +
      + + + +
        +
      • +

        unsignedShiftRight

        +
        public LongValue unsignedShiftRight​(ParticularIntegerValue other)
        +
        Returns this unsigned LongValue, shifted right by the given ParticularIntegerValue.
        +
      • +
      + + + +
        +
      • +

        and

        +
        public LongValue and​(ParticularLongValue other)
        +
        Returns the logical and of this LongValue and the given ParticularLongValue.
        +
      • +
      + + + +
        +
      • +

        or

        +
        public LongValue or​(ParticularLongValue other)
        +
        Returns the logical or of this LongValue and the given ParticularLongValue.
        +
      • +
      + + + +
        +
      • +

        xor

        +
        public LongValue xor​(ParticularLongValue other)
        +
        Returns the logical xor of this LongValue and the given ParticularLongValue.
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public IntegerValue compare​(ParticularLongValue other)
        +
        Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or + greater than the given ParticularLongValue, respectively.
        +
      • +
      + + + +
        +
      • +

        compareReverse

        +
        public final IntegerValue compareReverse​(ParticularLongValue other)
        +
        Returns an IntegerValue with value 1, 0, or -1, if this LongValue is less than, equal to, or + greater than the given ParticularLongValue, respectively.
        +
      • +
      + + + +
        +
      • +

        longValue

        +
        public final LongValue longValue()
        +
        Description copied from class: Value
        +
        Returns this Value as a LongValue.
        +
        +
        Overrides:
        +
        longValue in class Value
        +
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public final Value generalize​(Value other)
        +
        Description copied from class: Value
        +
        Returns the generalization of this Value and the given other Value.
        +
        +
        Specified by:
        +
        generalize in class Value
        +
        +
      • +
      + + + +
        +
      • +

        computationalType

        +
        public final int computationalType()
        +
        Description copied from class: Value
        +
        Returns the computational type of this Value.
        +
        +
        Specified by:
        +
        computationalType in class Value
        +
        Returns:
        +
        TYPE_INTEGER, TYPE_LONG, TYPE_FLOAT, + TYPE_DOUBLE, TYPE_REFERENCE, or TYPE_INSTRUCTION_OFFSET.
        +
        +
      • +
      + + + +
        +
      • +

        internalType

        +
        public final java.lang.String internalType()
        +
        Description copied from class: Value
        +
        Returns the internal type of this Value.
        +
        +
        Specified by:
        +
        internalType in class Value
        +
        Returns:
        +
        TypeConstants.BOOLEAN, TypeConstants.BYTE, + TypeConstants.CHAR, TypeConstants.SHORT, TypeConstants.INT + , TypeConstants.LONG, TypeConstants.FLOAT, + TypeConstants.DOUBLE, TypeConstants.CLASS_START ... TypeConstants.CLASS_END + , or an array type containing any of these types (always as String).
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/MultiTypedReferenceValue.html b/api/proguard/evaluation/value/MultiTypedReferenceValue.html new file mode 100644 index 000000000..fd71cba62 --- /dev/null +++ b/api/proguard/evaluation/value/MultiTypedReferenceValue.html @@ -0,0 +1,820 @@ + + + + + +MultiTypedReferenceValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiTypedReferenceValue

+
+
+ +
+
    +
  • +
    +
    public class MultiTypedReferenceValue
    +extends ReferenceValue
    +
    This TypedReferenceValue can have multiple potential types during runtime. E.g. when + evaluating SuperClass s = someFlag ? new A() : new B(), s may be of type LA; or LB;.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/MultiTypedReferenceValueFactory.html b/api/proguard/evaluation/value/MultiTypedReferenceValueFactory.html new file mode 100644 index 000000000..6927564cb --- /dev/null +++ b/api/proguard/evaluation/value/MultiTypedReferenceValueFactory.html @@ -0,0 +1,513 @@ + + + + + +MultiTypedReferenceValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiTypedReferenceValueFactory

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/NegatedDoubleValue.html b/api/proguard/evaluation/value/NegatedDoubleValue.html new file mode 100644 index 000000000..894812dd6 --- /dev/null +++ b/api/proguard/evaluation/value/NegatedDoubleValue.html @@ -0,0 +1,435 @@ + + + + + +NegatedDoubleValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NegatedDoubleValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NegatedDoubleValue

        +
        public NegatedDoubleValue​(DoubleValue doubleValue)
        +
        Creates a new negated double value of the given double value.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/NegatedFloatValue.html b/api/proguard/evaluation/value/NegatedFloatValue.html new file mode 100644 index 000000000..169c659cb --- /dev/null +++ b/api/proguard/evaluation/value/NegatedFloatValue.html @@ -0,0 +1,435 @@ + + + + + +NegatedFloatValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NegatedFloatValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NegatedFloatValue

        +
        public NegatedFloatValue​(FloatValue floatValue)
        +
        Creates a new negated float value of the given float value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class SpecificFloatValue
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/NegatedIntegerValue.html b/api/proguard/evaluation/value/NegatedIntegerValue.html new file mode 100644 index 000000000..6880ff69b --- /dev/null +++ b/api/proguard/evaluation/value/NegatedIntegerValue.html @@ -0,0 +1,435 @@ + + + + + +NegatedIntegerValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NegatedIntegerValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NegatedIntegerValue

        +
        public NegatedIntegerValue​(IntegerValue integerValue)
        +
        Creates a new negated integer value of the given integer value.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/NegatedLongValue.html b/api/proguard/evaluation/value/NegatedLongValue.html new file mode 100644 index 000000000..541e310a9 --- /dev/null +++ b/api/proguard/evaluation/value/NegatedLongValue.html @@ -0,0 +1,435 @@ + + + + + +NegatedLongValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NegatedLongValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NegatedLongValue

        +
        public NegatedLongValue​(LongValue longValue)
        +
        Creates a new negated long value of the given long value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class SpecificLongValue
        +
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ParticularDoubleValue.html b/api/proguard/evaluation/value/ParticularDoubleValue.html new file mode 100644 index 000000000..470e8d756 --- /dev/null +++ b/api/proguard/evaluation/value/ParticularDoubleValue.html @@ -0,0 +1,989 @@ + + + + + +ParticularDoubleValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ParticularDoubleValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ParticularFloatValue.html b/api/proguard/evaluation/value/ParticularFloatValue.html new file mode 100644 index 000000000..578eb38f4 --- /dev/null +++ b/api/proguard/evaluation/value/ParticularFloatValue.html @@ -0,0 +1,989 @@ + + + + + +ParticularFloatValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ParticularFloatValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ParticularIntegerValue.html b/api/proguard/evaluation/value/ParticularIntegerValue.html new file mode 100644 index 000000000..d814a8206 --- /dev/null +++ b/api/proguard/evaluation/value/ParticularIntegerValue.html @@ -0,0 +1,2190 @@ + + + + + +ParticularIntegerValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ParticularIntegerValue

+
+
+ +
+
    +
  • +
    +
    public final class ParticularIntegerValue
    +extends SpecificIntegerValue
    +
    This IntegerValue represents a particular integer value. + +

    This class handles interactions with: - ParticularIntegerValue + +

    It reverses and delegates interactions with: - RangeIntegerValue - IntegerValue (in general) + +

    It notably doesn't handle interactions with: - UnknownInteger - RangeIntegerValue - + SpecificInteger (in general)

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ParticularLongValue.html b/api/proguard/evaluation/value/ParticularLongValue.html new file mode 100644 index 000000000..5a8fa9887 --- /dev/null +++ b/api/proguard/evaluation/value/ParticularLongValue.html @@ -0,0 +1,1253 @@ + + + + + +ParticularLongValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ParticularLongValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ParticularReferenceValue.html b/api/proguard/evaluation/value/ParticularReferenceValue.html new file mode 100644 index 000000000..88c753425 --- /dev/null +++ b/api/proguard/evaluation/value/ParticularReferenceValue.html @@ -0,0 +1,687 @@ + + + + + +ParticularReferenceValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ParticularReferenceValue

+
+
+ +
+
    +
  • +
    +
    public class ParticularReferenceValue
    +extends IdentifiedReferenceValue
    +
    This ParticularReferenceValue represents a particular reference value, i.e. a reference + with an associated value. E.g., a String with the value "HelloWorld".
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ParticularValueFactory.html b/api/proguard/evaluation/value/ParticularValueFactory.html new file mode 100644 index 000000000..fc9cfbea5 --- /dev/null +++ b/api/proguard/evaluation/value/ParticularValueFactory.html @@ -0,0 +1,947 @@ + + + + + +ParticularValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ParticularValueFactory

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/PrimitiveTypedReferenceValueFactory.html b/api/proguard/evaluation/value/PrimitiveTypedReferenceValueFactory.html new file mode 100644 index 000000000..ea6d3447d --- /dev/null +++ b/api/proguard/evaluation/value/PrimitiveTypedReferenceValueFactory.html @@ -0,0 +1,418 @@ + + + + + +PrimitiveTypedReferenceValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PrimitiveTypedReferenceValueFactory

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ValueFactory
    +
    +
    +
    public class PrimitiveTypedReferenceValueFactory
    +extends BasicValueFactory
    +
    This class provides methods to create and reuse Value instances. Its ReferenceValue + instances have types if they represent primitive arrays.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/RangeIntegerValue.html b/api/proguard/evaluation/value/RangeIntegerValue.html new file mode 100644 index 000000000..b9fa451e9 --- /dev/null +++ b/api/proguard/evaluation/value/RangeIntegerValue.html @@ -0,0 +1,2180 @@ + + + + + +RangeIntegerValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RangeIntegerValue

+
+
+ +
+
    +
  • +
    +
    public final class RangeIntegerValue
    +extends IntegerValue
    +
    This IntegerValue represents a known range of integer values. It currently is not a + SpecificIntegerValue, so it doesn't have a particular value nor an identifier. + +

    This class handles interactions with: - ParticularIntegerValue - RangeIntegerValue + +

    It reverses and delegates interactions with: - IntegerValue (in general) + +

    It notably doesn't handle interactions with: - UnknownInteger - SpecificInteger (in general)

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/RangeValueFactory.html b/api/proguard/evaluation/value/RangeValueFactory.html new file mode 100644 index 000000000..10d17770c --- /dev/null +++ b/api/proguard/evaluation/value/RangeValueFactory.html @@ -0,0 +1,458 @@ + + + + + +RangeValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RangeValueFactory

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ValueFactory
    +
    +
    +
    public class RangeValueFactory
    +extends BasicRangeValueFactory
    +implements ValueFactory
    +
    This ValueFactory provides methods to create and reuse IntegerValue instances that have known + ranges. + +

    This implementation creates RangeIntegerValue instances in all IntegerValue factory methods. + This way, the RangeIntegerValue instances can generalize further to other RangeIntegerValue + instances, even if they start out as known particular values.

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ReferenceValue.html b/api/proguard/evaluation/value/ReferenceValue.html new file mode 100644 index 000000000..c3b4f37b4 --- /dev/null +++ b/api/proguard/evaluation/value/ReferenceValue.html @@ -0,0 +1,1166 @@ + + + + + +ReferenceValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReferenceValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ReferenceValue

        +
        public ReferenceValue()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        value

        +
        @Deprecated
        +public java.lang.Object value()
        +
        Deprecated.
        +
        Returns the value. + +

        Deprecated, use getValue() instead.

        +
      • +
      + + + +
        +
      • +

        getValue

        +
        @NotNull
        +public @NotNull AnalyzedObject getValue()
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public abstract java.lang.String getType()
        +
        Returns the type.
        +
      • +
      + + + +
        +
      • +

        getReferencedClass

        +
        public abstract Clazz getReferencedClass()
        +
        Returns the class that is referenced by the type.
        +
      • +
      + + + +
        +
      • +

        mayBeExtension

        +
        public abstract boolean mayBeExtension()
        +
        Returns whether the actual type of this ReferenceValue may be an extension of its type.
        +
      • +
      + + + +
        +
      • +

        isNull

        +
        public abstract int isNull()
        +
        Returns whether this ReferenceValue is null.
        +
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + +
        +
      • +

        instanceOf

        +
        public abstract int instanceOf​(java.lang.String otherType,
        +                               Clazz otherReferencedClass)
        +
        Returns whether the type is an instance of the given type.
        +
      • +
      + + + +
        +
      • +

        cast

        +
        public abstract ReferenceValue cast​(java.lang.String type,
        +                                    Clazz referencedClass,
        +                                    ValueFactory valueFactory,
        +                                    boolean alwaysCast)
        +
        Returns this ReferenceValue, cast to the given type.
        +
      • +
      + + + +
        +
      • +

        arrayLength

        +
        public IntegerValue arrayLength​(ValueFactory valueFactory)
        +
        Returns the length of the array, assuming this type is an array.
        +
      • +
      + + + +
        +
      • +

        integerArrayLoad

        +
        public IntegerValue integerArrayLoad​(IntegerValue indexValue,
        +                                     ValueFactory valueFactory)
        +
        Returns the value of the array at the given index, assuming this type is an integer array.
        +
      • +
      + + + +
        +
      • +

        longArrayLoad

        +
        public LongValue longArrayLoad​(IntegerValue indexValue,
        +                               ValueFactory valueFactory)
        +
        Returns the value of the array at the given index, assuming this type is an long array.
        +
      • +
      + + + +
        +
      • +

        floatArrayLoad

        +
        public FloatValue floatArrayLoad​(IntegerValue indexValue,
        +                                 ValueFactory valueFactory)
        +
        Returns the value of the array at the given index, assuming this type is an float array.
        +
      • +
      + + + +
        +
      • +

        doubleArrayLoad

        +
        public DoubleValue doubleArrayLoad​(IntegerValue indexValue,
        +                                   ValueFactory valueFactory)
        +
        Returns the value of the array at the given index, assuming this type is an double array.
        +
      • +
      + + + +
        +
      • +

        referenceArrayLoad

        +
        public ReferenceValue referenceArrayLoad​(IntegerValue indexValue,
        +                                         ValueFactory valueFactory)
        +
        Returns the value of the array at the given index, assuming this type is a reference array.
        +
      • +
      + + + +
        +
      • +

        arrayStore

        +
        public void arrayStore​(IntegerValue indexValue,
        +                       Value value)
        +
        Stores the given value at the given index in the given array, assuming this type is an array.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public abstract ReferenceValue generalize​(ReferenceValue other)
        +
        Returns the generalization of this ReferenceValue and the given other ReferenceValue.
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public abstract int equal​(ReferenceValue other)
        +
        Returns whether this ReferenceValue is equal to the given other ReferenceValue.
        +
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + +
        +
      • +

        isNotNull

        +
        public final int isNotNull()
        +
        Returns whether this ReferenceValue is not null.
        +
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + +
        +
      • +

        notEqual

        +
        public final int notEqual​(ReferenceValue other)
        +
        Returns whether this ReferenceValue and the given ReferenceValue are different.
        +
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public ReferenceValue generalize​(UnknownReferenceValue other)
        +
        Returns the generalization of this ReferenceValue and the given other UnknownReferenceValue.
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public int equal​(UnknownReferenceValue other)
        +
        Returns whether this ReferenceValue is equal to the given other UnknownReferenceValue.
        +
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public ReferenceValue generalize​(TypedReferenceValue other)
        +
        Returns the generalization of this ReferenceValue and the given other TypedReferenceValue.
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public int equal​(TypedReferenceValue other)
        +
        Returns whether this ReferenceValue is equal to the given other TypedReferenceValue.
        +
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        equal

        +
        public int equal​(IdentifiedReferenceValue other)
        +
        Returns whether this ReferenceValue is equal to the given other IdentifiedReferenceValue.
        +
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public ReferenceValue generalize​(ArrayReferenceValue other)
        +
        Returns the generalization of this ReferenceValue and the given other ArrayReferenceValue.
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public int equal​(ArrayReferenceValue other)
        +
        Returns whether this ReferenceValue is equal to the given other ArrayReferenceValue.
        +
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equal

        +
        public int equal​(IdentifiedArrayReferenceValue other)
        +
        Returns whether this ReferenceValue is equal to the given other IdentifiedArrayReferenceValue.
        +
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equal

        +
        public int equal​(DetailedArrayReferenceValue other)
        +
        Returns whether this ReferenceValue is equal to the given other DetailedArrayReferenceValue.
        +
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public ReferenceValue generalize​(TracedReferenceValue other)
        +
        Returns the generalization of this ReferenceValue and the given other TracedReferenceValue.
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public int equal​(TracedReferenceValue other)
        +
        Returns whether this ReferenceValue is equal to the given other TracedReferenceValue.
        +
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + + + + + +
        +
      • +

        equal

        +
        public int equal​(ParticularReferenceValue other)
        +
        Returns whether this ReferenceValue is equal to the given other ParticularReferenceValue.
        +
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + +
        +
      • +

        referenceValue

        +
        public final ReferenceValue referenceValue()
        +
        Description copied from class: Value
        +
        Returns this Value as a ReferenceValue.
        +
        +
        Overrides:
        +
        referenceValue in class Value
        +
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public final Value generalize​(Value other)
        +
        Description copied from class: Value
        +
        Returns the generalization of this Value and the given other Value.
        +
        +
        Specified by:
        +
        generalize in class Value
        +
        +
      • +
      + + + +
        +
      • +

        computationalType

        +
        public final int computationalType()
        +
        Description copied from class: Value
        +
        Returns the computational type of this Value.
        +
        +
        Specified by:
        +
        computationalType in class Value
        +
        Returns:
        +
        TYPE_INTEGER, TYPE_LONG, TYPE_FLOAT, + TYPE_DOUBLE, TYPE_REFERENCE, or TYPE_INSTRUCTION_OFFSET.
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ReflectiveMethodCallUtil.html b/api/proguard/evaluation/value/ReflectiveMethodCallUtil.html new file mode 100644 index 000000000..f2911d174 --- /dev/null +++ b/api/proguard/evaluation/value/ReflectiveMethodCallUtil.html @@ -0,0 +1,463 @@ + + + + + +ReflectiveMethodCallUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReflectiveMethodCallUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.value.ReflectiveMethodCallUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    @Deprecated
    +public class ReflectiveMethodCallUtil
    +extends java.lang.Object
    +
    Deprecated. +
    This logic is now implemented in ReflectionExecutor
    +
    +
    This ReflectiveMethodCallUtil can execute a method call on a given class reflectively. If + the call fails, a RuntimeException is thrown, otherwise, a new Value is returned using the given + factory.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and TypeMethodDescription
      static java.lang.ObjectcallConstructor​(java.lang.String className, + java.lang.Class<?>[] parameterClasses, + java.lang.Object[] parameterObjects) +
      Deprecated.
      +
      Reflectively call the constructor of className with the given parameters.
      +
      static java.lang.ObjectcallMethod​(java.lang.String className, + java.lang.String methodName, + java.lang.Object instance, + java.lang.Class<?>[] parameterClasses, + java.lang.Object[] parameterObjects) +
      Deprecated.
      +
      Reflectively call the method on the given instance.
      +
      static java.lang.Class<?>getClassForArray​(java.lang.String internalArrayType) +
      Deprecated.
      static java.lang.Class<?>getClassForPrimitive​(char internalPrimitiveType) +
      Deprecated.
      +
      Returns the Class for the given primitive type.
      +
      static java.lang.ObjectgetObjectForValue​(Value value, + java.lang.Class<?> expectedType) +
      Deprecated.
      +
      Extract the Object from the given Value.
      +
      static java.lang.Class<?>[]stringtypesToClasses​(java.lang.String descriptor) +
      Deprecated.
      +
      Reflectively converts a method descriptor to a list of Classes representing this String.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ReflectiveMethodCallUtil

        +
        public ReflectiveMethodCallUtil()
        +
        Deprecated.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        stringtypesToClasses

        +
        public static java.lang.Class<?>[] stringtypesToClasses​(java.lang.String descriptor)
        +                                                 throws java.lang.ClassNotFoundException
        +
        Deprecated.
        +
        Reflectively converts a method descriptor to a list of Classes representing this String.
        +
        +
        Throws:
        +
        java.lang.ClassNotFoundException - if one of the referenced classes (as string) is not part of the + current class pool.
        +
        +
      • +
      + + + +
        +
      • +

        getObjectForValue

        +
        public static java.lang.Object getObjectForValue​(Value value,
        +                                                 java.lang.Class<?> expectedType)
        +
        Deprecated.
        +
        Extract the Object from the given Value.
        +
        +
        Parameters:
        +
        value - the value holding the object.
        +
        expectedType - the class the returned object should be.
        +
        Returns:
        +
        an object extracted from the value, or null if it could not be extracted.
        +
        +
      • +
      + + + +
        +
      • +

        getClassForArray

        +
        public static java.lang.Class<?> getClassForArray​(java.lang.String internalArrayType)
        +
        Deprecated.
        +
      • +
      + + + +
        +
      • +

        getClassForPrimitive

        +
        public static java.lang.Class<?> getClassForPrimitive​(char internalPrimitiveType)
        +
        Deprecated.
        +
        Returns the Class for the given primitive type.
        +
      • +
      + + + +
        +
      • +

        callConstructor

        +
        public static java.lang.Object callConstructor​(java.lang.String className,
        +                                               java.lang.Class<?>[] parameterClasses,
        +                                               java.lang.Object[] parameterObjects)
        +                                        throws java.lang.ClassNotFoundException,
        +                                               java.lang.NoSuchMethodException,
        +                                               java.lang.IllegalAccessException,
        +                                               java.lang.reflect.InvocationTargetException,
        +                                               java.lang.InstantiationException
        +
        Deprecated.
        +
        Reflectively call the constructor of className with the given parameters.
        +
        +
        Throws:
        +
        java.lang.ClassNotFoundException
        +
        java.lang.NoSuchMethodException
        +
        java.lang.IllegalAccessException
        +
        java.lang.reflect.InvocationTargetException
        +
        java.lang.InstantiationException
        +
        +
      • +
      + + + +
        +
      • +

        callMethod

        +
        public static java.lang.Object callMethod​(java.lang.String className,
        +                                          java.lang.String methodName,
        +                                          java.lang.Object instance,
        +                                          java.lang.Class<?>[] parameterClasses,
        +                                          java.lang.Object[] parameterObjects)
        +                                   throws java.lang.reflect.InvocationTargetException,
        +                                          java.lang.IllegalAccessException,
        +                                          java.lang.NoSuchMethodException,
        +                                          java.lang.ClassNotFoundException
        +
        Deprecated.
        +
        Reflectively call the method on the given instance. Instance can be null for static methods.
        +
        +
        Throws:
        +
        java.lang.reflect.InvocationTargetException
        +
        java.lang.IllegalAccessException
        +
        java.lang.NoSuchMethodException
        +
        java.lang.ClassNotFoundException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/SpecificDoubleValue.html b/api/proguard/evaluation/value/SpecificDoubleValue.html new file mode 100644 index 000000000..66eca566c --- /dev/null +++ b/api/proguard/evaluation/value/SpecificDoubleValue.html @@ -0,0 +1,938 @@ + + + + + +SpecificDoubleValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SpecificDoubleValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/SpecificFloatValue.html b/api/proguard/evaluation/value/SpecificFloatValue.html new file mode 100644 index 000000000..cefa9486a --- /dev/null +++ b/api/proguard/evaluation/value/SpecificFloatValue.html @@ -0,0 +1,938 @@ + + + + + +SpecificFloatValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SpecificFloatValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/SpecificIntegerValue.html b/api/proguard/evaluation/value/SpecificIntegerValue.html new file mode 100644 index 000000000..577d6ef93 --- /dev/null +++ b/api/proguard/evaluation/value/SpecificIntegerValue.html @@ -0,0 +1,2138 @@ + + + + + +SpecificIntegerValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SpecificIntegerValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/SpecificLongValue.html b/api/proguard/evaluation/value/SpecificLongValue.html new file mode 100644 index 000000000..fff07d62c --- /dev/null +++ b/api/proguard/evaluation/value/SpecificLongValue.html @@ -0,0 +1,1226 @@ + + + + + +SpecificLongValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SpecificLongValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SpecificLongValue

        +
        public SpecificLongValue()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        negate

        +
        public LongValue negate()
        +
        Description copied from class: LongValue
        +
        Returns the negated value of this LongValue.
        +
        +
        Specified by:
        +
        negate in class LongValue
        +
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        generalize

        +
        public LongValue generalize​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns the generalization of this LongValue and the given other LongValue.
        +
        +
        Overrides:
        +
        generalize in class LongValue
        +
        +
      • +
      + + + +
        +
      • +

        add

        +
        public LongValue add​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns the sum of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        add in class LongValue
        +
        +
      • +
      + + + +
        +
      • +

        subtract

        +
        public LongValue subtract​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns the difference of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        subtract in class LongValue
        +
        +
      • +
      + + + + + + + +
        +
      • +

        multiply

        +
        public LongValue multiply​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns the product of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        multiply in class LongValue
        +
        +
      • +
      + + + +
        +
      • +

        divide

        +
        public LongValue divide​(LongValue other)
        +                 throws java.lang.ArithmeticException
        +
        Description copied from class: LongValue
        +
        Returns the quotient of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        divide in class LongValue
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        divideOf

        +
        public LongValue divideOf​(LongValue other)
        +                   throws java.lang.ArithmeticException
        +
        Description copied from class: LongValue
        +
        Returns the quotient of the given LongValue and this LongValue.
        +
        +
        Overrides:
        +
        divideOf in class LongValue
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public LongValue remainder​(LongValue other)
        +                    throws java.lang.ArithmeticException
        +
        Description copied from class: LongValue
        +
        Returns the remainder of this LongValue divided by the given LongValue.
        +
        +
        Overrides:
        +
        remainder in class LongValue
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public LongValue remainderOf​(LongValue other)
        +                      throws java.lang.ArithmeticException
        +
        Description copied from class: LongValue
        +
        Returns the remainder of the given LongValue divided by this LongValue.
        +
        +
        Overrides:
        +
        remainderOf in class LongValue
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        and

        +
        public LongValue and​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns the logical and of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        and in class LongValue
        +
        +
      • +
      + + + +
        +
      • +

        or

        +
        public LongValue or​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns the logical or of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        or in class LongValue
        +
        +
      • +
      + + + +
        +
      • +

        xor

        +
        public LongValue xor​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns the logical xor of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        xor in class LongValue
        +
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public IntegerValue compare​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or + greater than the given LongValue, respectively.
        +
        +
        Overrides:
        +
        compare in class LongValue
        +
        +
      • +
      + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        divide

        +
        public LongValue divide​(SpecificLongValue other)
        +                 throws java.lang.ArithmeticException
        +
        Description copied from class: LongValue
        +
        Returns the quotient of this LongValue and the given SpecificLongValue.
        +
        +
        Overrides:
        +
        divide in class LongValue
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        divideOf

        +
        public LongValue divideOf​(SpecificLongValue other)
        +                   throws java.lang.ArithmeticException
        +
        Description copied from class: LongValue
        +
        Returns the quotient of the given SpecificLongValue and this LongValue.
        +
        +
        Overrides:
        +
        divideOf in class LongValue
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public LongValue remainder​(SpecificLongValue other)
        +                    throws java.lang.ArithmeticException
        +
        Description copied from class: LongValue
        +
        Returns the remainder of this LongValue divided by the given SpecificLongValue.
        +
        +
        Overrides:
        +
        remainder in class LongValue
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public LongValue remainderOf​(SpecificLongValue other)
        +                      throws java.lang.ArithmeticException
        +
        Description copied from class: LongValue
        +
        Returns the remainder of the given SpecificLongValue divided by this LongValue.
        +
        +
        Overrides:
        +
        remainderOf in class LongValue
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        compare

        +
        public IntegerValue compare​(SpecificLongValue other)
        +
        Description copied from class: LongValue
        +
        Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or + greater than the given SpecificLongValue, respectively.
        +
        +
        Overrides:
        +
        compare in class LongValue
        +
        +
      • +
      + + + +
        +
      • +

        isSpecific

        +
        public boolean isSpecific()
        +
        Description copied from class: Value
        +
        Returns whether this Value represents a single specific (but possibly unknown) value.
        +
        +
        Overrides:
        +
        isSpecific in class Value
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/TopValue.html b/api/proguard/evaluation/value/TopValue.html new file mode 100644 index 000000000..7f53a62df --- /dev/null +++ b/api/proguard/evaluation/value/TopValue.html @@ -0,0 +1,506 @@ + + + + + +TopValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TopValue

+
+
+ +
+
    +
  • +
    +
    public class TopValue
    +extends Category1Value
    +
    Representation of a partially evaluated top value. A top value is the dummy value that takes up + the extra space when storing a long value or a double value.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TopValue

        +
        public TopValue()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isSpecific

        +
        public boolean isSpecific()
        +
        Description copied from class: Value
        +
        Returns whether this Value represents a single specific (but possibly unknown) value.
        +
        +
        Overrides:
        +
        isSpecific in class Value
        +
        +
      • +
      + + + +
        +
      • +

        isParticular

        +
        public boolean isParticular()
        +
        Description copied from class: Value
        +
        Returns whether this Value represents a single particular (known) value.
        +
        +
        Overrides:
        +
        isParticular in class Value
        +
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public final Value generalize​(Value other)
        +
        Description copied from class: Value
        +
        Returns the generalization of this Value and the given other Value.
        +
        +
        Specified by:
        +
        generalize in class Value
        +
        +
      • +
      + + + +
        +
      • +

        computationalType

        +
        public final int computationalType()
        +
        Description copied from class: Value
        +
        Returns the computational type of this Value.
        +
        +
        Specified by:
        +
        computationalType in class Value
        +
        Returns:
        +
        TYPE_INTEGER, TYPE_LONG, TYPE_FLOAT, + TYPE_DOUBLE, TYPE_REFERENCE, or TYPE_INSTRUCTION_OFFSET.
        +
        +
      • +
      + + + +
        +
      • +

        internalType

        +
        public final java.lang.String internalType()
        +
        Description copied from class: Value
        +
        Returns the internal type of this Value.
        +
        +
        Specified by:
        +
        internalType in class Value
        +
        Returns:
        +
        TypeConstants.BOOLEAN, TypeConstants.BYTE, + TypeConstants.CHAR, TypeConstants.SHORT, TypeConstants.INT + , TypeConstants.LONG, TypeConstants.FLOAT, + TypeConstants.DOUBLE, TypeConstants.CLASS_START ... TypeConstants.CLASS_END + , or an array type containing any of these types (always as String).
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/TracedReferenceValue.html b/api/proguard/evaluation/value/TracedReferenceValue.html new file mode 100644 index 000000000..2ed063599 --- /dev/null +++ b/api/proguard/evaluation/value/TracedReferenceValue.html @@ -0,0 +1,1189 @@ + + + + + +TracedReferenceValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TracedReferenceValue

+
+
+ +
+
    +
  • +
    +
    public class TracedReferenceValue
    +extends ReferenceValue
    +
    This ReferenceValue represents a reference value that is tagged with a trace value.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/TracingValue.html b/api/proguard/evaluation/value/TracingValue.html new file mode 100644 index 000000000..4b30a7825 --- /dev/null +++ b/api/proguard/evaluation/value/TracingValue.html @@ -0,0 +1,714 @@ + + + + + +TracingValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TracingValue

+
+
+ +
+
    +
  • +
    +
    public class TracingValue
    +extends Value
    +
    Representation of a value that has been tagged with a sticky trace value.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TracingValue

        +
        public TracingValue​(Value traceValue,
        +                    Value value)
        +
        Creates a new TracingValue with the given trace value and value.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        generalize

        +
        public final TracingValue generalize​(TracingValue other)
        +
        Returns the generalization of this TracingValue and the given other TracingValue.
        +
      • +
      + + + +
        +
      • +

        category1Value

        +
        public Category1Value category1Value()
        +
        Description copied from class: Value
        +
        Returns this Value as a Category1Value.
        +
        +
        Overrides:
        +
        category1Value in class Value
        +
        +
      • +
      + + + +
        +
      • +

        category2Value

        +
        public Category2Value category2Value()
        +
        Description copied from class: Value
        +
        Returns this Value as a Category2Value.
        +
        +
        Overrides:
        +
        category2Value in class Value
        +
        +
      • +
      + + + +
        +
      • +

        integerValue

        +
        public IntegerValue integerValue()
        +
        Description copied from class: Value
        +
        Returns this Value as an IntegerValue.
        +
        +
        Overrides:
        +
        integerValue in class Value
        +
        +
      • +
      + + + +
        +
      • +

        longValue

        +
        public LongValue longValue()
        +
        Description copied from class: Value
        +
        Returns this Value as a LongValue.
        +
        +
        Overrides:
        +
        longValue in class Value
        +
        +
      • +
      + + + +
        +
      • +

        floatValue

        +
        public FloatValue floatValue()
        +
        Description copied from class: Value
        +
        Returns this Value as a FloatValue.
        +
        +
        Overrides:
        +
        floatValue in class Value
        +
        +
      • +
      + + + +
        +
      • +

        doubleValue

        +
        public DoubleValue doubleValue()
        +
        Description copied from class: Value
        +
        Returns this Value as a DoubleValue.
        +
        +
        Overrides:
        +
        doubleValue in class Value
        +
        +
      • +
      + + + +
        +
      • +

        referenceValue

        +
        public ReferenceValue referenceValue()
        +
        Description copied from class: Value
        +
        Returns this Value as a ReferenceValue.
        +
        +
        Overrides:
        +
        referenceValue in class Value
        +
        +
      • +
      + + + + + + + +
        +
      • +

        isSpecific

        +
        public boolean isSpecific()
        +
        Description copied from class: Value
        +
        Returns whether this Value represents a single specific (but possibly unknown) value.
        +
        +
        Overrides:
        +
        isSpecific in class Value
        +
        +
      • +
      + + + +
        +
      • +

        isParticular

        +
        public boolean isParticular()
        +
        Description copied from class: Value
        +
        Returns whether this Value represents a single particular (known) value.
        +
        +
        Overrides:
        +
        isParticular in class Value
        +
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public final Value generalize​(Value other)
        +
        Description copied from class: Value
        +
        Returns the generalization of this Value and the given other Value.
        +
        +
        Specified by:
        +
        generalize in class Value
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Value
        +
        Returns whether the computational type of this Value is a category 2 type. This means that it + takes up the space of two category 1 types on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Value
        +
        +
      • +
      + + + +
        +
      • +

        computationalType

        +
        public final int computationalType()
        +
        Description copied from class: Value
        +
        Returns the computational type of this Value.
        +
        +
        Specified by:
        +
        computationalType in class Value
        +
        Returns:
        +
        TYPE_INTEGER, TYPE_LONG, TYPE_FLOAT, + TYPE_DOUBLE, TYPE_REFERENCE, or TYPE_INSTRUCTION_OFFSET.
        +
        +
      • +
      + + + +
        +
      • +

        internalType

        +
        public final java.lang.String internalType()
        +
        Description copied from class: Value
        +
        Returns the internal type of this Value.
        +
        +
        Specified by:
        +
        internalType in class Value
        +
        Returns:
        +
        TypeConstants.BOOLEAN, TypeConstants.BYTE, + TypeConstants.CHAR, TypeConstants.SHORT, TypeConstants.INT + , TypeConstants.LONG, TypeConstants.FLOAT, + TypeConstants.DOUBLE, TypeConstants.CLASS_START ... TypeConstants.CLASS_END + , or an array type containing any of these types (always as String).
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/TypedReferenceValue.html b/api/proguard/evaluation/value/TypedReferenceValue.html new file mode 100644 index 000000000..afa241fdf --- /dev/null +++ b/api/proguard/evaluation/value/TypedReferenceValue.html @@ -0,0 +1,999 @@ + + + + + +TypedReferenceValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypedReferenceValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        INCOMPLETE_CLASS_HIERARCHY

        +
        public static boolean INCOMPLETE_CLASS_HIERARCHY
        +
        Indicates whether there were occurrences of IncompleteClassHierarchyException.
        +
      • +
      + + + +
        +
      • +

        ALLOW_INCOMPLETE_CLASS_HIERARCHY

        +
        public static boolean ALLOW_INCOMPLETE_CLASS_HIERARCHY
        +
        If true, do not throw an IncompleteClassHierarchyException when one would occur.
        +
      • +
      + + + +
        +
      • +

        WARN_INCOMPLETE_CLASS_HIERARCHY

        +
        public static boolean WARN_INCOMPLETE_CLASS_HIERARCHY
        +
        If true, print warnings for occurrences of IncompleteClassHierarchyException when + ALLOW_INCOMPLETE_CLASS_HIERARCHY is enabled.
        +
      • +
      + + + +
        +
      • +

        type

        +
        protected final java.lang.String type
        +
      • +
      + + + +
        +
      • +

        referencedClass

        +
        protected final Clazz referencedClass
        +
      • +
      + + + +
        +
      • +

        mayBeExtension

        +
        protected final boolean mayBeExtension
        +
      • +
      + + + +
        +
      • +

        mayBeNull

        +
        protected final boolean mayBeNull
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TypedReferenceValue

        +
        public TypedReferenceValue​(java.lang.String type,
        +                           Clazz referencedClass,
        +                           boolean mayBeExtension,
        +                           boolean mayBeNull)
        +
        Creates a new TypedReferenceValue.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        mayBeExtension

        +
        public boolean mayBeExtension()
        +
        Description copied from class: ReferenceValue
        +
        Returns whether the actual type of this ReferenceValue may be an extension of its type.
        +
        +
        Specified by:
        +
        mayBeExtension in class ReferenceValue
        +
        +
      • +
      + + + +
        +
      • +

        isNull

        +
        public int isNull()
        +
        Description copied from class: ReferenceValue
        +
        Returns whether this ReferenceValue is null.
        +
        +
        Specified by:
        +
        isNull in class ReferenceValue
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + +
        +
      • +

        instanceOf

        +
        public int instanceOf​(java.lang.String otherType,
        +                      Clazz otherReferencedClass)
        +
        Description copied from class: ReferenceValue
        +
        Returns whether the type is an instance of the given type.
        +
        +
        Specified by:
        +
        instanceOf in class ReferenceValue
        +
        +
      • +
      + + + + + + + +
        +
      • +

        generalizeMayBeNull

        +
        public ReferenceValue generalizeMayBeNull​(boolean mayBeNull)
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        equal

        +
        public int equal​(ReferenceValue other)
        +
        Description copied from class: ReferenceValue
        +
        Returns whether this ReferenceValue is equal to the given other ReferenceValue.
        +
        +
        Specified by:
        +
        equal in class ReferenceValue
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + + + + + +
        +
      • +

        allowsIncompleteClassHierarchy

        +
        public static boolean allowsIncompleteClassHierarchy()
        +
        Returns whether incomplete class hierarchies are allowed.
        +
      • +
      + + + + + + + + + + + + + + + + + + + +
        +
      • +

        arrayStore

        +
        public void arrayStore​(IntegerValue indexValue,
        +                       Value value)
        +
        Description copied from class: ReferenceValue
        +
        Stores the given value at the given index in the given array, assuming this type is an array.
        +
        +
        Overrides:
        +
        arrayStore in class ReferenceValue
        +
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public int equal​(TypedReferenceValue other)
        +
        Description copied from class: ReferenceValue
        +
        Returns whether this ReferenceValue is equal to the given other TypedReferenceValue.
        +
        +
        Overrides:
        +
        equal in class ReferenceValue
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + +
        +
      • +

        isParticular

        +
        public boolean isParticular()
        +
        Description copied from class: Value
        +
        Returns whether this Value represents a single particular (known) value.
        +
        +
        Overrides:
        +
        isParticular in class Value
        +
        +
      • +
      + + + +
        +
      • +

        internalType

        +
        public final java.lang.String internalType()
        +
        Description copied from class: Value
        +
        Returns the internal type of this Value.
        +
        +
        Specified by:
        +
        internalType in class Value
        +
        Returns:
        +
        TypeConstants.BOOLEAN, TypeConstants.BYTE, + TypeConstants.CHAR, TypeConstants.SHORT, TypeConstants.INT + , TypeConstants.LONG, TypeConstants.FLOAT, + TypeConstants.DOUBLE, TypeConstants.CLASS_START ... TypeConstants.CLASS_END + , or an array type containing any of these types (always as String).
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class ReferenceValue
        +
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/TypedReferenceValueFactory.html b/api/proguard/evaluation/value/TypedReferenceValueFactory.html new file mode 100644 index 000000000..d40e8c38b --- /dev/null +++ b/api/proguard/evaluation/value/TypedReferenceValueFactory.html @@ -0,0 +1,454 @@ + + + + + +TypedReferenceValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypedReferenceValueFactory

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/UnknownDoubleValue.html b/api/proguard/evaluation/value/UnknownDoubleValue.html new file mode 100644 index 000000000..ce34bd51f --- /dev/null +++ b/api/proguard/evaluation/value/UnknownDoubleValue.html @@ -0,0 +1,708 @@ + + + + + +UnknownDoubleValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UnknownDoubleValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/UnknownFloatValue.html b/api/proguard/evaluation/value/UnknownFloatValue.html new file mode 100644 index 000000000..ce792f01f --- /dev/null +++ b/api/proguard/evaluation/value/UnknownFloatValue.html @@ -0,0 +1,708 @@ + + + + + +UnknownFloatValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UnknownFloatValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UnknownFloatValue

        +
        public UnknownFloatValue()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        negate

        +
        public FloatValue negate()
        +
        Description copied from class: FloatValue
        +
        Returns the negated value of this FloatValue.
        +
        +
        Specified by:
        +
        negate in class FloatValue
        +
        +
      • +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        compare

        +
        public IntegerValue compare​(FloatValue other)
        +
        Description copied from class: FloatValue
        +
        Returns an IntegerValue with value -1, 0, or 1, if this FloatValue is less than, equal to, or + greater than the given FloatValue, respectively.
        +
        +
        Specified by:
        +
        compare in class FloatValue
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/UnknownIntegerValue.html b/api/proguard/evaluation/value/UnknownIntegerValue.html new file mode 100644 index 000000000..0c82a3eae --- /dev/null +++ b/api/proguard/evaluation/value/UnknownIntegerValue.html @@ -0,0 +1,1103 @@ + + + + + +UnknownIntegerValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UnknownIntegerValue

+
+
+ +
+
    +
  • +
    +
    public class UnknownIntegerValue
    +extends IntegerValue
    +
    IntegerValue that is unknown. + +

    This class handles interactions with: - IntegerValue (in general)

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/evaluation/value/UnknownLongValue.html b/api/proguard/evaluation/value/UnknownLongValue.html new file mode 100644 index 000000000..0d700335a --- /dev/null +++ b/api/proguard/evaluation/value/UnknownLongValue.html @@ -0,0 +1,855 @@ + + + + + +UnknownLongValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UnknownLongValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UnknownLongValue

        +
        public UnknownLongValue()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        negate

        +
        public LongValue negate()
        +
        Description copied from class: LongValue
        +
        Returns the negated value of this LongValue.
        +
        +
        Specified by:
        +
        negate in class LongValue
        +
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        generalize

        +
        public LongValue generalize​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns the generalization of this LongValue and the given other LongValue.
        +
        +
        Overrides:
        +
        generalize in class LongValue
        +
        +
      • +
      + + + +
        +
      • +

        add

        +
        public LongValue add​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns the sum of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        add in class LongValue
        +
        +
      • +
      + + + +
        +
      • +

        subtract

        +
        public LongValue subtract​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns the difference of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        subtract in class LongValue
        +
        +
      • +
      + + + + + + + +
        +
      • +

        multiply

        +
        public LongValue multiply​(LongValue other)
        +                   throws java.lang.ArithmeticException
        +
        Description copied from class: LongValue
        +
        Returns the product of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        multiply in class LongValue
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        divide

        +
        public LongValue divide​(LongValue other)
        +                 throws java.lang.ArithmeticException
        +
        Description copied from class: LongValue
        +
        Returns the quotient of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        divide in class LongValue
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        divideOf

        +
        public LongValue divideOf​(LongValue other)
        +                   throws java.lang.ArithmeticException
        +
        Description copied from class: LongValue
        +
        Returns the quotient of the given LongValue and this LongValue.
        +
        +
        Overrides:
        +
        divideOf in class LongValue
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        remainder

        +
        public LongValue remainder​(LongValue other)
        +                    throws java.lang.ArithmeticException
        +
        Description copied from class: LongValue
        +
        Returns the remainder of this LongValue divided by the given LongValue.
        +
        +
        Overrides:
        +
        remainder in class LongValue
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + +
        +
      • +

        remainderOf

        +
        public LongValue remainderOf​(LongValue other)
        +                      throws java.lang.ArithmeticException
        +
        Description copied from class: LongValue
        +
        Returns the remainder of the given LongValue divided by this LongValue.
        +
        +
        Overrides:
        +
        remainderOf in class LongValue
        +
        Throws:
        +
        java.lang.ArithmeticException
        +
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        and

        +
        public LongValue and​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns the logical and of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        and in class LongValue
        +
        +
      • +
      + + + +
        +
      • +

        or

        +
        public LongValue or​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns the logical or of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        or in class LongValue
        +
        +
      • +
      + + + +
        +
      • +

        xor

        +
        public LongValue xor​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns the logical xor of this LongValue and the given LongValue.
        +
        +
        Overrides:
        +
        xor in class LongValue
        +
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public IntegerValue compare​(LongValue other)
        +
        Description copied from class: LongValue
        +
        Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or + greater than the given LongValue, respectively.
        +
        +
        Overrides:
        +
        compare in class LongValue
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object object)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/UnknownReferenceValue.html b/api/proguard/evaluation/value/UnknownReferenceValue.html new file mode 100644 index 000000000..fe4e79ed7 --- /dev/null +++ b/api/proguard/evaluation/value/UnknownReferenceValue.html @@ -0,0 +1,600 @@ + + + + + +UnknownReferenceValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UnknownReferenceValue

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UnknownReferenceValue

        +
        public UnknownReferenceValue()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        mayBeExtension

        +
        public boolean mayBeExtension()
        +
        Description copied from class: ReferenceValue
        +
        Returns whether the actual type of this ReferenceValue may be an extension of its type.
        +
        +
        Specified by:
        +
        mayBeExtension in class ReferenceValue
        +
        +
      • +
      + + + +
        +
      • +

        isNull

        +
        public int isNull()
        +
        Description copied from class: ReferenceValue
        +
        Returns whether this ReferenceValue is null.
        +
        +
        Specified by:
        +
        isNull in class ReferenceValue
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + +
        +
      • +

        instanceOf

        +
        public int instanceOf​(java.lang.String otherType,
        +                      Clazz otherReferencedClass)
        +
        Description copied from class: ReferenceValue
        +
        Returns whether the type is an instance of the given type.
        +
        +
        Specified by:
        +
        instanceOf in class ReferenceValue
        +
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        equal

        +
        public int equal​(ReferenceValue other)
        +
        Description copied from class: ReferenceValue
        +
        Returns whether this ReferenceValue is equal to the given other ReferenceValue.
        +
        +
        Specified by:
        +
        equal in class ReferenceValue
        +
        Returns:
        +
        NEVER, MAYBE, or ALWAYS.
        +
        +
      • +
      + + + +
        +
      • +

        isParticular

        +
        public boolean isParticular()
        +
        Description copied from class: Value
        +
        Returns whether this Value represents a single particular (known) value.
        +
        +
        Overrides:
        +
        isParticular in class Value
        +
        +
      • +
      + + + +
        +
      • +

        internalType

        +
        public final java.lang.String internalType()
        +
        Description copied from class: Value
        +
        Returns the internal type of this Value.
        +
        +
        Specified by:
        +
        internalType in class Value
        +
        Returns:
        +
        TypeConstants.BOOLEAN, TypeConstants.BYTE, + TypeConstants.CHAR, TypeConstants.SHORT, TypeConstants.INT + , TypeConstants.LONG, TypeConstants.FLOAT, + TypeConstants.DOUBLE, TypeConstants.CLASS_START ... TypeConstants.CLASS_END + , or an array type containing any of these types (always as String).
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/UnknownValue.html b/api/proguard/evaluation/value/UnknownValue.html new file mode 100644 index 000000000..a5325dc9e --- /dev/null +++ b/api/proguard/evaluation/value/UnknownValue.html @@ -0,0 +1,432 @@ + + + + + +UnknownValue (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class UnknownValue

+
+
+ +
+
    +
  • +
    +
    public class UnknownValue
    +extends Value
    +
    Represents a value that is completely unknown.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        generalize

        +
        public Value generalize​(Value other)
        +
        Description copied from class: Value
        +
        Returns the generalization of this Value and the given other Value.
        +
        +
        Specified by:
        +
        generalize in class Value
        +
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public boolean isCategory2()
        +
        Description copied from class: Value
        +
        Returns whether the computational type of this Value is a category 2 type. This means that it + takes up the space of two category 1 types on the stack, for instance.
        +
        +
        Specified by:
        +
        isCategory2 in class Value
        +
        +
      • +
      + + + +
        +
      • +

        computationalType

        +
        public int computationalType()
        +
        Description copied from class: Value
        +
        Returns the computational type of this Value.
        +
        +
        Specified by:
        +
        computationalType in class Value
        +
        Returns:
        +
        TYPE_INTEGER, TYPE_LONG, TYPE_FLOAT, + TYPE_DOUBLE, TYPE_REFERENCE, or TYPE_INSTRUCTION_OFFSET.
        +
        +
      • +
      + + + +
        +
      • +

        internalType

        +
        public java.lang.String internalType()
        +
        Description copied from class: Value
        +
        Returns the internal type of this Value.
        +
        +
        Specified by:
        +
        internalType in class Value
        +
        Returns:
        +
        TypeConstants.BOOLEAN, TypeConstants.BYTE, + TypeConstants.CHAR, TypeConstants.SHORT, TypeConstants.INT + , TypeConstants.LONG, TypeConstants.FLOAT, + TypeConstants.DOUBLE, TypeConstants.CLASS_START ... TypeConstants.CLASS_END + , or an array type containing any of these types (always as String).
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/value/Value.html b/api/proguard/evaluation/value/Value.html new file mode 100644 index 000000000..1c3707eaf --- /dev/null +++ b/api/proguard/evaluation/value/Value.html @@ -0,0 +1,790 @@ + + + + + +Value (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Value

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.value.Value
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Value

        +
        public Value()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        category1Value

        +
        public Category1Value category1Value()
        +
        Returns this Value as a Category1Value.
        +
      • +
      + + + +
        +
      • +

        category2Value

        +
        public Category2Value category2Value()
        +
        Returns this Value as a Category2Value.
        +
      • +
      + + + +
        +
      • +

        integerValue

        +
        public IntegerValue integerValue()
        +
        Returns this Value as an IntegerValue.
        +
      • +
      + + + +
        +
      • +

        longValue

        +
        public LongValue longValue()
        +
        Returns this Value as a LongValue.
        +
      • +
      + + + +
        +
      • +

        floatValue

        +
        public FloatValue floatValue()
        +
        Returns this Value as a FloatValue.
        +
      • +
      + + + +
        +
      • +

        doubleValue

        +
        public DoubleValue doubleValue()
        +
        Returns this Value as a DoubleValue.
        +
      • +
      + + + +
        +
      • +

        referenceValue

        +
        public ReferenceValue referenceValue()
        +
        Returns this Value as a ReferenceValue.
        +
      • +
      + + + +
        +
      • +

        instructionOffsetValue

        +
        public InstructionOffsetValue instructionOffsetValue()
        +
        Returns this Value as an InstructionOffsetValue.
        +
      • +
      + + + +
        +
      • +

        isSpecific

        +
        public boolean isSpecific()
        +
        Returns whether this Value represents a single specific (but possibly unknown) value.
        +
      • +
      + + + +
        +
      • +

        isParticular

        +
        public boolean isParticular()
        +
        Returns whether this Value represents a single particular (known) value.
        +
      • +
      + + + +
        +
      • +

        generalize

        +
        public abstract Value generalize​(Value other)
        +
        Returns the generalization of this Value and the given other Value.
        +
      • +
      + + + +
        +
      • +

        isCategory2

        +
        public abstract boolean isCategory2()
        +
        Returns whether the computational type of this Value is a category 2 type. This means that it + takes up the space of two category 1 types on the stack, for instance.
        +
      • +
      + + + +
        +
      • +

        computationalType

        +
        public abstract int computationalType()
        +
        Returns the computational type of this Value.
        +
        +
        Returns:
        +
        TYPE_INTEGER, TYPE_LONG, TYPE_FLOAT, + TYPE_DOUBLE, TYPE_REFERENCE, or TYPE_INSTRUCTION_OFFSET.
        +
        +
      • +
      + + + +
        +
      • +

        internalType

        +
        public abstract java.lang.String internalType()
        +
        Returns the internal type of this Value.
        +
        +
        Returns:
        +
        TypeConstants.BOOLEAN, TypeConstants.BYTE, + TypeConstants.CHAR, TypeConstants.SHORT, TypeConstants.INT + , TypeConstants.LONG, TypeConstants.FLOAT, + TypeConstants.DOUBLE, TypeConstants.CLASS_START ... TypeConstants.CLASS_END + , or an array type containing any of these types (always as String).
        +
        +
      • +
      + + + +
        +
      • +

        copyIfMutable

        +
        public Value copyIfMutable()
        +
        Returns a deep copy of the value if it mutable, returns the value itself otherwise.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/ValueFactory.html b/api/proguard/evaluation/value/ValueFactory.html new file mode 100644 index 000000000..3da13dbf1 --- /dev/null +++ b/api/proguard/evaluation/value/ValueFactory.html @@ -0,0 +1,834 @@ + + + + + +ValueFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ValueFactory

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createValue

        +
        Value createValue​(java.lang.String type,
        +                  Clazz referencedClass,
        +                  boolean mayBeExtension,
        +                  boolean mayBeNull)
        +
        Creates a new Value of the given type. The type must be a fully specified internal type for + primitives, classes, or arrays.
        +
      • +
      + + + +
        +
      • +

        createIntegerValue

        +
        IntegerValue createIntegerValue()
        +
        Creates a new IntegerValue with an undefined value.
        +
      • +
      + + + +
        +
      • +

        createIntegerValue

        +
        IntegerValue createIntegerValue​(int value)
        +
        Creates a new IntegerValue with a given particular value.
        +
      • +
      + + + +
        +
      • +

        createIntegerValue

        +
        IntegerValue createIntegerValue​(int min,
        +                                int max)
        +
        Creates a new IntegerValue with a given possible range.
        +
      • +
      + + + +
        +
      • +

        createLongValue

        +
        LongValue createLongValue()
        +
        Creates a new LongValue with an undefined value.
        +
      • +
      + + + +
        +
      • +

        createLongValue

        +
        LongValue createLongValue​(long value)
        +
        Creates a new LongValue with a given particular value.
        +
      • +
      + + + +
        +
      • +

        createFloatValue

        +
        FloatValue createFloatValue()
        +
        Creates a new FloatValue with an undefined value.
        +
      • +
      + + + +
        +
      • +

        createFloatValue

        +
        FloatValue createFloatValue​(float value)
        +
        Creates a new FloatValue with a given particular value.
        +
      • +
      + + + +
        +
      • +

        createDoubleValue

        +
        DoubleValue createDoubleValue()
        +
        Creates a new DoubleValue with an undefined value.
        +
      • +
      + + + +
        +
      • +

        createDoubleValue

        +
        DoubleValue createDoubleValue​(double value)
        +
        Creates a new DoubleValue with a given particular value.
        +
      • +
      + + + +
        +
      • +

        createReferenceValue

        +
        ReferenceValue createReferenceValue()
        +
        Creates a new ReferenceValue of an undefined type.
        +
      • +
      + + + +
        +
      • +

        createReferenceValueNull

        +
        ReferenceValue createReferenceValueNull()
        +
        Creates a new ReferenceValue that represents null.
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        createReferenceValue

        +
        ReferenceValue createReferenceValue​(java.lang.String type,
        +                                    Clazz referencedClass,
        +                                    boolean mayBeExtension,
        +                                    boolean mayBeNull)
        +
        Creates a new ReferenceValue that represents the given type. The type must be an internal class + name or an array type. If the type is null, the ReferenceValue represents + null.
        +
      • +
      + + + +
        +
      • +

        createReferenceValue

        +
        @Deprecated
        +ReferenceValue createReferenceValue​(java.lang.String type,
        +                                    Clazz referencedClass,
        +                                    boolean mayBeExtension,
        +                                    boolean maybeNull,
        +                                    java.lang.Object value)
        +
        Deprecated.
        +
        Creates a new ReferenceValue that represents the given type. The type must be an internal class + name or an array type. If the type is null, the ReferenceValue represents + null. The object is the actual value of the reference during execution (can be null). + +

        Deprecated, use createReferenceValue(Clazz, boolean, boolean, + AnalyzedObject).

        +
      • +
      + + + +
        +
      • +

        createReferenceValue

        +
        default ReferenceValue createReferenceValue​(Clazz referencedClass,
        +                                            boolean mayBeExtension,
        +                                            boolean maybeNull,
        +                                            @NotNull
        +                                            @NotNull AnalyzedObject value)
        +
        Creates a new ReferenceValue that represents the given type. The type must be an internal class + name or an array type. If the type is null, the ReferenceValue represents + null. + +

        The object wrapped by AnalyzedObject is either the value of the reference during + execution or a Model of it.

        +
      • +
      + + + +
        +
      • +

        createReferenceValue

        +
        ReferenceValue createReferenceValue​(java.lang.String type,
        +                                    Clazz referencedClass,
        +                                    boolean mayBeExtension,
        +                                    boolean maybeNull,
        +                                    Clazz creationClass,
        +                                    Method creationMethod,
        +                                    int creationOffset)
        +
        Creates a new ReferenceValue that represents the given type, created at the specified code + location. The type must be an internal class name or an array type. If the type is null + , the ReferenceValue represents null.
        +
      • +
      + + + +
        +
      • +

        createReferenceValue

        +
        @Deprecated
        +ReferenceValue createReferenceValue​(java.lang.String type,
        +                                    Clazz referencedClass,
        +                                    boolean mayBeExtension,
        +                                    boolean maybeNull,
        +                                    Clazz creationClass,
        +                                    Method creationMethod,
        +                                    int creationOffset,
        +                                    java.lang.Object value)
        +
        Deprecated.
        +
        Creates a new ReferenceValue that represents the given type, created at the specified code + location. The type must be an internal class name or an array type. If the type is null + , the ReferenceValue represents null. The object is the actual value of the + reference during execution (can be null). + +

        Deprecated, use createReferenceValue(Clazz, boolean, boolean, + CodeLocation, AnalyzedObject)

        +
      • +
      + + + +
        +
      • +

        createReferenceValue

        +
        default ReferenceValue createReferenceValue​(Clazz referencedClass,
        +                                            boolean mayBeExtension,
        +                                            boolean maybeNull,
        +                                            CodeLocation creationLocation,
        +                                            @NotNull
        +                                            @NotNull AnalyzedObject value)
        +
        Creates a new ReferenceValue that represents the given type, created at the specified code + location. The type must be an internal class name or an array type. If the type is null + , the ReferenceValue represents null. + +

        The object wrapped by AnalyzedObject is either the value of the reference during + execution or a Model of it.

        +
      • +
      + + + +
        +
      • +

        createReferenceValueForId

        +
        ReferenceValue createReferenceValueForId​(java.lang.String type,
        +                                         Clazz referencedClass,
        +                                         boolean mayBeExtension,
        +                                         boolean maybeNull,
        +                                         java.lang.Object id)
        +
        Creates a new ReferenceValue that represents the given type with a specified ID. The type must + be an internal class name or an array type. If the type is null, the + ReferenceValue represents null.
        +
      • +
      + + + +
        +
      • +

        createReferenceValueForId

        +
        @Deprecated
        +ReferenceValue createReferenceValueForId​(java.lang.String type,
        +                                         Clazz referencedClass,
        +                                         boolean mayBeExtension,
        +                                         boolean maybeNull,
        +                                         java.lang.Object id,
        +                                         java.lang.Object value)
        +
        Deprecated.
        +
        Creates a new ReferenceValue that represents the given type with a specified ID. The type must + be an internal class name or an array type. If the type is null, the + ReferenceValue represents null. The object is the actual value of the reference + during execution (can be null). + +

        Deprecated, use createReferenceValueForId(Clazz, boolean, boolean, + Object, AnalyzedObject).

        +
      • +
      + + + +
        +
      • +

        createReferenceValueForId

        +
        default ReferenceValue createReferenceValueForId​(Clazz referencedClass,
        +                                                 boolean mayBeExtension,
        +                                                 boolean maybeNull,
        +                                                 java.lang.Object id,
        +                                                 @NotNull
        +                                                 @NotNull AnalyzedObject value)
        +
        Creates a new ReferenceValue that represents the given type with a specified ID. The type must + be an internal class name or an array type. If the type is null, the + ReferenceValue represents null. + +

        The object wrapped by AnalyzedObject is either the value of the reference during + execution or a Model of it.

        +
      • +
      + + + +
        +
      • +

        createArrayReferenceValue

        +
        ReferenceValue createArrayReferenceValue​(java.lang.String type,
        +                                         Clazz referencedClass,
        +                                         IntegerValue arrayLength)
        +
        Creates a new ReferenceValue that represents a non-null array with elements of the given type, + with the given length.
        +
      • +
      + + + +
        +
      • +

        createArrayReferenceValue

        +
        ReferenceValue createArrayReferenceValue​(java.lang.String type,
        +                                         Clazz referencedClass,
        +                                         IntegerValue arrayLength,
        +                                         java.lang.Object elementValues)
        +
        Creates a new ReferenceValue that represents a non-null array with elements of the given type, + with the given length and initial element values.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/value/object/AnalyzedObject.html b/api/proguard/evaluation/value/object/AnalyzedObject.html new file mode 100644 index 000000000..a4979c567 --- /dev/null +++ b/api/proguard/evaluation/value/object/AnalyzedObject.html @@ -0,0 +1,453 @@ + + + + + +AnalyzedObject (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface AnalyzedObject

+
+
+
+
    +
  • +
    +
    public interface AnalyzedObject
    +
    A class wrapping values calculated during an analysis. + +

    The wrapped values can be precise (i.e., it's possible to produce the exact object) or modeled + (i.e., the value is represented by a Model). + +

    These two definitions are usually exclusive but this is not needed. A AnalyzedObject + backed by a Model might be able to produce a precise value if such is its design.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and TypeMethodDescription
      default @Nullable ModelgetModeledOrNullValue() +
      Returns the wrapped value if modeled (i.e, isModeled() is true) or null, + throws if called on a non-modeled and non-null value.
      +
      default ModelgetModeledValue() +
      Returns the wrapped value if modeled (i.e, isModeled() is true), throws + if called on a non-modeled value.
      +
      default @Nullable java.lang.ObjectgetPreciseValue() +
      Returns the wrapped value if precise (i.e, isPrecise() is true), throws + if called on a non-precise value.
      +
      @Nullable java.lang.StringgetType() +
      Returns the type of the tracked value.
      +
      default booleanisInstanceOf​(Clazz clazz) +
      Whether "instanceof" for the given clazz would return true for the wrapped value (i.e., the + tracked value is an instance of clazz or extends/implements it).
      +
      booleanisModeled() +
      Whether the wrapped value is modeled.
      +
      booleanisNull() +
      Whether the wrapped value is null.
      +
      default booleanisOfType​(@NotNull java.lang.String type) +
      Whether the wrapped value is exactly of a type.
      +
      default booleanisOfTypeAndNotNull​(@NotNull java.lang.String type) +
      Whether the wrapped value is exactly of a type and hasn't a null value.
      +
      booleanisPrecise() +
      Whether the wrapped value is precise.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getType

        +
        @Nullable
        +@Nullable java.lang.String getType()
        +
        Returns the type of the tracked value. This is the most specific type the analysis can infer + for the value.
        +
        +
        Returns:
        +
        the type of the wrapped value. In internal format (e.g., "Ljava/lang/String;").
        +
        +
      • +
      + + + +
        +
      • +

        isNull

        +
        boolean isNull()
        +
        Whether the wrapped value is null. getPreciseValue() returns null in + this case.
        +
      • +
      + + + +
        +
      • +

        isModeled

        +
        boolean isModeled()
        +
        Whether the wrapped value is modeled. getModeledValue() returns an + instance of Model in this case.
        +
      • +
      + + + +
        +
      • +

        isPrecise

        +
        boolean isPrecise()
        +
        Whether the wrapped value is precise. getPreciseValue() returns an + object with the exact value in this case.
        +
      • +
      + + + +
        +
      • +

        isOfType

        +
        default boolean isOfType​(@NotNull
        +                         @NotNull java.lang.String type)
        +
        Whether the wrapped value is exactly of a type. No inheritance is considered.
        +
        +
        Parameters:
        +
        type - a type to check if it corresponds to the wrapped value's type. In internal format + (e.g., "Ljava/lang/String;").
        +
        +
      • +
      + + + +
        +
      • +

        isOfTypeAndNotNull

        +
        default boolean isOfTypeAndNotNull​(@NotNull
        +                                   @NotNull java.lang.String type)
        +
        Whether the wrapped value is exactly of a type and hasn't a null value.
        +
      • +
      + + + +
        +
      • +

        isInstanceOf

        +
        default boolean isInstanceOf​(Clazz clazz)
        +
        Whether "instanceof" for the given clazz would return true for the wrapped value (i.e., the + tracked value is an instance of clazz or extends/implements it). + +

        If the tracked value is an array this checks the inheritance of the referenced class (e.g., + for a String[] this is true if clazz is 'Object' since String extends Object).

        +
        +
        Parameters:
        +
        clazz - a class the wrapped value is checked to inherit from
        +
        Returns:
        +
        false if clazz is null or the type of the value does not belong to the class or extends + it, true otherwise
        +
        +
      • +
      + + + +
        +
      • +

        getPreciseValue

        +
        @Nullable
        +default @Nullable java.lang.Object getPreciseValue()
        +
        Returns the wrapped value if precise (i.e, isPrecise() is true), throws + if called on a non-precise value.
        +
      • +
      + + + +
        +
      • +

        getModeledValue

        +
        default Model getModeledValue()
        +
        Returns the wrapped value if modeled (i.e, isModeled() is true), throws + if called on a non-modeled value. + +

        This method should be used when a non-null modeled value is expected or when isModeled() has been checked. If a value is expected to be modeled but can also + assume null (precise) values getModeledOrNullValue() should be used.

        +
      • +
      + + + +
        +
      • +

        getModeledOrNullValue

        +
        @Nullable
        +default @Nullable Model getModeledOrNullValue()
        +
        Returns the wrapped value if modeled (i.e, isModeled() is true) or null, + throws if called on a non-modeled and non-null value. + +

        This method should be used in cases where the type is known to be modeled by the analysis + but null values are also possible (which are precise).

        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/value/object/AnalyzedObjectFactory.html b/api/proguard/evaluation/value/object/AnalyzedObjectFactory.html new file mode 100644 index 000000000..558a32224 --- /dev/null +++ b/api/proguard/evaluation/value/object/AnalyzedObjectFactory.html @@ -0,0 +1,405 @@ + + + + + +AnalyzedObjectFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AnalyzedObjectFactory

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.value.object.AnalyzedObjectFactory
    • +
    +
  • +
+
+
    +
  • +
    +
    public class AnalyzedObjectFactory
    +extends java.lang.Object
    +
    Factory methods to create AnalyzedObject.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        create

        +
        public static AnalyzedObject create​(@Nullable
        +                                    @Nullable java.lang.Object value,
        +                                    @Nullable
        +                                    @Nullable java.lang.String type,
        +                                    @Nullable
        +                                    @Nullable Clazz referencedClass)
        +
        Create a AnalyzedObject, representing the tracked value for a reference type. If an + object is created successfully it is guaranteed to be modeled if the passed value was an + instance of Model. + +

        Consistency checks on the arguments are performed: + +

          +
        • If "value" is null and "referencedClass" isn't, "type" should match the type of + "referencedClass" +
        • If "type" represents a primitive type or primitive array "referencedClass" should be null +
        • If "referencedClass" is not null, the type of "value" (or of the type modeled by "value" + if it is a Model) has to be the same type of "referencedClass" or of a class + inheriting from it. +
        • If "referencedClass" is null, "type" needs to match the type of "value" (or of the type + modeled by "value" if it is a Model) +
        +
        +
        Parameters:
        +
        value - the value of the tracked object. Can be the actual value or a Model. null + iff the tracked value is null
        +
        type - the type of the value. This should be the static type specified in the method + signature, might not correspond to the type returned by the created AnalyzedObject.getType() because dynamic typing might be taken into consideration.
        +
        referencedClass - the class referenced when the value is created (e.g., the class of the + return value of a method call). Always null for primitive types (or arrays of primitive); + can be null if the library class pool is missing or the class pool references have not been + initialized; can also be null in some cases even if everything has been initialized. For + this reason this is used just for sanity checks when not-null, while it being null is not + considered in any way as something incorrect.
        +
        +
      • +
      + + + +
        +
      • +

        createPrecise

        +
        public static AnalyzedObject createPrecise​(@NotNull
        +                                           @NotNull java.lang.Object value)
        +
        Create a precise object wrapping the value.
        +
        +
        Parameters:
        +
        value - The wrapped value
        +
        +
      • +
      + + + +
        +
      • +

        createModeled

        +
        public static AnalyzedObject createModeled​(@NotNull
        +                                           @NotNull Model value)
        +
        Create an object the value of which is modeled.
        +
        +
        Parameters:
        +
        value - The wrapped model
        +
        +
      • +
      + + + +
        +
      • +

        createNullOfType

        +
        public static AnalyzedObject createNullOfType​(@NotNull
        +                                              @NotNull java.lang.String type)
        +
        Create an object with null value and known type.
        +
        +
        Parameters:
        +
        type - The known type of the null object
        +
        +
      • +
      + + + +
        +
      • +

        createNull

        +
        public static AnalyzedObject createNull()
        +
        Create an object with unknown type and null value.
        +
      • +
      + + + +
        +
      • +

        createDetailedArray

        +
        public static AnalyzedObject createDetailedArray​(Value[] values,
        +                                                 java.lang.String type)
        +
        Create a modeled object representing a detailed array (i.e., it's model is a ArrayModel.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/value/object/model/ArrayModel.html b/api/proguard/evaluation/value/object/model/ArrayModel.html new file mode 100644 index 000000000..e7ea79e2b --- /dev/null +++ b/api/proguard/evaluation/value/object/model/ArrayModel.html @@ -0,0 +1,489 @@ + + + + + +ArrayModel (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ArrayModel

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.value.object.model.ArrayModel
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Model
    +
    +
    +
    public class ArrayModel
    +extends java.lang.Object
    +implements Model
    +
    A Model to track array values.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ArrayModel

        +
        public ArrayModel​(Value[] values,
        +                  java.lang.String type)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getValues

        +
        public Value[] getValues()
        +
      • +
      + + + +
        +
      • +

        getType

        +
        @NotNull
        +public @NotNull java.lang.String getType()
        +
        Description copied from interface: Model
        +
        Returns the type of the modeled class.
        +
        +
        Specified by:
        +
        getType in interface Model
        +
        +
      • +
      + + + +
        +
      • +

        init

        +
        public MethodResult init​(MethodExecutionInfo methodExecutionInfo,
        +                         ValueCalculator valueCalculator)
        +
        Description copied from interface: Model
        +
        Execute a constructor call for the modeled class. + +

        It is suggested to add logic to allow running this only on a dummy model without any state.

        +
        +
        Specified by:
        +
        init in interface Model
        +
        Parameters:
        +
        methodExecutionInfo - execution info of the target method.
        +
        valueCalculator - the value calculator that should be used to create any value in the + result.
        +
        Returns:
        +
        the result of the method invocation. Since it's a constructor invocation the return + value of the result is expected to be empty and the constructed value should be set as the + updated instance.
        +
        +
      • +
      + + + +
        +
      • +

        invoke

        +
        public MethodResult invoke​(MethodExecutionInfo methodExecutionInfo,
        +                           ValueCalculator valueCalculator)
        +
        Description copied from interface: Model
        +
        Execute an instance method on the modeled object. The state of the instance is represented by + the state of the model. + +

        It is suggested to add logic to allow running this only on a model representing an + initialized object.

        +
        +
        Specified by:
        +
        invoke in interface Model
        +
        Parameters:
        +
        methodExecutionInfo - execution info of the target method.
        +
        valueCalculator - the value calculator that should be used to create any value in the + result.
        +
        Returns:
        +
        the result of the method invocation.
        +
        +
      • +
      + + + +
        +
      • +

        invokeStatic

        +
        public MethodResult invokeStatic​(MethodExecutionInfo methodExecutionInfo,
        +                                 ValueCalculator valueCalculator)
        +
        Description copied from interface: Model
        +
        Execute a static method for the modeled class. + +

        It is suggested to add logic to allow running this only on a dummy model without any state.

        +
        +
        Specified by:
        +
        invokeStatic in interface Model
        +
        Parameters:
        +
        methodExecutionInfo - execution info of the target method.
        +
        valueCalculator - the value calculator that should be used to create any value in the + result.
        +
        Returns:
        +
        the result of the method invocation.
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/object/model/ClassModel.html b/api/proguard/evaluation/value/object/model/ClassModel.html new file mode 100644 index 000000000..94d8589ab --- /dev/null +++ b/api/proguard/evaluation/value/object/model/ClassModel.html @@ -0,0 +1,481 @@ + + + + + +ClassModel (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassModel

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.value.object.model.ClassModel
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassModel

        +
        public ClassModel​(Clazz clazz)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getType

        +
        @NotNull
        +public @NotNull java.lang.String getType()
        +
        Description copied from interface: Model
        +
        Returns the type of the modeled class.
        +
        +
        Specified by:
        +
        getType in interface Model
        +
        +
      • +
      + + + +
        +
      • +

        init

        +
        public MethodResult init​(MethodExecutionInfo methodExecutionInfo,
        +                         ValueCalculator valueCalculator)
        +
        Description copied from interface: Model
        +
        Execute a constructor call for the modeled class. + +

        It is suggested to add logic to allow running this only on a dummy model without any state.

        +
        +
        Specified by:
        +
        init in interface Model
        +
        Specified by:
        +
        init in interface ReflectiveModel<ClassModel>
        +
        Parameters:
        +
        methodExecutionInfo - execution info of the target method.
        +
        valueCalculator - the value calculator that should be used to create any value in the + result.
        +
        Returns:
        +
        the result of the method invocation. Since it's a constructor invocation the return + value of the result is expected to be empty and the constructed value should be set as the + updated instance.
        +
        +
      • +
      + + + +
        +
      • +

        invokeStatic

        +
        public MethodResult invokeStatic​(MethodExecutionInfo methodExecutionInfo,
        +                                 ValueCalculator valueCalculator)
        +
        Description copied from interface: Model
        +
        Execute a static method for the modeled class. + +

        It is suggested to add logic to allow running this only on a dummy model without any state.

        +
        +
        Specified by:
        +
        invokeStatic in interface Model
        +
        Specified by:
        +
        invokeStatic in interface ReflectiveModel<ClassModel>
        +
        Parameters:
        +
        methodExecutionInfo - execution info of the target method.
        +
        valueCalculator - the value calculator that should be used to create any value in the + result.
        +
        Returns:
        +
        the result of the method invocation.
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        getClazz

        +
        public Clazz getClazz()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/object/model/Model.html b/api/proguard/evaluation/value/object/model/Model.html new file mode 100644 index 000000000..3e6326fb1 --- /dev/null +++ b/api/proguard/evaluation/value/object/model/Model.html @@ -0,0 +1,360 @@ + + + + + +Model (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Model

+
+
+
+
    +
  • +
    +
    All Known Subinterfaces:
    +
    ReflectiveModel<T>
    +
    +
    +
    All Known Implementing Classes:
    +
    ArrayModel, ClassModel
    +
    +
    +
    public interface Model
    +
    This interface can be implemented for each class that needs to be modeled during an analysis. + +

    The data tracked and logic to handle the methods of the modeled class are + implementation-specific. + +

    The implementations are expected to override Object.equals(Object) and Object.hashCode() to guarantee the expected behavior during the analysis. + +

    The interface methods init, invoke, and invokeStatic are meant to be used to + handle the proper method calls on the modeled object.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getType

        +
        @NotNull
        +@NotNull java.lang.String getType()
        +
        Returns the type of the modeled class.
        +
      • +
      + + + +
        +
      • +

        init

        +
        MethodResult init​(MethodExecutionInfo methodExecutionInfo,
        +                  ValueCalculator valueCalculator)
        +
        Execute a constructor call for the modeled class. + +

        It is suggested to add logic to allow running this only on a dummy model without any state.

        +
        +
        Parameters:
        +
        methodExecutionInfo - execution info of the target method.
        +
        valueCalculator - the value calculator that should be used to create any value in the + result.
        +
        Returns:
        +
        the result of the method invocation. Since it's a constructor invocation the return + value of the result is expected to be empty and the constructed value should be set as the + updated instance.
        +
        +
      • +
      + + + +
        +
      • +

        invoke

        +
        MethodResult invoke​(MethodExecutionInfo methodExecutionInfo,
        +                    ValueCalculator valueCalculator)
        +
        Execute an instance method on the modeled object. The state of the instance is represented by + the state of the model. + +

        It is suggested to add logic to allow running this only on a model representing an + initialized object.

        +
        +
        Parameters:
        +
        methodExecutionInfo - execution info of the target method.
        +
        valueCalculator - the value calculator that should be used to create any value in the + result.
        +
        Returns:
        +
        the result of the method invocation.
        +
        +
      • +
      + + + +
        +
      • +

        invokeStatic

        +
        MethodResult invokeStatic​(MethodExecutionInfo methodExecutionInfo,
        +                          ValueCalculator valueCalculator)
        +
        Execute a static method for the modeled class. + +

        It is suggested to add logic to allow running this only on a dummy model without any state.

        +
        +
        Parameters:
        +
        methodExecutionInfo - execution info of the target method.
        +
        valueCalculator - the value calculator that should be used to create any value in the + result.
        +
        Returns:
        +
        the result of the method invocation.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/value/object/model/package-summary.html b/api/proguard/evaluation/value/object/model/package-summary.html new file mode 100644 index 000000000..10ad33ccd --- /dev/null +++ b/api/proguard/evaluation/value/object/model/package-summary.html @@ -0,0 +1,189 @@ + + + + + +proguard.evaluation.value.object.model (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.evaluation.value.object.model

+
+
+
    +
  • + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    Model +
    This interface can be implemented for each class that needs to be modeled during an analysis.
    +
    +
  • +
  • + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    ArrayModel +
    A Model to track array values.
    +
    ClassModel +
    A Model to track specific Clazz constants.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/evaluation/value/object/model/package-tree.html b/api/proguard/evaluation/value/object/model/package-tree.html new file mode 100644 index 000000000..d93905b88 --- /dev/null +++ b/api/proguard/evaluation/value/object/model/package-tree.html @@ -0,0 +1,168 @@ + + + + + +proguard.evaluation.value.object.model Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.evaluation.value.object.model

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • proguard.evaluation.value.object.model.ArrayModel (implements proguard.evaluation.value.object.model.Model)
    • +
    • proguard.evaluation.value.object.model.ClassModel (implements proguard.evaluation.value.object.model.reflective.ReflectiveModel<T>)
    • +
    +
  • +
+
+
+

Interface Hierarchy

+
    +
  • proguard.evaluation.value.object.model.Model
  • +
+
+
+
+ + + diff --git a/api/proguard/evaluation/value/object/model/reflective/ModelHelper.MethodExecutionContext.html b/api/proguard/evaluation/value/object/model/reflective/ModelHelper.MethodExecutionContext.html new file mode 100644 index 000000000..809768e14 --- /dev/null +++ b/api/proguard/evaluation/value/object/model/reflective/ModelHelper.MethodExecutionContext.html @@ -0,0 +1,344 @@ + + + + + +ModelHelper.MethodExecutionContext (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ModelHelper.MethodExecutionContext

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.value.object.model.reflective.ModelHelper.MethodExecutionContext
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    ModelHelper
    +
    +
    +
    public static final class ModelHelper.MethodExecutionContext
    +extends java.lang.Object
    +
    A helper class grouping MethodExecutionInfo and ValueCalculator as the + execution context of a method.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/object/model/reflective/ModelHelper.html b/api/proguard/evaluation/value/object/model/reflective/ModelHelper.html new file mode 100644 index 000000000..e7abc5ec4 --- /dev/null +++ b/api/proguard/evaluation/value/object/model/reflective/ModelHelper.html @@ -0,0 +1,618 @@ + + + + + +ModelHelper (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.value.object.model.reflective.ModelHelper
    • +
    +
  • +
+
+
    +
  • +
    +
    public final class ModelHelper
    +extends java.lang.Object
    +
    Helper methods to use Models.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getConstructorHandlers

        +
        public static <T extends ReflectiveModel<T>> java.util.Map<BasicMethodInfo,​java.lang.reflect.Method> getConstructorHandlers​(java.lang.Class<T> modelClass)
        +
        Given a model class, use reflection to build a mapping from BasicMethodInfos used by + the analysis to identify a constructor to the Method handler to the method modeling it, + in order to be able to invoke it. + +

        The model needs to annotate the methods modeling constructors with ModeledConstructor.

        +
        +
        Parameters:
        +
        modelClass - the Model's class
        +
        Returns:
        +
        a mapping from a signature to the method modeling the constructor it represents
        +
        +
      • +
      + + + +
        +
      • +

        getInstanceMethodHandlers

        +
        public static <T extends ReflectiveModel<T>> java.util.Map<BasicMethodInfo,​java.lang.reflect.Method> getInstanceMethodHandlers​(java.lang.Class<T> modelClass)
        +
        Given a model class, use reflection to build a mapping from BasicMethodInfos used by + the analysis to identify an instance method to the Method handler to the method + modeling it, in order to be able to invoke it. + +

        The model needs to annotate the methods modeling instance methods with ModeledInstanceMethod.

        +
        +
        Parameters:
        +
        modelClass - the Model's class
        +
        Returns:
        +
        a mapping from a signature to the method modeling the instance method it represents
        +
        +
      • +
      + + + +
        +
      • +

        getStaticMethodHandlers

        +
        public static <T extends ReflectiveModel<T>> java.util.Map<BasicMethodInfo,​java.lang.reflect.Method> getStaticMethodHandlers​(java.lang.Class<T> modelClass)
        +
        Given a model class, use reflection to build a mapping from BasicMethodInfos used by + the analysis to identify an instance method to the Method handler to the method + modeling it, in order to be able to invoke it. + +

        The model needs to annotate the methods modeling instance methods with ModeledInstanceMethod.

        +
        +
        Parameters:
        +
        modelClass - the Model's class
        +
        Returns:
        +
        a mapping from a signature to the method modeling the static method it represents
        +
        +
      • +
      + + + +
        +
      • +

        getDummyObject

        +
        public static <T extends ReflectiveModel<T>> T getDummyObject​(java.lang.Class<T> modelClass)
        +
      • +
      + + + +
        +
      • +

        getSupportedMethods

        +
        public static <T extends ReflectiveModel<T>> java.util.Collection<BasicMethodInfo> getSupportedMethods​(java.lang.Class<T> modelClass)
        +
      • +
      + + + +
        +
      • +

        allParticular

        +
        public static boolean allParticular​(java.util.List<Value> values)
        +
        Simple helper method to check if all values in the given list are particular.
        +
        +
        Parameters:
        +
        values - Values to check.
        +
        Returns:
        +
        Whether all of the values are particular.
        +
        +
      • +
      + + + +
        +
      • +

        areInstanceAndParametersParticular

        +
        public static boolean areInstanceAndParametersParticular​(MethodExecutionInfo executionInfo)
        +
        Check whether both the instance (for instance methods) and all parameters of a method call are + particular.
        +
        +
        Parameters:
        +
        executionInfo - information on a method execution.
        +
        Returns:
        +
        whether both the instance and the parameters are particular.
        +
        +
      • +
      + + + +
        +
      • +

        executeViaHandler

        +
        public static MethodResult executeViaHandler​(ModelHelper.MethodExecutionContext context,
        +                                             java.util.Map<BasicMethodInfo,​java.lang.reflect.Method> handlers,
        +                                             Model instance)
        +
        Utility method to execute a modeled method on a model using the provided Map of supported + handlers.
        +
        +
        Parameters:
        +
        context - The method execution context.
        +
        handlers - Map of BasicMethodInfo to Methods which are supported.
        +
        instance - Instance to execute the method on.
        +
        Returns:
        +
        The result of the method execution.
        +
        Throws:
        +
        java.lang.UnsupportedOperationException - If a method without handler is requested.
        +
        java.lang.RuntimeException - For any exception during reflective execution of the method.
        +
        +
      • +
      + + + +
        +
      • +

        createDefaultConstructorResult

        +
        public static MethodResult createDefaultConstructorResult​(ModelHelper.MethodExecutionContext context,
        +                                                          Model concreteValue)
        +
        Helper to create a value from a standard modeled constructor call. This should be used for + constructor where all of these are true: + +
          +
        • Create a known (particular) value +
        • Have no side effects besides constructing the object +
        +
        +
        Parameters:
        +
        context - The method execution context.
        +
        concreteValue - The value of the constructed object.
        +
        Returns:
        +
        The result containing the updated instance.
        +
        +
      • +
      + + + +
        +
      • +

        createDefaultReturnResult

        +
        public static MethodResult createDefaultReturnResult​(ModelHelper.MethodExecutionContext context,
        +                                                     @Nullable
        +                                                     @Nullable java.lang.Object concreteValue)
        +
        Helper to create a value from a standard modeled method call. This should be used for calls + where all of these are true: + +
          +
        • Return a known (particular) value +
        • Is a pure function (i.e. no side-effects, just returns a value) +
        +
        +
        Parameters:
        +
        context - The method execution context.
        +
        concreteValue - The value of the returned object, can be precise or a Model.
        +
        Returns:
        +
        The result containing the return value.
        +
        +
      • +
      + + + +
        +
      • +

        createDefaultBuilderResult

        +
        public static MethodResult createDefaultBuilderResult​(ModelHelper.MethodExecutionContext context,
        +                                                      java.lang.Object newInstance)
        +
        Helper to create a method result containing "this", the instance a method has been called on. + This should be used for calls where all of these are true: + +
          +
        • Returns the instance the method was invoked on +
        • Have no side effects besides the modification of the instance +
        + +

        Usually, this would be used on classes with a fluent interface, e.g. setters when using the + Builder design pattern: + +

        Builder setValue(value) {
        +     this.value = value; // modify instance
        +     return this;
        + }
        +
        +
        Parameters:
        +
        context - The method execution context.
        +
        newInstance - The new instance, can be precise or a Model.
        +
        Returns:
        +
        The result containing the return value.
        +
        +
      • +
      + + + +
        +
      • +

        createUnknownBuilderResult

        +
        public static MethodResult createUnknownBuilderResult​(ModelHelper.MethodExecutionContext context)
        +
        Helper to create a method result containing "this" with unknown value. The helper should be + used only for calls where all of these are true: + +
          +
        • Returns the instance the method was invoked on, the instance value might or might not be + already known +
        • Have no other side effects +
        • The value of the instance is now unknown +
        + +

        Usually, this would be used on classes with a fluent interface, e.g. setters when using the + Builder design pattern: + +

        Builder setValue(value) {
        +     this.value = value; // modify instance
        +     return this;
        + }
        +
        +
        Parameters:
        +
        context - The method execution context.
        +
        Returns:
        +
        The result containing the return value.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/evaluation/value/object/model/reflective/ModeledConstructor.html b/api/proguard/evaluation/value/object/model/reflective/ModeledConstructor.html new file mode 100644 index 000000000..5331599a7 --- /dev/null +++ b/api/proguard/evaluation/value/object/model/reflective/ModeledConstructor.html @@ -0,0 +1,244 @@ + + + + + +ModeledConstructor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Annotation Type ModeledConstructor

+
+
+
+
    +
  • +
    +
    @Retention(RUNTIME)
    +@Target(METHOD)
    +public @interface ModeledConstructor
    +
    Used to identify methods that model behavior for constructors of a class modeled in Model.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Required Element Summary

      + + + + + + + + + + + + +
      Required Elements 
      Modifier and TypeRequired ElementDescription
      java.lang.Stringdescriptor +
      The descriptor of the modeled constructor.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Element Detail

      + + + +
        +
      • +

        descriptor

        +
        java.lang.String descriptor
        +
        The descriptor of the modeled constructor.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/object/model/reflective/ModeledInstanceMethod.html b/api/proguard/evaluation/value/object/model/reflective/ModeledInstanceMethod.html new file mode 100644 index 000000000..6f085627e --- /dev/null +++ b/api/proguard/evaluation/value/object/model/reflective/ModeledInstanceMethod.html @@ -0,0 +1,266 @@ + + + + + +ModeledInstanceMethod (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Annotation Type ModeledInstanceMethod

+
+
+
+
    +
  • +
    +
    @Retention(RUNTIME)
    +@Target(METHOD)
    +public @interface ModeledInstanceMethod
    +
    Used to identify methods that model behavior for instance methods of a class modeled in Model.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Required Element Summary

      + + + + + + + + + + + + + + + + + +
      Required Elements 
      Modifier and TypeRequired ElementDescription
      java.lang.Stringdescriptor +
      The descriptor of the modeled method.
      +
      java.lang.Stringname +
      The name of the modeled method.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Element Detail

      + + + +
        +
      • +

        name

        +
        java.lang.String name
        +
        The name of the modeled method.
        +
      • +
      +
    • +
    +
    +
    +
      +
    • + + +
        +
      • +

        descriptor

        +
        java.lang.String descriptor
        +
        The descriptor of the modeled method.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/object/model/reflective/ModeledStaticMethod.html b/api/proguard/evaluation/value/object/model/reflective/ModeledStaticMethod.html new file mode 100644 index 000000000..2d7db9d2e --- /dev/null +++ b/api/proguard/evaluation/value/object/model/reflective/ModeledStaticMethod.html @@ -0,0 +1,266 @@ + + + + + +ModeledStaticMethod (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Annotation Type ModeledStaticMethod

+
+
+
+
    +
  • +
    +
    @Retention(RUNTIME)
    +@Target(METHOD)
    +public @interface ModeledStaticMethod
    +
    Used to identify methods that model behavior for static methods of a class modeled in Model.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Required Element Summary

      + + + + + + + + + + + + + + + + + +
      Required Elements 
      Modifier and TypeRequired ElementDescription
      java.lang.Stringdescriptor +
      The descriptor of the modeled method.
      +
      java.lang.Stringname +
      The name of the modeled method.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Element Detail

      + + + +
        +
      • +

        name

        +
        java.lang.String name
        +
        The name of the modeled method.
        +
      • +
      +
    • +
    +
    +
    +
      +
    • + + +
        +
      • +

        descriptor

        +
        java.lang.String descriptor
        +
        The descriptor of the modeled method.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/object/model/reflective/ReflectiveModel.html b/api/proguard/evaluation/value/object/model/reflective/ReflectiveModel.html new file mode 100644 index 000000000..3067a1e2a --- /dev/null +++ b/api/proguard/evaluation/value/object/model/reflective/ReflectiveModel.html @@ -0,0 +1,409 @@ + + + + + +ReflectiveModel (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ReflectiveModel<T extends ReflectiveModel<T>>

+
+
+
+
    +
  • +
    +
    Type Parameters:
    +
    T - Recursive generic type of the class implementing this interface.
    +
    +
    +
    All Superinterfaces:
    +
    Model
    +
    +
    +
    All Known Implementing Classes:
    +
    ClassModel
    +
    +
    +
    public interface ReflectiveModel<T extends ReflectiveModel<T>>
    +extends Model
    +
    A mixin fully implementing the Model interface, so + that the classes implementing the model don't have to do it themselves. This mixin assumes, that + the class implementing it follows these rules: + +
      +
    • Has a constructor with no arguments (can be private) that will be used for creating + instances for static methods, constructors and instance methods with unknown values +
    • Uses ModeledConstructor, ModeledStaticMethod and ModeledInstanceMethod to mark the model methods. These methods should be private. +
    + +

    All annotated methods should take ModelHelper.MethodExecutionContext as the + first argument, the remaining arguments are Value arguments where their number + corresponds to the number of arguments the modelled method expects.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        log

        +
        static final org.apache.logging.log4j.Logger log
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        init

        +
        default MethodResult init​(MethodExecutionInfo methodExecutionInfo,
        +                          ValueCalculator valueCalculator)
        +
        Description copied from interface: Model
        +
        Execute a constructor call for the modeled class. + +

        It is suggested to add logic to allow running this only on a dummy model without any state.

        +
        +
        Specified by:
        +
        init in interface Model
        +
        Parameters:
        +
        methodExecutionInfo - execution info of the target method.
        +
        valueCalculator - the value calculator that should be used to create any value in the + result.
        +
        Returns:
        +
        the result of the method invocation. Since it's a constructor invocation the return + value of the result is expected to be empty and the constructed value should be set as the + updated instance.
        +
        +
      • +
      + + + +
        +
      • +

        invoke

        +
        default MethodResult invoke​(MethodExecutionInfo methodExecutionInfo,
        +                            ValueCalculator valueCalculator)
        +
        Description copied from interface: Model
        +
        Execute an instance method on the modeled object. The state of the instance is represented by + the state of the model. + +

        It is suggested to add logic to allow running this only on a model representing an + initialized object.

        +
        +
        Specified by:
        +
        invoke in interface Model
        +
        Parameters:
        +
        methodExecutionInfo - execution info of the target method.
        +
        valueCalculator - the value calculator that should be used to create any value in the + result.
        +
        Returns:
        +
        the result of the method invocation.
        +
        +
      • +
      + + + +
        +
      • +

        invokeStatic

        +
        default MethodResult invokeStatic​(MethodExecutionInfo methodExecutionInfo,
        +                                  ValueCalculator valueCalculator)
        +
        Description copied from interface: Model
        +
        Execute a static method for the modeled class. + +

        It is suggested to add logic to allow running this only on a dummy model without any state.

        +
        +
        Specified by:
        +
        invokeStatic in interface Model
        +
        Parameters:
        +
        methodExecutionInfo - execution info of the target method.
        +
        valueCalculator - the value calculator that should be used to create any value in the + result.
        +
        Returns:
        +
        the result of the method invocation.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/evaluation/value/object/model/reflective/package-summary.html b/api/proguard/evaluation/value/object/model/reflective/package-summary.html new file mode 100644 index 000000000..cba80327a --- /dev/null +++ b/api/proguard/evaluation/value/object/model/reflective/package-summary.html @@ -0,0 +1,220 @@ + + + + + +proguard.evaluation.value.object.model.reflective (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.evaluation.value.object.model.reflective

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/evaluation/value/object/model/reflective/package-tree.html b/api/proguard/evaluation/value/object/model/reflective/package-tree.html new file mode 100644 index 000000000..b74d6f5bb --- /dev/null +++ b/api/proguard/evaluation/value/object/model/reflective/package-tree.html @@ -0,0 +1,180 @@ + + + + + +proguard.evaluation.value.object.model.reflective Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.evaluation.value.object.model.reflective

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+
    +
  • proguard.evaluation.value.object.model.Model + +
  • +
+
+
+

Annotation Type Hierarchy

+
    +
  • proguard.evaluation.value.object.model.reflective.ModeledConstructor (implements java.lang.annotation.Annotation)
  • +
  • proguard.evaluation.value.object.model.reflective.ModeledInstanceMethod (implements java.lang.annotation.Annotation)
  • +
  • proguard.evaluation.value.object.model.reflective.ModeledStaticMethod (implements java.lang.annotation.Annotation)
  • +
+
+
+
+ + + diff --git a/api/proguard/evaluation/value/object/package-summary.html b/api/proguard/evaluation/value/object/package-summary.html new file mode 100644 index 000000000..7483449e2 --- /dev/null +++ b/api/proguard/evaluation/value/object/package-summary.html @@ -0,0 +1,183 @@ + + + + + +proguard.evaluation.value.object (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.evaluation.value.object

+
+
+
    +
  • + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    AnalyzedObject +
    A class wrapping values calculated during an analysis.
    +
    +
  • +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    AnalyzedObjectFactory +
    Factory methods to create AnalyzedObject.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/evaluation/value/object/package-tree.html b/api/proguard/evaluation/value/object/package-tree.html new file mode 100644 index 000000000..76975330b --- /dev/null +++ b/api/proguard/evaluation/value/object/package-tree.html @@ -0,0 +1,167 @@ + + + + + +proguard.evaluation.value.object Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.evaluation.value.object

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/evaluation/value/package-summary.html b/api/proguard/evaluation/value/package-summary.html new file mode 100644 index 000000000..88e5ba676 --- /dev/null +++ b/api/proguard/evaluation/value/package-summary.html @@ -0,0 +1,582 @@ + + + + + +proguard.evaluation.value (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.evaluation.value

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/evaluation/value/package-tree.html b/api/proguard/evaluation/value/package-tree.html new file mode 100644 index 000000000..557cb1b72 --- /dev/null +++ b/api/proguard/evaluation/value/package-tree.html @@ -0,0 +1,295 @@ + + + + + +proguard.evaluation.value Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.evaluation.value

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/examples/AnalyzeTaints.html b/api/proguard/examples/AnalyzeTaints.html new file mode 100644 index 000000000..975f53ff9 --- /dev/null +++ b/api/proguard/examples/AnalyzeTaints.html @@ -0,0 +1,307 @@ + + + + + +AnalyzeTaints (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AnalyzeTaints

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.AnalyzeTaints
    • +
    +
  • +
+
+
    +
  • +
    +
    public class AnalyzeTaints
    +extends java.lang.Object
    +
    This sample application illustrates how to perform taint analysis with the ProGuard API. + +

    Usage: java proguard.examples.AnalyzeTaints input.jar

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      AnalyzeTaints() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AnalyzeTaints

        +
        public AnalyzeTaints()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/ApplyPeepholeOptimizations.html b/api/proguard/examples/ApplyPeepholeOptimizations.html new file mode 100644 index 000000000..2a1189237 --- /dev/null +++ b/api/proguard/examples/ApplyPeepholeOptimizations.html @@ -0,0 +1,308 @@ + + + + + +ApplyPeepholeOptimizations (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ApplyPeepholeOptimizations

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.ApplyPeepholeOptimizations
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ApplyPeepholeOptimizations
    +extends java.lang.Object
    +
    This sample application illustrates how to modify bytecode with the ProGuardCORE API. It applies + peephole optimizations to all code that it processes. + +

    Usage: java proguard.examples.ApplyPeepholeOptimizations input.jar output.jar

    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ApplyPeepholeOptimizations

        +
        public ApplyPeepholeOptimizations()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/CreateHelloWorldClass.html b/api/proguard/examples/CreateHelloWorldClass.html new file mode 100644 index 000000000..fa17b5feb --- /dev/null +++ b/api/proguard/examples/CreateHelloWorldClass.html @@ -0,0 +1,331 @@ + + + + + +CreateHelloWorldClass (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CreateHelloWorldClass

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.CreateHelloWorldClass
    • +
    +
  • +
+
+
    +
  • +
    +
    public class CreateHelloWorldClass
    +extends java.lang.Object
    +
    This sample application illustrates how to create a class with the ProGuardCORE API. + +

    Usage: java proguard.examples.CreateHelloWorldClass

    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static ProgramClasscreateMessagePrintingClass​(java.lang.String name, + java.lang.String message) +
      Creates a HelloWorld class.
      +
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CreateHelloWorldClass

        +
        public CreateHelloWorldClass()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +                 throws java.io.IOException
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createMessagePrintingClass

        +
        public static ProgramClass createMessagePrintingClass​(java.lang.String name,
        +                                                      java.lang.String message)
        +
        Creates a HelloWorld class.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/CyclomaticComplexity.html b/api/proguard/examples/CyclomaticComplexity.html new file mode 100644 index 000000000..13dc94a27 --- /dev/null +++ b/api/proguard/examples/CyclomaticComplexity.html @@ -0,0 +1,312 @@ + + + + + +CyclomaticComplexity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CyclomaticComplexity

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.CyclomaticComplexity
    • +
    +
  • +
+
+
    +
  • +
    +
    public class CyclomaticComplexity
    +extends java.lang.Object
    +
    This sample application illustrates how to use visitors to iterate over specific instructions and + exception handlers. In this example, it prints out an approximation of the cyclomatic complexity + of all methods, as introduced by T.J. McCabe in "IEEE Transactions on Software Engineering", + p308-320 (Dec 1976) + +

    Usage: java proguard.examples.CyclomaticComplexity input + +

    where the input can be a jar file or a directory containing jar files.

    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CyclomaticComplexity

        +
        public CyclomaticComplexity()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/EvaluateCode.html b/api/proguard/examples/EvaluateCode.html new file mode 100644 index 000000000..f25ff3c94 --- /dev/null +++ b/api/proguard/examples/EvaluateCode.html @@ -0,0 +1,322 @@ + + + + + +EvaluateCode (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class EvaluateCode

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.EvaluateCode
    • +
    +
  • +
+
+
    +
  • +
    +
    public class EvaluateCode
    +extends java.lang.Object
    +
    This sample application illustrates how to evaluate the bytecode of a method to get information + about its control flow and data flow. In this example, it prints out the results of the analysis + for each method in the input. For each instruction, it prints out the possible (abstract, + symbolic) values on the stack and in the local variables, after execution. + +

    You can select the precision of the analysis. + +

    Usage: java proguard.examples.EvaluateCode [precision] input.jar [classnamefilter + [methodnamefilter]] + +

    where the precision option can be one of: -basic for basic control flow analysis and data flow + analysis. -particular for more precise numerical evaluation. -range for evaluation with numeric + ranges. -identity for symbolic numerical evaluation. -tracing for evaluation with reference + types, tracing their origins. -typed for evaluation with more precise reference types. -array for + evaluation with primitive arrays. -detailedarray for evaluation with more precise primitive + arrays. + +

    The optional class name filter and method name filter can have wildcards (*, **, and ?).

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      EvaluateCode() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        EvaluateCode

        +
        public EvaluateCode()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/FindBranches.html b/api/proguard/examples/FindBranches.html new file mode 100644 index 000000000..195ec626a --- /dev/null +++ b/api/proguard/examples/FindBranches.html @@ -0,0 +1,311 @@ + + + + + +FindBranches (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FindBranches

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.FindBranches
    • +
    +
  • +
+
+
    +
  • +
    +
    public class FindBranches
    +extends java.lang.Object
    +
    This sample application illustrates how to find branches in the code and print out some results. + This is a very basic analysis. The sample EvaluateCode performs more advanced analysis of the + control flow and data flow. + +

    Usage: java proguard.examples.FindBranches input + +

    where the input can be a jar file or a directory containing jar files.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      FindBranches() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FindBranches

        +
        public FindBranches()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/JarUtil.html b/api/proguard/examples/JarUtil.html new file mode 100644 index 000000000..f4c6a162e --- /dev/null +++ b/api/proguard/examples/JarUtil.html @@ -0,0 +1,380 @@ + + + + + +JarUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class JarUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.JarUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class JarUtil
    +extends java.lang.Object
    +
    This utility class provides methods to read and write the classes in jars.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      JarUtil() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static ClassPoolreadJar​(java.lang.String jarFileName, + boolean isLibrary) +
      Reads the classes from the specified jar file and returns them as a class pool.
      +
      static ClassPoolreadJar​(java.lang.String jarFileName, + java.lang.String classNameFilter, + boolean isLibrary) +
      Reads the classes from the specified jar file and returns them as a class pool.
      +
      static voidwriteJar​(ClassPool programClassPool, + java.lang.String outputJarFileName) +
      Writes the classes from the given class pool to a specified jar.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JarUtil

        +
        public JarUtil()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        readJar

        +
        public static ClassPool readJar​(java.lang.String jarFileName,
        +                                boolean isLibrary)
        +                         throws java.io.IOException
        +
        Reads the classes from the specified jar file and returns them as a class pool.
        +
        +
        Parameters:
        +
        jarFileName - the name of the jar file or jmod file.
        +
        isLibrary - specifies whether classes should be represented as ProgramClass instances (for + processing) or LibraryClass instances (more compact).
        +
        Returns:
        +
        a new class pool with the read classes.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        readJar

        +
        public static ClassPool readJar​(java.lang.String jarFileName,
        +                                java.lang.String classNameFilter,
        +                                boolean isLibrary)
        +                         throws java.io.IOException
        +
        Reads the classes from the specified jar file and returns them as a class pool.
        +
        +
        Parameters:
        +
        jarFileName - the name of the jar file or jmod file.
        +
        isLibrary - specifies whether classes should be represented as ProgramClass instances (for + processing) or LibraryClass instances (more compact).
        +
        Returns:
        +
        a new class pool with the read classes.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        writeJar

        +
        public static void writeJar​(ClassPool programClassPool,
        +                            java.lang.String outputJarFileName)
        +                     throws java.io.IOException
        +
        Writes the classes from the given class pool to a specified jar.
        +
        +
        Parameters:
        +
        programClassPool - the classes to write.
        +
        outputJarFileName - the name of the output jar file.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/Preverify.html b/api/proguard/examples/Preverify.html new file mode 100644 index 000000000..1bd110cf4 --- /dev/null +++ b/api/proguard/examples/Preverify.html @@ -0,0 +1,307 @@ + + + + + +Preverify (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Preverify

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.Preverify
    • +
    +
  • +
+
+
    +
  • +
    +
    public class Preverify
    +extends java.lang.Object
    +
    This sample application illustrates how to preverify classes with the ProGuard API. + +

    Usage: java proguard.examples.Preverify input.jar output.jar

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Preverify() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Preverify

        +
        public Preverify()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/PrintClasses.html b/api/proguard/examples/PrintClasses.html new file mode 100644 index 000000000..5e07f984b --- /dev/null +++ b/api/proguard/examples/PrintClasses.html @@ -0,0 +1,308 @@ + + + + + +PrintClasses (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PrintClasses

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.PrintClasses
    • +
    +
  • +
+
+
    +
  • +
    +
    public class PrintClasses
    +extends java.lang.Object
    +
    This sample application illustrates how to read bytecode and print it out in text format with the + ProGuard API. + +

    Usage: java proguard.examples.PrintClasses input.jar

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      PrintClasses() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PrintClasses

        +
        public PrintClasses()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/RemoveLogging.html b/api/proguard/examples/RemoveLogging.html new file mode 100644 index 000000000..70fea36aa --- /dev/null +++ b/api/proguard/examples/RemoveLogging.html @@ -0,0 +1,309 @@ + + + + + +RemoveLogging (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class RemoveLogging

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.RemoveLogging
    • +
    +
  • +
+
+
    +
  • +
    +
    public class RemoveLogging
    +extends java.lang.Object
    +
    This sample application illustrates how to modify bytecode with the ProGuardCORE API. It removes + Android logging invocations from all methods of all classes that it processes. It does not + attempt to remove the related strings and other arguments from the code. + +

    Usage: java proguard.examples.RemoveLogging input.jar output.jar

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      RemoveLogging() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RemoveLogging

        +
        public RemoveLogging()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/TransformExample.MyTransformer.html b/api/proguard/examples/TransformExample.MyTransformer.html new file mode 100644 index 000000000..0cbb4fdf6 --- /dev/null +++ b/api/proguard/examples/TransformExample.MyTransformer.html @@ -0,0 +1,347 @@ + + + + + +TransformExample.MyTransformer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TransformExample.MyTransformer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.TransformExample.MyTransformer
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MyTransformer

        +
        public MyTransformer()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/TransformExample.html b/api/proguard/examples/TransformExample.html new file mode 100644 index 000000000..1aee8d8ce --- /dev/null +++ b/api/proguard/examples/TransformExample.html @@ -0,0 +1,332 @@ + + + + + +TransformExample (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TransformExample

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.TransformExample
    • +
    +
  • +
+
+
    +
  • +
    +
    public class TransformExample
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      TransformExample() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TransformExample

        +
        public TransformExample()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +                 throws java.io.IOException
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/VisualizeCfa.html b/api/proguard/examples/VisualizeCfa.html new file mode 100644 index 000000000..1b4b13c37 --- /dev/null +++ b/api/proguard/examples/VisualizeCfa.html @@ -0,0 +1,315 @@ + + + + + +VisualizeCfa (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VisualizeCfa

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.VisualizeCfa
    • +
    +
  • +
+
+
    +
  • +
    +
    public class VisualizeCfa
    +extends java.lang.Object
    +
    This sample application produces a DOT graph representation of a Control Flow Automaton generated + by ProGuardCORE. + +

    Usage: java proguard.examples.VisualizeCfa input.jar + +

    where the input can be a jar file or a directory containing jar files.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      VisualizeCfa() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        VisualizeCfa

        +
        public VisualizeCfa()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +                 throws java.io.IOException
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/VisualizeControlFlow.html b/api/proguard/examples/VisualizeControlFlow.html new file mode 100644 index 000000000..73ec314b6 --- /dev/null +++ b/api/proguard/examples/VisualizeControlFlow.html @@ -0,0 +1,313 @@ + + + + + +VisualizeControlFlow (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class VisualizeControlFlow

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.VisualizeControlFlow
    • +
    +
  • +
+
+
    +
  • +
    +
    public class VisualizeControlFlow
    +extends java.lang.Object
    +
    This sample application illustrates how to evaluate bytecode to get information about its control + flow and data flow. In this example, it visualizes the control flow between the instructions. + +

    The example EvaluateCode also evaluates the code, to get more detailed information about the + data. + +

    Usage: java proguard.examples.VisualizeControlFlow input.jar + +

    where the input can be a jar file or a directory containing jar files.

    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        VisualizeControlFlow

        +
        public VisualizeControlFlow()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/instrument/AddMethodInvocationLogging.html b/api/proguard/examples/instrument/AddMethodInvocationLogging.html new file mode 100644 index 000000000..89db6a369 --- /dev/null +++ b/api/proguard/examples/instrument/AddMethodInvocationLogging.html @@ -0,0 +1,313 @@ + + + + + +AddMethodInvocationLogging (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AddMethodInvocationLogging

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.instrument.AddMethodInvocationLogging
    • +
    +
  • +
+
+
    +
  • +
    +
    public class AddMethodInvocationLogging
    +extends java.lang.Object
    +
    This sample application illustrates how to modify bytecode with the ProGuardCORE API. It adds + logging code at the start of all methods of all classes that it processes. + +

    Usage: java proguard.examples.AddMethodInvocationLogging input.jar output.jar

    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AddMethodInvocationLogging

        +
        public AddMethodInvocationLogging()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +                 throws java.io.IOException
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/instrument/DebugStackTop.html b/api/proguard/examples/instrument/DebugStackTop.html new file mode 100644 index 000000000..a85a0302e --- /dev/null +++ b/api/proguard/examples/instrument/DebugStackTop.html @@ -0,0 +1,319 @@ + + + + + +DebugStackTop (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DebugStackTop

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.instrument.DebugStackTop
    • +
    +
  • +
+
+
    +
  • +
    +
    public class DebugStackTop
    +extends java.lang.Object
    +
    Example showing how to use an InstructionSequenceReplacer to add logging before a method + call which prints the value on the top of the stack i.e. a method parameter.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DebugStackTop() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DebugStackTop

        +
        public DebugStackTop()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +                 throws java.io.IOException,
        +                        java.lang.ClassNotFoundException,
        +                        java.lang.NoSuchMethodException,
        +                        java.lang.reflect.InvocationTargetException,
        +                        java.lang.IllegalAccessException
        +
        +
        Throws:
        +
        java.io.IOException
        +
        java.lang.ClassNotFoundException
        +
        java.lang.NoSuchMethodException
        +
        java.lang.reflect.InvocationTargetException
        +
        java.lang.IllegalAccessException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/instrument/DebugStackTopExample.html b/api/proguard/examples/instrument/DebugStackTopExample.html new file mode 100644 index 000000000..a0f11b970 --- /dev/null +++ b/api/proguard/examples/instrument/DebugStackTopExample.html @@ -0,0 +1,319 @@ + + + + + +DebugStackTopExample (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DebugStackTopExample

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.instrument.DebugStackTopExample
    • +
    +
  • +
+
+
    +
  • +
    +
    public class DebugStackTopExample
    +extends java.lang.Object
    +
    Example for DebugStackTop.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidfoo​(java.lang.String s) 
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DebugStackTopExample

        +
        public DebugStackTopExample()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
      • +
      + + + +
        +
      • +

        foo

        +
        public static void foo​(java.lang.String s)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/instrument/package-summary.html b/api/proguard/examples/instrument/package-summary.html new file mode 100644 index 000000000..7cead9a46 --- /dev/null +++ b/api/proguard/examples/instrument/package-summary.html @@ -0,0 +1,179 @@ + + + + + +proguard.examples.instrument (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.examples.instrument

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/examples/instrument/package-tree.html b/api/proguard/examples/instrument/package-tree.html new file mode 100644 index 000000000..eca9c1f74 --- /dev/null +++ b/api/proguard/examples/instrument/package-tree.html @@ -0,0 +1,163 @@ + + + + + +proguard.examples.instrument Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.examples.instrument

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/examples/modify/EditClass.html b/api/proguard/examples/modify/EditClass.html new file mode 100644 index 000000000..50a2758ca --- /dev/null +++ b/api/proguard/examples/modify/EditClass.html @@ -0,0 +1,424 @@ + + + + + +EditClass (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class EditClass

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.modify.EditClass
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      EditClass() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        NAME_JAVA_LANG_SYSTEM

        +
        public static final java.lang.String NAME_JAVA_LANG_SYSTEM
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_NAME_GETANSWER

        +
        public static final java.lang.String METHOD_NAME_GETANSWER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        FIELD_NAME_OUT

        +
        public static final java.lang.String FIELD_NAME_OUT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        METHOD_TYPE_NUMBER_NUMBER

        +
        public static final java.lang.String METHOD_TYPE_NUMBER_NUMBER
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        TYPE_PRINTSTREAM

        +
        public static final java.lang.String TYPE_PRINTSTREAM
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        EditClass

        +
        public EditClass()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/modify/ReplaceSimpleConstantInstruction.html b/api/proguard/examples/modify/ReplaceSimpleConstantInstruction.html new file mode 100644 index 000000000..5d37fb443 --- /dev/null +++ b/api/proguard/examples/modify/ReplaceSimpleConstantInstruction.html @@ -0,0 +1,317 @@ + + + + + +ReplaceSimpleConstantInstruction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ReplaceSimpleConstantInstruction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.modify.ReplaceSimpleConstantInstruction
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ReplaceSimpleConstantInstruction
    +extends java.lang.Object
    +
    Example showing how to use InstructionSequenceReplacer to replace an `LDC` loading "Hello + World" to load the constant "Hallo Wereld" instead.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ReplaceSimpleConstantInstruction

        +
        public ReplaceSimpleConstantInstruction()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +                 throws java.lang.ClassNotFoundException,
        +                        java.lang.NoSuchMethodException,
        +                        java.lang.reflect.InvocationTargetException,
        +                        java.lang.IllegalAccessException
        +
        +
        Throws:
        +
        java.lang.ClassNotFoundException
        +
        java.lang.NoSuchMethodException
        +
        java.lang.reflect.InvocationTargetException
        +
        java.lang.IllegalAccessException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/examples/modify/package-summary.html b/api/proguard/examples/modify/package-summary.html new file mode 100644 index 000000000..1deec9978 --- /dev/null +++ b/api/proguard/examples/modify/package-summary.html @@ -0,0 +1,174 @@ + + + + + +proguard.examples.modify (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.examples.modify

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/examples/modify/package-tree.html b/api/proguard/examples/modify/package-tree.html new file mode 100644 index 000000000..06bb6a4f8 --- /dev/null +++ b/api/proguard/examples/modify/package-tree.html @@ -0,0 +1,162 @@ + + + + + +proguard.examples.modify Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.examples.modify

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/examples/package-summary.html b/api/proguard/examples/package-summary.html new file mode 100644 index 000000000..6fa9c2c66 --- /dev/null +++ b/api/proguard/examples/package-summary.html @@ -0,0 +1,245 @@ + + + + + +proguard.examples (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.examples

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    AnalyzeTaints +
    This sample application illustrates how to perform taint analysis with the ProGuard API.
    +
    ApplyPeepholeOptimizations +
    This sample application illustrates how to modify bytecode with the ProGuardCORE API.
    +
    CreateHelloWorldClass +
    This sample application illustrates how to create a class with the ProGuardCORE API.
    +
    CyclomaticComplexity +
    This sample application illustrates how to use visitors to iterate over specific instructions and + exception handlers.
    +
    EvaluateCode +
    This sample application illustrates how to evaluate the bytecode of a method to get information + about its control flow and data flow.
    +
    FindBranches +
    This sample application illustrates how to find branches in the code and print out some results.
    +
    JarUtil +
    This utility class provides methods to read and write the classes in jars.
    +
    Preverify +
    This sample application illustrates how to preverify classes with the ProGuard API.
    +
    PrintClasses +
    This sample application illustrates how to read bytecode and print it out in text format with the + ProGuard API.
    +
    RemoveLogging +
    This sample application illustrates how to modify bytecode with the ProGuardCORE API.
    +
    TransformExample 
    TransformExample.MyTransformer 
    VisualizeCfa +
    This sample application produces a DOT graph representation of a Control Flow Automaton generated + by ProGuardCORE.
    +
    VisualizeControlFlow +
    This sample application illustrates how to evaluate bytecode to get information about its control + flow and data flow.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/examples/package-tree.html b/api/proguard/examples/package-tree.html new file mode 100644 index 000000000..96506fd89 --- /dev/null +++ b/api/proguard/examples/package-tree.html @@ -0,0 +1,174 @@ + + + + + +proguard.examples Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.examples

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/examples/util/ExampleUtil.html b/api/proguard/examples/util/ExampleUtil.html new file mode 100644 index 000000000..564d1fcd2 --- /dev/null +++ b/api/proguard/examples/util/ExampleUtil.html @@ -0,0 +1,386 @@ + + + + + +ExampleUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ExampleUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.util.ExampleUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ExampleUtil
    +extends java.lang.Object
    +
    Utility methods used by examples.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidaddClass​(ClassPool classPool, + java.lang.Class<?>... classes) +
      Add the given Java Classes to a ClassPool.
      +
      static ClassPoolcreateClassPool​(java.lang.Class<?>... classes) +
      Create a ClassPool for the given Java Classes.
      +
      static java.lang.ObjectexecuteMainMethod​(ClassPool classPool, + java.lang.String internalClassName) +
      Execute the "main" method of a ProGuardCORE class in the given ClassPool with the + specified name.
      +
      static java.lang.ObjectexecuteMainMethod​(ClassPool classPool, + java.lang.String internalClassName, + java.lang.String... arguments) +
      Execute the "main" method of a ProGuardCORE class in the given ClassPool with the + specified name and the specified arguments.
      +
      static java.lang.ObjectexecuteMainMethod​(ProgramClass programClass) +
      Execute the "main" method of a ProGuardCORE ProgramClass.
      +
      static java.lang.ObjectexecuteMethod​(ClassPool classPool, + java.lang.String internalClassName, + java.lang.String methodName, + java.lang.Class<?>[] parameterTypes, + java.lang.Object[] arguments) +
      Execute the specified method of a ProGuardCORE class in the given ClassPool with the + specified name and the specified arguments.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createClassPool

        +
        public static ClassPool createClassPool​(java.lang.Class<?>... classes)
        +
        Create a ClassPool for the given Java Classes.
        +
      • +
      + + + +
        +
      • +

        addClass

        +
        public static void addClass​(ClassPool classPool,
        +                            java.lang.Class<?>... classes)
        +
        Add the given Java Classes to a ClassPool.
        +
      • +
      + + + +
        +
      • +

        executeMainMethod

        +
        public static java.lang.Object executeMainMethod​(ProgramClass programClass)
        +
        Execute the "main" method of a ProGuardCORE ProgramClass.
        +
      • +
      + + + +
        +
      • +

        executeMainMethod

        +
        public static java.lang.Object executeMainMethod​(ClassPool classPool,
        +                                                 java.lang.String internalClassName)
        +
        Execute the "main" method of a ProGuardCORE class in the given ClassPool with the + specified name.
        +
      • +
      + + + +
        +
      • +

        executeMainMethod

        +
        public static java.lang.Object executeMainMethod​(ClassPool classPool,
        +                                                 java.lang.String internalClassName,
        +                                                 java.lang.String... arguments)
        +
        Execute the "main" method of a ProGuardCORE class in the given ClassPool with the + specified name and the specified arguments.
        +
      • +
      + + + +
        +
      • +

        executeMethod

        +
        public static java.lang.Object executeMethod​(ClassPool classPool,
        +                                             java.lang.String internalClassName,
        +                                             java.lang.String methodName,
        +                                             java.lang.Class<?>[] parameterTypes,
        +                                             java.lang.Object[] arguments)
        +                                      throws java.lang.ClassNotFoundException,
        +                                             java.lang.NoSuchMethodException,
        +                                             java.lang.reflect.InvocationTargetException,
        +                                             java.lang.IllegalAccessException
        +
        Execute the specified method of a ProGuardCORE class in the given ClassPool with the + specified name and the specified arguments.
        +
        +
        Throws:
        +
        java.lang.ClassNotFoundException
        +
        java.lang.NoSuchMethodException
        +
        java.lang.reflect.InvocationTargetException
        +
        java.lang.IllegalAccessException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/examples/util/package-summary.html b/api/proguard/examples/util/package-summary.html new file mode 100644 index 000000000..7f72c851d --- /dev/null +++ b/api/proguard/examples/util/package-summary.html @@ -0,0 +1,166 @@ + + + + + +proguard.examples.util (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.examples.util

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    ExampleUtil +
    Utility methods used by examples.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/examples/util/package-tree.html b/api/proguard/examples/util/package-tree.html new file mode 100644 index 000000000..6481bcaed --- /dev/null +++ b/api/proguard/examples/util/package-tree.html @@ -0,0 +1,161 @@ + + + + + +proguard.examples.util Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.examples.util

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object + +
  • +
+
+
+
+ + + diff --git a/api/proguard/exception/ErrorId.html b/api/proguard/exception/ErrorId.html new file mode 100644 index 000000000..e224b467a --- /dev/null +++ b/api/proguard/exception/ErrorId.html @@ -0,0 +1,1515 @@ + + + + + +ErrorId (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ErrorId

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.exception.ErrorId
    • +
    +
  • +
+
+
    +
  • +
    +
    public final class ErrorId
    +extends java.lang.Object
    +
    Class holding all the error ids for exceptions occurring in the program.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        TEST_ID

        +
        public static int TEST_ID
        +
      • +
      + + + +
        +
      • +

        VARIABLE_EMPTY_SLOT

        +
        public static final int VARIABLE_EMPTY_SLOT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        VARIABLE_INDEX_OUT_OF_BOUND

        +
        public static final int VARIABLE_INDEX_OUT_OF_BOUND
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        EXCESSIVE_COMPLEXITY

        +
        public static final int EXCESSIVE_COMPLEXITY
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        INCOMPLETE_CLASS_HIERARCHY

        +
        public static final int INCOMPLETE_CLASS_HIERARCHY
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        EMPTY_CODE_ATTRIBUTE

        +
        public static final int EMPTY_CODE_ATTRIBUTE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        STACK_CATEGORY_ONE

        +
        public static final int STACK_CATEGORY_ONE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ARRAY_INDEX_OUT_OF_BOUND

        +
        public static final int ARRAY_INDEX_OUT_OF_BOUND
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + + + + + +
        +
      • +

        VARIABLE_GENERALIZATION

        +
        public static final int VARIABLE_GENERALIZATION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        STACK_GENERALIZATION

        +
        public static final int STACK_GENERALIZATION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ARRAY_STORE_TYPE_EXCEPTION

        +
        public static final int ARRAY_STORE_TYPE_EXCEPTION
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        PARTIAL_EVALUATOR_ERROR1

        +
        public static final int PARTIAL_EVALUATOR_ERROR1
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        PARTIAL_EVALUATOR_ERROR2

        +
        public static final int PARTIAL_EVALUATOR_ERROR2
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        NEGATIVE_STACK_SIZE

        +
        public static final int NEGATIVE_STACK_SIZE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        MAX_STACK_SIZE_COMPUTER_ERROR

        +
        public static final int MAX_STACK_SIZE_COMPUTER_ERROR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CLASS_REFERENCE_FIXER_ERROR

        +
        public static final int CLASS_REFERENCE_FIXER_ERROR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CODE_ATTRIBUTE_EDITOR_ERROR

        +
        public static final int CODE_ATTRIBUTE_EDITOR_ERROR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CODE_PREVERIFIER_ERROR

        +
        public static final int CODE_PREVERIFIER_ERROR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        CODE_SUBROUTINE_INLINER_ERROR

        +
        public static final int CODE_SUBROUTINE_INLINER_ERROR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        WILDCARD_WRONG_INDEX

        +
        public static final int WILDCARD_WRONG_INDEX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TREE_HEAP_FOLLOWER_GET_UNSUPPORTED_REFERENCE_TYPE

        +
        public static final int ANALYSIS_JVM_TREE_HEAP_FOLLOWER_GET_UNSUPPORTED_REFERENCE_TYPE
        +
        Group of errors.
        +
        +
        See Also:
        +
        proguard.analysis, +Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TREE_HEAP_FOLLOWER_SET_UNSUPPORTED_REFERENCE_TYPE

        +
        public static final int ANALYSIS_JVM_TREE_HEAP_FOLLOWER_SET_UNSUPPORTED_REFERENCE_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TREE_HEAP_FOLLOWER_ARRAY_GET_UNSUPPORTED_REFERENCE_TYPE

        +
        public static final int ANALYSIS_JVM_TREE_HEAP_FOLLOWER_ARRAY_GET_UNSUPPORTED_REFERENCE_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TREE_HEAP_FOLLOWER_ARRAY_SET_UNSUPPORTED_REFERENCE_TYPE

        +
        public static final int ANALYSIS_JVM_TREE_HEAP_FOLLOWER_ARRAY_SET_UNSUPPORTED_REFERENCE_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_BAM_CPA_RUN_UNSUPPORTED_HEAP_MODEL

        +
        public static final int ANALYSIS_JVM_BAM_CPA_RUN_UNSUPPORTED_HEAP_MODEL
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_CALL_RESOLVER_SELECTIVE_PARAMETER_RECONSTRUCTION_MISSING_PARAMS

        +
        public static final int ANALYSIS_CALL_RESOLVER_SELECTIVE_PARAMETER_RECONSTRUCTION_MISSING_PARAMS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_SHALLOW_HEAP_STATE_INCOMPATIBLE

        +
        public static final int ANALYSIS_JVM_SHALLOW_HEAP_STATE_INCOMPATIBLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_DOMINATOR_CALCULATOR_NO_DOMINATOR_AT_OFFSET

        +
        public static final int ANALYSIS_DOMINATOR_CALCULATOR_NO_DOMINATOR_AT_OFFSET
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_BAM_TRANSFER_RELATION_STATE_NOT_LOCATION_DEPENDENT

        +
        public static final int ANALYSIS_BAM_TRANSFER_RELATION_STATE_NOT_LOCATION_DEPENDENT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_STACK_STATE_OPERAND_STACK_INDEX_OUT_OF_BOUNDS

        +
        public static final int ANALYSIS_STACK_STATE_OPERAND_STACK_INDEX_OUT_OF_BOUNDS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_PROGRAM_LOCATION_DEPENDENT_TRANSFER_RELATION_STATE_UNSUPPORTED

        +
        public static final int ANALYSIS_PROGRAM_LOCATION_DEPENDENT_TRANSFER_RELATION_STATE_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_INTRAPROCEDURAL_CFA_FILLER_ALL_INSTRUCTION_UNEXPECTED_SWITCH

        +
        public static final int ANALYSIS_JVM_INTRAPROCEDURAL_CFA_FILLER_ALL_INSTRUCTION_UNEXPECTED_SWITCH
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_MEMORY_LOCATION_TRANSFER_RELATION_STATE_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_MEMORY_LOCATION_TRANSFER_RELATION_STATE_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_MEMORY_LOCATION_TRANSFER_RELATION_TYPE_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_MEMORY_LOCATION_TRANSFER_RELATION_TYPE_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_COMPOSITE_HEAP_JVM_NO_REFERENCE_STATE_AT_INDEX

        +
        public static final int ANALYSIS_COMPOSITE_HEAP_JVM_NO_REFERENCE_STATE_AT_INDEX
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_COMPOSITE_HEAP_JVM_JOIN_STATE_DIFFERENT_LENGTH

        +
        public static final int ANALYSIS_COMPOSITE_HEAP_JVM_JOIN_STATE_DIFFERENT_LENGTH
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_COMPOSITE_HEAP_JVM_COMPARE_STATE_DIFFERENT_LENGTH

        +
        public static final int ANALYSIS_COMPOSITE_HEAP_JVM_COMPARE_STATE_DIFFERENT_LENGTH
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_COMPOSITE_TRANSFER_RELATION_STATE_UNSUPPORTED

        +
        public static final int ANALYSIS_COMPOSITE_TRANSFER_RELATION_STATE_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_COMPOSITE_HEAP_EXPAND_OPERATOR_INITIAL_STATE_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_COMPOSITE_HEAP_EXPAND_OPERATOR_INITIAL_STATE_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_COMPOSITE_HEAP_EXPAND_OPERATOR_EXIT_STATE_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_COMPOSITE_HEAP_EXPAND_OPERATOR_EXIT_STATE_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_COMPOSITE_HEAP_REDUCE_OPERATOR_STATE_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_COMPOSITE_HEAP_REDUCE_OPERATOR_STATE_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_REFERENCE_TRANSFER_RELATION_STATE_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_REFERENCE_TRANSFER_RELATION_STATE_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_INVOKE_TAINT_SINK_MISSING_TAINT

        +
        public static final int ANALYSIS_JVM_INVOKE_TAINT_SINK_MISSING_TAINT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TAINT_BAM_CPA_RUN_INTRAPROCEDURAL_CPA_HEAP_MODEL_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_TAINT_BAM_CPA_RUN_INTRAPROCEDURAL_CPA_HEAP_MODEL_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TAINT_BAM_CPA_RUN_EXPAND_OPERATOR_HEAP_MODEL_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_TAINT_BAM_CPA_RUN_EXPAND_OPERATOR_HEAP_MODEL_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TAINT_BAM_CPA_RUN_HEAP_MODEL_INVALID

        +
        public static final int ANALYSIS_JVM_TAINT_BAM_CPA_RUN_HEAP_MODEL_INVALID
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TAINT_BAM_CPA_RUN_CFA_OR_MAIN_SIGNATURE_NOT_SET

        +
        public static final int ANALYSIS_JVM_TAINT_BAM_CPA_RUN_CFA_OR_MAIN_SIGNATURE_NOT_SET
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TAINT_MEMORY_LOCATION_BAM_CPA_RUN_CFA_OR_MAIN_SIGNATURE_NOT_SET

        +
        public static final int ANALYSIS_JVM_TAINT_MEMORY_LOCATION_BAM_CPA_RUN_CFA_OR_MAIN_SIGNATURE_NOT_SET
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_VALUE_BAM_CPA_RUN_SET_CFA_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_VALUE_BAM_CPA_RUN_SET_CFA_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_VALUE_TRANSFER_RELATION_INCORRECT_PARAMETER_COUNT

        +
        public static final int ANALYSIS_JVM_VALUE_TRANSFER_RELATION_INCORRECT_PARAMETER_COUNT
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_VALUE_ABSTRACT_STATE_CONDITION_UNCHECKED

        +
        public static final int ANALYSIS_VALUE_ABSTRACT_STATE_CONDITION_UNCHECKED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_INITIAL_STATE_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_INITIAL_STATE_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_EXIT_STATE_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_EXIT_STATE_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_GET_UNSUPPORTED_REFERENCE_TYPE

        +
        public static final int ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_GET_UNSUPPORTED_REFERENCE_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_SET_UNSUPPORTED_REFERENCE_TYPE

        +
        public static final int ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_SET_UNSUPPORTED_REFERENCE_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_ARRAY_GET_UNSUPPORTED_REFERENCE_TYPE

        +
        public static final int ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_ARRAY_GET_UNSUPPORTED_REFERENCE_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_ARRAY_SET_UNSUPPORTED_REFERENCE_TYPE

        +
        public static final int ANALYSIS_JVM_TREE_HEAP_PRINCIPAL_ARRAY_SET_UNSUPPORTED_REFERENCE_TYPE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_RETURN_INSTRUCTION_EXPECTED

        +
        public static final int ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_RETURN_INSTRUCTION_EXPECTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_EXIT_NODE_EXPECTED

        +
        public static final int ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_EXIT_NODE_EXPECTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_MISSING_EXPECTED_CATCH_NODE_EXPECTED

        +
        public static final int ANALYSIS_JVM_DEFAULT_EXPAND_OPERATOR_MISSING_EXPECTED_CATCH_NODE_EXPECTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TRANSFER_RELATION_STATE_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_TRANSFER_RELATION_STATE_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TRANSFER_RELATION_INSTRUCTION_PUSH_COUNT_HIGHER_THAN_TWO

        +
        public static final int ANALYSIS_JVM_TRANSFER_RELATION_INSTRUCTION_PUSH_COUNT_HIGHER_THAN_TWO
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TRANSFER_RELATION_UNEXPECTED_UNKNOWN_SIGNATURE

        +
        public static final int ANALYSIS_JVM_TRANSFER_RELATION_UNEXPECTED_UNKNOWN_SIGNATURE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TRANSFER_RELATION_CONSTANT_INSTRUCTION_VISITOR_OPCODE_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_TRANSFER_RELATION_CONSTANT_INSTRUCTION_VISITOR_OPCODE_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_DEFAULT_REDUCE_OPERATOR_STATE_UNSUPPORTED

        +
        public static final int ANALYSIS_JVM_DEFAULT_REDUCE_OPERATOR_STATE_UNSUPPORTED
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        ANALYSIS_JVM_TREE_HEAP_STATE_INCOMPATIBLE

        +
        public static final int ANALYSIS_JVM_TREE_HEAP_STATE_INCOMPATIBLE
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        EVALUATION_JAVA_REFLECTION_EXECUTOR

        +
        public static final int EVALUATION_JAVA_REFLECTION_EXECUTOR
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/exception/InstructionExceptionFormatter.html b/api/proguard/exception/InstructionExceptionFormatter.html new file mode 100644 index 000000000..899cf8085 --- /dev/null +++ b/api/proguard/exception/InstructionExceptionFormatter.html @@ -0,0 +1,347 @@ + + + + + +InstructionExceptionFormatter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class InstructionExceptionFormatter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.exception.InstructionExceptionFormatter
    • +
    +
  • +
+
+
    +
  • +
    +
    public class InstructionExceptionFormatter
    +extends java.lang.Object
    +
    This class is used to format an exception with the previous instructions. It is used by the + PartialEvaluator and StackSizeComputer to print the erroneous instruction and + any previous bytecode instructions and the next one to give some context.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        InstructionExceptionFormatter

        +
        public InstructionExceptionFormatter​(org.apache.logging.log4j.Logger logger,
        +                                     CircularIntBuffer offsetBuffer,
        +                                     byte[] code,
        +                                     Clazz clazz,
        +                                     Method method)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/exception/ProguardCoreException.Builder.html b/api/proguard/exception/ProguardCoreException.Builder.html new file mode 100644 index 000000000..6896bd342 --- /dev/null +++ b/api/proguard/exception/ProguardCoreException.Builder.html @@ -0,0 +1,339 @@ + + + + + +ProguardCoreException.Builder (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProguardCoreException.Builder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.exception.ProguardCoreException.Builder
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    ProguardCoreException
    +
    +
    +
    public static class ProguardCoreException.Builder
    +extends java.lang.Object
    +
    Builder to construct ProguardCoreException objects.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/exception/ProguardCoreException.html b/api/proguard/exception/ProguardCoreException.html new file mode 100644 index 000000000..a5fd86871 --- /dev/null +++ b/api/proguard/exception/ProguardCoreException.html @@ -0,0 +1,418 @@ + + + + + +ProguardCoreException (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ProguardCoreException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • +
        +
      • java.lang.Exception
      • +
      • +
          +
        • java.lang.RuntimeException
        • +
        • +
            +
          • proguard.exception.ProguardCoreException
          • +
          +
        • +
        +
      • +
      +
    • +
    +
  • +
+ +
+
    +
  • + +
    +
      +
    • + + +

      Nested Class Summary

      + + + + + + + + + + + + +
      Nested Classes 
      Modifier and TypeClassDescription
      static class ProguardCoreException.Builder +
      Builder to construct ProguardCoreException objects.
      +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      intgetComponentErrorId() +
      Returns the id for the error (exception).
      +
      java.lang.Object[]getErrorParameters() +
      Returns the list of information related to this error.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Throwable

        +addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + + + + + +
        +
      • +

        ProguardCoreException

        +
        public ProguardCoreException​(int componentErrorId,
        +                             java.lang.Throwable cause,
        +                             java.lang.String message,
        +                             java.lang.Object... errorParameters)
        +
        Main constructor, all other constructors need to call this one in order to do common things + (formating string for instance). Same as ProguardCoreException(int, String, Object...) but takes a Throwable + argument to initialize the cause.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getComponentErrorId

        +
        public int getComponentErrorId()
        +
        Returns the id for the error (exception).
        +
      • +
      + + + +
        +
      • +

        getErrorParameters

        +
        public java.lang.Object[] getErrorParameters()
        +
        Returns the list of information related to this error.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/exception/package-summary.html b/api/proguard/exception/package-summary.html new file mode 100644 index 000000000..36a7e878a --- /dev/null +++ b/api/proguard/exception/package-summary.html @@ -0,0 +1,193 @@ + + + + + +proguard.exception (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.exception

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    ErrorId +
    Class holding all the error ids for exceptions occurring in the program.
    +
    InstructionExceptionFormatter +
    This class is used to format an exception with the previous instructions.
    +
    ProguardCoreException.Builder +
    Builder to construct ProguardCoreException objects.
    +
    +
  • +
  • + + + + + + + + + + + + +
    Exception Summary 
    ExceptionDescription
    ProguardCoreException 
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/exception/package-tree.html b/api/proguard/exception/package-tree.html new file mode 100644 index 000000000..76af4d7f3 --- /dev/null +++ b/api/proguard/exception/package-tree.html @@ -0,0 +1,176 @@ + + + + + +proguard.exception Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.exception

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/io/CascadingDataEntryWriter.html b/api/proguard/io/CascadingDataEntryWriter.html new file mode 100644 index 000000000..3c6202a5f --- /dev/null +++ b/api/proguard/io/CascadingDataEntryWriter.html @@ -0,0 +1,460 @@ + + + + + +CascadingDataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class CascadingDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.CascadingDataEntryWriter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CascadingDataEntryWriter

        +
        public CascadingDataEntryWriter​(DataEntryWriter dataEntryWriter1,
        +                                DataEntryWriter dataEntryWriter2)
        +
        Creates a new CascadingDataEntryWriter.
        +
        +
        Parameters:
        +
        dataEntryWriter1 - the DataEntryWriter to which the writing will be delegated first.
        +
        dataEntryWriter2 - the DataEntryWriter to which the writing will be delegated, if the + first one can't provide an output stream.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ClassDataEntryWriter.html b/api/proguard/io/ClassDataEntryWriter.html new file mode 100644 index 000000000..0ff642401 --- /dev/null +++ b/api/proguard/io/ClassDataEntryWriter.html @@ -0,0 +1,490 @@ + + + + + +ClassDataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ClassDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.ClassDataEntryWriter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.AutoCloseable, DataEntryWriter
    +
    +
    +
    public class ClassDataEntryWriter
    +extends java.lang.Object
    +implements DataEntryWriter
    +
    This DataEntryWriter finds received class entries in the given class pool and writes them + out to the given data entry writer. For resource entries, it returns valid output streams. For + class entries, it returns output streams that must not be used.
    +
    +
    See Also:
    +
    IdleRewriter
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassDataEntryWriter

        +
        public ClassDataEntryWriter​(ClassPool classPool,
        +                            DataEntryWriter dataEntryWriter)
        +
        Creates a new ClassDataEntryWriter.
        +
        +
        Parameters:
        +
        classPool - the class pool in which classes are found.
        +
        dataEntryWriter - the writer to which the class file is written.
        +
        +
      • +
      + + + +
        +
      • +

        ClassDataEntryWriter

        +
        public ClassDataEntryWriter​(ClassPool classPool,
        +                            DataEntryWriter dataEntryWriter,
        +                            ClassVisitor extraClassVisitor)
        +
        Creates a new ClassDataEntryWriter.
        +
        +
        Parameters:
        +
        classPool - the class pool in which classes are found.
        +
        dataEntryWriter - the writer to which the class file is written.
        +
        extraClassVisitor - a class visitor that will be visited for each class that is written.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ClassFilter.html b/api/proguard/io/ClassFilter.html new file mode 100644 index 000000000..d6886eedc --- /dev/null +++ b/api/proguard/io/ClassFilter.html @@ -0,0 +1,305 @@ + + + + + +ClassFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ClassFilter

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassFilter​(DataEntryReader classReader) +
      Creates a new ClassFilter that delegates reading classes to the given reader.
      +
      ClassFilter​(DataEntryReader classReader, + DataEntryReader dataEntryReader) +
      Creates a new ClassFilter that delegates to either of the two given readers.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassFilter

        +
        public ClassFilter​(DataEntryReader classReader)
        +
        Creates a new ClassFilter that delegates reading classes to the given reader.
        +
      • +
      + + + +
        +
      • +

        ClassFilter

        +
        public ClassFilter​(DataEntryReader classReader,
        +                   DataEntryReader dataEntryReader)
        +
        Creates a new ClassFilter that delegates to either of the two given readers.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/io/ClassMapDataEntryWriter.html b/api/proguard/io/ClassMapDataEntryWriter.html new file mode 100644 index 000000000..41f21001e --- /dev/null +++ b/api/proguard/io/ClassMapDataEntryWriter.html @@ -0,0 +1,529 @@ + + + + + +ClassMapDataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ClassMapDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.ClassMapDataEntryWriter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.AutoCloseable, MemberVisitor, DataEntryWriter
    +
    +
    +
    public class ClassMapDataEntryWriter
    +extends java.lang.Object
    +implements DataEntryWriter, MemberVisitor
    +
    This DataEntryWriter writes a class mapping to the given data entry, used for debugging + of the configuration. + +

    Syntax of the mapping file (one line per class): + +

    originalClassName,newClassName,hasObfuscatedMethods,hasObfuscatedFields + +

    hasObfuscatedMethods and hasObfuscatedFields can either take the value 0 (false) or 1 (true).

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassMapDataEntryWriter

        +
        public ClassMapDataEntryWriter​(ClassPool programClassPool,
        +                               DataEntryWriter dataEntryWriter)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyMember

        +
        public void visitAnyMember​(Clazz clazz,
        +                           Member member)
        +
        Description copied from interface: MemberVisitor
        +
        Visits any Member instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyMember in interface MemberVisitor
        +
        +
      • +
      + + + + + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ClassPath.html b/api/proguard/io/ClassPath.html new file mode 100644 index 000000000..efc560815 --- /dev/null +++ b/api/proguard/io/ClassPath.html @@ -0,0 +1,439 @@ + + + + + +ClassPath (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ClassPath

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.ClassPath
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ClassPath
    +extends java.lang.Object
    +
    This class represents a class path, as a list of ClassPathEntry objects.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        hasOutput

        +
        public boolean hasOutput()
        +
        Returns whether the class path contains any output entries.
        +
      • +
      + + + +
        +
      • +

        getClassPathEntries

        +
        public java.util.List<ClassPathEntry> getClassPathEntries()
        +
        Returns the list of class path entries for this class path.
        +
      • +
      + + + +
        +
      • +

        clear

        +
        public void clear()
        +
      • +
      + + + +
        +
      • +

        add

        +
        public void add​(int index,
        +                ClassPathEntry classPathEntry)
        +
      • +
      + + + + + + + +
        +
      • +

        addAll

        +
        public boolean addAll​(ClassPath classPath)
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        isEmpty

        +
        public boolean isEmpty()
        +
      • +
      + + + +
        +
      • +

        size

        +
        public int size()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ClassPathDataEntry.html b/api/proguard/io/ClassPathDataEntry.html new file mode 100644 index 000000000..d2216c298 --- /dev/null +++ b/api/proguard/io/ClassPathDataEntry.html @@ -0,0 +1,506 @@ + + + + + +ClassPathDataEntry (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ClassPathDataEntry

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.ClassPathDataEntry
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntry
    +
    +
    +
    public class ClassPathDataEntry
    +extends java.lang.Object
    +implements DataEntry
    +
    DataEntry implementation which loads an input stream from the classpath of the running + VM.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassPathDataEntry​(java.lang.Class clazz) +
      Creas an new ClassPathDataEntry for the given class.
      +
      ClassPathDataEntry​(java.lang.String name) +
      Creates a new ClassPathDataEntry for the entry with the given name.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidcloseInputStream() +
      Closes the previously retrieved InputStream.
      +
      java.io.InputStreamgetInputStream() +
      Returns an input stream for reading the content of this data entry.
      +
      java.lang.StringgetName() +
      Returns the name of this data entry.
      +
      java.lang.StringgetOriginalName() +
      Returns the original name of this data entry, i.e.
      +
      DataEntrygetParent() +
      Returns the parent of this data entry, or null if it doesn't + have one.
      +
      longgetSize() +
      Returns the size of this data entry, in bytes, or -1 if unknown.
      +
      booleanisDirectory() +
      Returns whether the data entry represents a directory.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassPathDataEntry

        +
        public ClassPathDataEntry​(java.lang.Class clazz)
        +
        Creas an new ClassPathDataEntry for the given class.
        +
        +
        Parameters:
        +
        clazz - the class for which to create a data entry.
        +
        +
      • +
      + + + +
        +
      • +

        ClassPathDataEntry

        +
        public ClassPathDataEntry​(java.lang.String name)
        +
        Creates a new ClassPathDataEntry for the entry with the given name.
        +
        +
        Parameters:
        +
        name - the name of the class for which to create a data entry.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Description copied from interface: DataEntry
        +
        Returns the name of this data entry.
        +
        +
        Specified by:
        +
        getName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getOriginalName

        +
        public java.lang.String getOriginalName()
        +
        Description copied from interface: DataEntry
        +
        Returns the original name of this data entry, i.e. the name of the data entry before any + renaming or obfuscation.
        +
        +
        Specified by:
        +
        getOriginalName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getSize

        +
        public long getSize()
        +
        Description copied from interface: DataEntry
        +
        Returns the size of this data entry, in bytes, or -1 if unknown.
        +
        +
        Specified by:
        +
        getSize in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        isDirectory

        +
        public boolean isDirectory()
        +
        Description copied from interface: DataEntry
        +
        Returns whether the data entry represents a directory.
        +
        +
        Specified by:
        +
        isDirectory in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getInputStream

        +
        public java.io.InputStream getInputStream()
        +                                   throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Returns an input stream for reading the content of this data entry. The data entry may not + represent a directory.
        +
        +
        Specified by:
        +
        getInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        closeInputStream

        +
        public void closeInputStream()
        +                      throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Closes the previously retrieved InputStream.
        +
        +
        Specified by:
        +
        closeInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        getParent

        +
        public DataEntry getParent()
        +
        Description copied from interface: DataEntry
        +
        Returns the parent of this data entry, or null if it doesn't + have one.
        +
        +
        Specified by:
        +
        getParent in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ClassPathEntry.html b/api/proguard/io/ClassPathEntry.html new file mode 100644 index 000000000..4ff10d70c --- /dev/null +++ b/api/proguard/io/ClassPathEntry.html @@ -0,0 +1,937 @@ + + + + + +ClassPathEntry (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ClassPathEntry

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.ClassPathEntry
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ClassPathEntry
    +extends java.lang.Object
    +
    This class represents an entry from a class path: an apk, a jar, an aar, a war, a zip, an ear, or + a directory. It has a name, and a flag to indicate whether the entry is an input entry or an + output entry. + +

    It also has an optional feature name that can serve as a tag to indicate the group to which + the entry belongs, e.g. a given Android dynamic feature. + +

    It also has optional filters for the names of the contained resource/classes, apks, jars, + aars, wars, ears, and zips.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassPathEntry​(java.io.File file, + boolean isOutput) +
      Creates a new ClassPathEntry with the given file and output flag.
      +
      ClassPathEntry​(java.io.File file, + boolean isOutput, + java.lang.String featureName) +
      Creates a new ClassPathEntry with the given file, output flag, and optional feature name.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.util.List<java.lang.String>getAabFilter() +
      Returns the name filter that is applied to aab files in this entry, if any.
      +
      java.util.List<java.lang.String>getAarFilter() +
      Returns the name filter that is applied to aar files in this entry, if any.
      +
      java.util.List<java.lang.String>getApkFilter() +
      Returns the name filter that is applied to apk files in this entry, if any.
      +
      java.util.List<java.lang.String>getEarFilter() +
      Returns the name filter that is applied to ear files in this entry, if any.
      +
      java.lang.StringgetFeatureName() +
      Returns the feature name.
      +
      java.io.FilegetFile() +
      Returns the file.
      +
      java.util.List<java.lang.String>getFilter() +
      Returns the name filter that is applied to bottom-level files in this entry.
      +
      java.util.List<java.lang.String>getJarFilter() +
      Returns the name filter that is applied to jar files in this entry, if any.
      +
      java.util.List<java.lang.String>getJmodFilter() +
      Returns the name filter that is applied to jmod files in this entry, if any.
      +
      java.lang.StringgetName() +
      Returns the path name of the entry.
      +
      java.util.List<java.lang.String>getWarFilter() +
      Returns the name filter that is applied to war files in this entry, if any.
      +
      java.util.List<java.lang.String>getZipFilter() +
      Returns the name filter that is applied to zip files in this entry, if any.
      +
      booleanisAab() +
      Returns whether this data entry is an aab file.
      +
      booleanisAar() +
      Returns whether this data entry is an aar file.
      +
      booleanisApk() +
      Returns whether this data entry is an apk file.
      +
      booleanisDex() +
      Returns whether this data entry is a dex file.
      +
      booleanisEar() +
      Returns whether this data entry is a ear file.
      +
      booleanisFiltered() +
      Returns whether this data entry has any kind of filter.
      +
      booleanisJar() +
      Returns whether this data entry is a jar file.
      +
      booleanisJmod() +
      Returns whether this data entry is a jmod file.
      +
      booleanisOutput() +
      Returns whether this data entry is an output entry.
      +
      booleanisWar() +
      Returns whether this data entry is a war file.
      +
      booleanisZip() +
      Returns whether this data entry is a zip file.
      +
      voidsetAabFilter​(java.util.List<java.lang.String> filter) +
      Sets the name filter that is applied to aab files in this entry, if any.
      +
      voidsetAarFilter​(java.util.List<java.lang.String> filter) +
      Sets the name filter that is applied to aar files in this entry, if any.
      +
      voidsetApkFilter​(java.util.List<java.lang.String> filter) +
      Sets the name filter that is applied to apk files in this entry, if any.
      +
      voidsetEarFilter​(java.util.List<java.lang.String> filter) +
      Sets the name filter that is applied to ear files in this entry, if any.
      +
      voidsetFeatureName​(java.lang.String featureName) +
      Sets the feature name.
      +
      voidsetFile​(java.io.File file) +
      Sets the file.
      +
      voidsetFilter​(java.util.List<java.lang.String> filter) +
      Sets the name filter that is applied to bottom-level files in this entry.
      +
      voidsetJarFilter​(java.util.List<java.lang.String> filter) +
      Sets the name filter that is applied to jar files in this entry, if any.
      +
      voidsetJmodFilter​(java.util.List<java.lang.String> filter) +
      Sets the name filter that is applied to jmod files in this entry, if any.
      +
      voidsetOutput​(boolean output) +
      Specifies whether this data entry is an output entry.
      +
      voidsetWarFilter​(java.util.List<java.lang.String> filter) +
      Sets the name filter that is applied to war files in this entry, if any.
      +
      voidsetZipFilter​(java.util.List<java.lang.String> filter) +
      Sets the name filter that is applied to zip files in this entry, if any.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassPathEntry

        +
        public ClassPathEntry​(java.io.File file,
        +                      boolean isOutput)
        +
        Creates a new ClassPathEntry with the given file and output flag.
        +
      • +
      + + + +
        +
      • +

        ClassPathEntry

        +
        public ClassPathEntry​(java.io.File file,
        +                      boolean isOutput,
        +                      java.lang.String featureName)
        +
        Creates a new ClassPathEntry with the given file, output flag, and optional feature name.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Returns the path name of the entry.
        +
      • +
      + + + +
        +
      • +

        getFile

        +
        public java.io.File getFile()
        +
        Returns the file.
        +
      • +
      + + + +
        +
      • +

        setFile

        +
        public void setFile​(java.io.File file)
        +
        Sets the file.
        +
      • +
      + + + +
        +
      • +

        isOutput

        +
        public boolean isOutput()
        +
        Returns whether this data entry is an output entry.
        +
      • +
      + + + +
        +
      • +

        setOutput

        +
        public void setOutput​(boolean output)
        +
        Specifies whether this data entry is an output entry.
        +
      • +
      + + + +
        +
      • +

        getFeatureName

        +
        public java.lang.String getFeatureName()
        +
        Returns the feature name.
        +
      • +
      + + + +
        +
      • +

        setFeatureName

        +
        public void setFeatureName​(java.lang.String featureName)
        +
        Sets the feature name.
        +
      • +
      + + + +
        +
      • +

        isDex

        +
        public boolean isDex()
        +
        Returns whether this data entry is a dex file.
        +
      • +
      + + + +
        +
      • +

        isApk

        +
        public boolean isApk()
        +
        Returns whether this data entry is an apk file.
        +
      • +
      + + + +
        +
      • +

        isAab

        +
        public boolean isAab()
        +
        Returns whether this data entry is an aab file.
        +
      • +
      + + + +
        +
      • +

        isJar

        +
        public boolean isJar()
        +
        Returns whether this data entry is a jar file.
        +
      • +
      + + + +
        +
      • +

        isAar

        +
        public boolean isAar()
        +
        Returns whether this data entry is an aar file.
        +
      • +
      + + + +
        +
      • +

        isWar

        +
        public boolean isWar()
        +
        Returns whether this data entry is a war file.
        +
      • +
      + + + +
        +
      • +

        isEar

        +
        public boolean isEar()
        +
        Returns whether this data entry is a ear file.
        +
      • +
      + + + +
        +
      • +

        isJmod

        +
        public boolean isJmod()
        +
        Returns whether this data entry is a jmod file.
        +
      • +
      + + + +
        +
      • +

        isZip

        +
        public boolean isZip()
        +
        Returns whether this data entry is a zip file.
        +
      • +
      + + + +
        +
      • +

        isFiltered

        +
        public boolean isFiltered()
        +
        Returns whether this data entry has any kind of filter.
        +
      • +
      + + + +
        +
      • +

        getFilter

        +
        public java.util.List<java.lang.String> getFilter()
        +
        Returns the name filter that is applied to bottom-level files in this entry.
        +
      • +
      + + + +
        +
      • +

        setFilter

        +
        public void setFilter​(java.util.List<java.lang.String> filter)
        +
        Sets the name filter that is applied to bottom-level files in this entry.
        +
      • +
      + + + +
        +
      • +

        getApkFilter

        +
        public java.util.List<java.lang.String> getApkFilter()
        +
        Returns the name filter that is applied to apk files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        setApkFilter

        +
        public void setApkFilter​(java.util.List<java.lang.String> filter)
        +
        Sets the name filter that is applied to apk files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        getAabFilter

        +
        public java.util.List<java.lang.String> getAabFilter()
        +
        Returns the name filter that is applied to aab files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        setAabFilter

        +
        public void setAabFilter​(java.util.List<java.lang.String> filter)
        +
        Sets the name filter that is applied to aab files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        getJarFilter

        +
        public java.util.List<java.lang.String> getJarFilter()
        +
        Returns the name filter that is applied to jar files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        setJarFilter

        +
        public void setJarFilter​(java.util.List<java.lang.String> filter)
        +
        Sets the name filter that is applied to jar files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        getAarFilter

        +
        public java.util.List<java.lang.String> getAarFilter()
        +
        Returns the name filter that is applied to aar files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        setAarFilter

        +
        public void setAarFilter​(java.util.List<java.lang.String> filter)
        +
        Sets the name filter that is applied to aar files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        getWarFilter

        +
        public java.util.List<java.lang.String> getWarFilter()
        +
        Returns the name filter that is applied to war files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        setWarFilter

        +
        public void setWarFilter​(java.util.List<java.lang.String> filter)
        +
        Sets the name filter that is applied to war files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        getEarFilter

        +
        public java.util.List<java.lang.String> getEarFilter()
        +
        Returns the name filter that is applied to ear files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        setEarFilter

        +
        public void setEarFilter​(java.util.List<java.lang.String> filter)
        +
        Sets the name filter that is applied to ear files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        getJmodFilter

        +
        public java.util.List<java.lang.String> getJmodFilter()
        +
        Returns the name filter that is applied to jmod files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        setJmodFilter

        +
        public void setJmodFilter​(java.util.List<java.lang.String> filter)
        +
        Sets the name filter that is applied to jmod files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        getZipFilter

        +
        public java.util.List<java.lang.String> getZipFilter()
        +
        Returns the name filter that is applied to zip files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        setZipFilter

        +
        public void setZipFilter​(java.util.List<java.lang.String> filter)
        +
        Sets the name filter that is applied to zip files in this entry, if any.
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ClassReader.html b/api/proguard/io/ClassReader.html new file mode 100644 index 000000000..8894612fb --- /dev/null +++ b/api/proguard/io/ClassReader.html @@ -0,0 +1,388 @@ + + + + + +ClassReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ClassReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.ClassReader
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntryReader
    +
    +
    +
    public class ClassReader
    +extends java.lang.Object
    +implements DataEntryReader
    +
    This DataEntryReader applies a given ClassVisitor to the class definitions that + it reads. + +

    Class files are read as ProgramClass instances or LibraryClass instances, + depending on the isLibrary flag. + +

    In case of libraries, only public classes are considered, if the + skipNonPublicLibraryClasses flag is set.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassReader​(boolean isLibrary, + boolean skipNonPublicLibraryClasses, + boolean skipNonPublicLibraryClassMembers, + boolean ignoreStackMapAttributes, + boolean includeKotlinMetadata, + WarningPrinter warningPrinter, + ClassVisitor classVisitor) +
      Creates a new ClassReader for reading the specified Clazz objects.
      +
      ClassReader​(boolean isLibrary, + boolean skipNonPublicLibraryClasses, + boolean skipNonPublicLibraryClassMembers, + boolean ignoreStackMapAttributes, + WarningPrinter warningPrinter, + ClassVisitor classVisitor) +
      Creates a new ClassReader for reading the specified Clazz objects.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) +
      This main method illustrates the use of this class.
      +
      voidread​(DataEntry dataEntry) +
      Reads the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassReader

        +
        public ClassReader​(boolean isLibrary,
        +                   boolean skipNonPublicLibraryClasses,
        +                   boolean skipNonPublicLibraryClassMembers,
        +                   boolean ignoreStackMapAttributes,
        +                   WarningPrinter warningPrinter,
        +                   ClassVisitor classVisitor)
        +
        Creates a new ClassReader for reading the specified Clazz objects.
        +
      • +
      + + + +
        +
      • +

        ClassReader

        +
        public ClassReader​(boolean isLibrary,
        +                   boolean skipNonPublicLibraryClasses,
        +                   boolean skipNonPublicLibraryClassMembers,
        +                   boolean ignoreStackMapAttributes,
        +                   boolean includeKotlinMetadata,
        +                   WarningPrinter warningPrinter,
        +                   ClassVisitor classVisitor)
        +
        Creates a new ClassReader for reading the specified Clazz objects.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        public void read​(DataEntry dataEntry)
        +          throws java.io.IOException
        +
        Description copied from interface: DataEntryReader
        +
        Reads the given data entry.
        +
        +
        Specified by:
        +
        read in interface DataEntryReader
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        This main method illustrates the use of this class. + +

        It writes out the structure of the specified classes (packaged in jar, zip, or class files).

        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/D8BasedDexDataEntryWriter.html b/api/proguard/io/D8BasedDexDataEntryWriter.html new file mode 100644 index 000000000..0fa80f0fd --- /dev/null +++ b/api/proguard/io/D8BasedDexDataEntryWriter.html @@ -0,0 +1,427 @@ + + + + + +D8BasedDexDataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class D8BasedDexDataEntryWriter

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.AutoCloseable, DataEntryWriter
    +
    +
    +
    public class D8BasedDexDataEntryWriter
    +extends DexDataEntryWriter
    +
    An dex writer that uses the d8 tool from the Android SDK.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        D8BasedDexDataEntryWriter

        +
        public D8BasedDexDataEntryWriter​(ClassPool classPool,
        +                                 StringMatcher classNameFilter,
        +                                 ClassPath libraryJars,
        +                                 java.lang.String dexFileName,
        +                                 boolean forceDex,
        +                                 int minSdkVersion,
        +                                 boolean debuggable,
        +                                 DataEntryReader extraDexDataEntryVisitor,
        +                                 DataEntryWriter dexDataEntryWriter,
        +                                 DataEntryWriter otherDataEntryWriter)
        +
        Creates a new D8BasedDexDataEntryWriter.
        +
        +
        Parameters:
        +
        classPool - the class pool from which classes are collected.
        +
        classNameFilter - an optional filter for classes to be written.
        +
        dexFileName - the dex file name.
        +
        forceDex - specifies whether the dex files should always be written, even if they don't + contain any code.
        +
        minSdkVersion - the minimum supported API level.
        +
        debuggable - whether the dex file shall be debuggable or not.
        +
        extraDexDataEntryVisitor - an optional extra visitor for all dex data entries that + written. The visitor can use the data entry names, but must not read their contents.
        +
        dexDataEntryWriter - the writer to which the converted dex file is written.
        +
        otherDataEntryWriter - the writer to which other data entries are written.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createClassConverter

        +
        protected ClassVisitor createClassConverter()
        +
      • +
      + + + +
        +
      • +

        writeDex

        +
        protected void writeDex​(java.io.OutputStream outputStream)
        +                 throws java.io.IOException
        +
        Description copied from class: DexDataEntryWriter
        +
        Creates a new Dex instance from the collected classes.
        +
        +
        Specified by:
        +
        writeDex in class DexDataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Overrides:
        +
        println in class DexDataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/D8ClassConverter.D8DexFile.html b/api/proguard/io/D8ClassConverter.D8DexFile.html new file mode 100644 index 000000000..ecc3c8df3 --- /dev/null +++ b/api/proguard/io/D8ClassConverter.D8DexFile.html @@ -0,0 +1,345 @@ + + + + + +D8ClassConverter.D8DexFile (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class D8ClassConverter.D8DexFile

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.D8ClassConverter.D8DexFile
    • +
    +
  • +
+
+
    +
  • +
    +
    Enclosing class:
    +
    D8ClassConverter
    +
    +
    +
    public static class D8ClassConverter.D8DexFile
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      D8DexFile​(ClassPath libraryJars, + int minSdkVersion, + boolean debuggable) 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        D8DexFile

        +
        public D8DexFile​(ClassPath libraryJars,
        +                 int minSdkVersion,
        +                 boolean debuggable)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        isArchive

        +
        public static boolean isArchive​(ClassPathEntry path)
        +
      • +
      + + + +
        +
      • +

        addProgramClassData

        +
        public void addProgramClassData​(byte[] data)
        +
      • +
      + + + +
        +
      • +

        writeTo

        +
        public void writeTo​(java.io.OutputStream outputStream)
        +             throws java.io.IOException
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/D8ClassConverter.html b/api/proguard/io/D8ClassConverter.html new file mode 100644 index 000000000..e6bd7622f --- /dev/null +++ b/api/proguard/io/D8ClassConverter.html @@ -0,0 +1,370 @@ + + + + + +D8ClassConverter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class D8ClassConverter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.D8ClassConverter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    public class D8ClassConverter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor converts and collects the classes that it visits, and uses D8 to convert them + to the dex format. + +

    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/io/DataEntry.html b/api/proguard/io/DataEntry.html new file mode 100644 index 000000000..a8a91b4e6 --- /dev/null +++ b/api/proguard/io/DataEntry.html @@ -0,0 +1,372 @@ + + + + + +DataEntry (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Interface DataEntry

+
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      voidcloseInputStream() +
      Closes the previously retrieved InputStream.
      +
      java.io.InputStreamgetInputStream() +
      Returns an input stream for reading the content of this data entry.
      +
      java.lang.StringgetName() +
      Returns the name of this data entry.
      +
      java.lang.StringgetOriginalName() +
      Returns the original name of this data entry, i.e.
      +
      DataEntrygetParent() +
      Returns the parent of this data entry, or null if it doesn't + have one.
      +
      longgetSize() +
      Returns the size of this data entry, in bytes, or -1 if unknown.
      +
      booleanisDirectory() +
      Returns whether the data entry represents a directory.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        java.lang.String getName()
        +
        Returns the name of this data entry.
        +
      • +
      + + + +
        +
      • +

        getOriginalName

        +
        java.lang.String getOriginalName()
        +
        Returns the original name of this data entry, i.e. the name of the data entry before any + renaming or obfuscation.
        +
      • +
      + + + +
        +
      • +

        getSize

        +
        long getSize()
        +
        Returns the size of this data entry, in bytes, or -1 if unknown.
        +
      • +
      + + + +
        +
      • +

        isDirectory

        +
        boolean isDirectory()
        +
        Returns whether the data entry represents a directory.
        +
      • +
      + + + +
        +
      • +

        getInputStream

        +
        java.io.InputStream getInputStream()
        +                            throws java.io.IOException
        +
        Returns an input stream for reading the content of this data entry. The data entry may not + represent a directory.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        closeInputStream

        +
        void closeInputStream()
        +               throws java.io.IOException
        +
        Closes the previously retrieved InputStream.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        getParent

        +
        DataEntry getParent()
        +
        Returns the parent of this data entry, or null if it doesn't + have one.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/io/DataEntryClassInfoFilter.html b/api/proguard/io/DataEntryClassInfoFilter.html new file mode 100644 index 000000000..0ff98f801 --- /dev/null +++ b/api/proguard/io/DataEntryClassInfoFilter.html @@ -0,0 +1,333 @@ + + + + + +DataEntryClassInfoFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DataEntryClassInfoFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DataEntryClassInfoFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntryFilter
    +
    +
    +
    public class DataEntryClassInfoFilter
    +extends java.lang.Object
    +implements DataEntryFilter
    +
    This DataEntryFilter filters data entries based on whether they correspond to classes in a given + class pool that have a given processing info.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DataEntryClassInfoFilter​(ClassPool classPool, + java.lang.Object processingInfo) +
      Creates a new DataEntryClassInfoFilter.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanaccepts​(DataEntry dataEntry) +
      Checks whether the filter accepts the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DataEntryClassInfoFilter

        +
        public DataEntryClassInfoFilter​(ClassPool classPool,
        +                                java.lang.Object processingInfo)
        +
        Creates a new DataEntryClassInfoFilter.
        +
        +
        Parameters:
        +
        classPool - the class pool in which the data entry is searched.
        +
        processingInfo - the processing info that the found class should have.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        accepts

        +
        public boolean accepts​(DataEntry dataEntry)
        +
        Description copied from interface: DataEntryFilter
        +
        Checks whether the filter accepts the given data entry.
        +
        +
        Specified by:
        +
        accepts in interface DataEntryFilter
        +
        Parameters:
        +
        dataEntry - the data entry to filter.
        +
        Returns:
        +
        a boolean indicating whether the filter accepts the given data entry.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DataEntryClassWriter.html b/api/proguard/io/DataEntryClassWriter.html new file mode 100644 index 000000000..48430731e --- /dev/null +++ b/api/proguard/io/DataEntryClassWriter.html @@ -0,0 +1,368 @@ + + + + + +DataEntryClassWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DataEntryClassWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DataEntryClassWriter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DataEntryClassWriter

        +
        public DataEntryClassWriter​(DataEntryWriter dataEntryWriter)
        +
        Creates a new DataEntryClassWriter for writing to the given DataEntryWriter.
        +
      • +
      + + + +
        +
      • +

        DataEntryClassWriter

        +
        public DataEntryClassWriter​(DataEntry templateDataEntry,
        +                            DataEntryWriter dataEntryWriter)
        +
        Creates a new DataEntryClassWriter for writing to the given DataEntryWriter, based on the given + template DataEntry.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyClass

        +
        public void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + + +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DataEntryCopier.html b/api/proguard/io/DataEntryCopier.html new file mode 100644 index 000000000..0425892ef --- /dev/null +++ b/api/proguard/io/DataEntryCopier.html @@ -0,0 +1,372 @@ + + + + + +DataEntryCopier (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DataEntryCopier

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DataEntryCopier
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DataEntryCopier​(DataEntryWriter dataEntryWriter) +
      Creates a new DataEntryCopier.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected voidcopyData​(java.io.InputStream inputStream, + java.io.OutputStream outputStream) +
      Copies all data that it can read from the given input stream to the given output stream.
      +
      static voidmain​(java.lang.String[] args) +
      A main method for testing file/archive/directory copying.
      +
      voidread​(DataEntry dataEntry) +
      Reads the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DataEntryCopier

        +
        public DataEntryCopier​(DataEntryWriter dataEntryWriter)
        +
        Creates a new DataEntryCopier.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        public void read​(DataEntry dataEntry)
        +          throws java.io.IOException
        +
        Description copied from interface: DataEntryReader
        +
        Reads the given data entry.
        +
        +
        Specified by:
        +
        read in interface DataEntryReader
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        copyData

        +
        protected void copyData​(java.io.InputStream inputStream,
        +                        java.io.OutputStream outputStream)
        +                 throws java.io.IOException
        +
        Copies all data that it can read from the given input stream to the given output stream. The + caller of this method will open and afterwards flush and close the input stream and the output + stream. The implementation of this method needs to make sure that any wrapping output streams + are flushed before returning.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        A main method for testing file/archive/directory copying.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DataEntryDirectoryFilter.html b/api/proguard/io/DataEntryDirectoryFilter.html new file mode 100644 index 000000000..fcc15f595 --- /dev/null +++ b/api/proguard/io/DataEntryDirectoryFilter.html @@ -0,0 +1,322 @@ + + + + + +DataEntryDirectoryFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DataEntryDirectoryFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DataEntryDirectoryFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntryFilter
    +
    +
    +
    public class DataEntryDirectoryFilter
    +extends java.lang.Object
    +implements DataEntryFilter
    +
    This DataEntryFilter filters data entries based on whether they represent directories.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanaccepts​(DataEntry dataEntry) +
      Checks whether the filter accepts the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DataEntryDirectoryFilter

        +
        public DataEntryDirectoryFilter()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        accepts

        +
        public boolean accepts​(DataEntry dataEntry)
        +
        Description copied from interface: DataEntryFilter
        +
        Checks whether the filter accepts the given data entry.
        +
        +
        Specified by:
        +
        accepts in interface DataEntryFilter
        +
        Parameters:
        +
        dataEntry - the data entry to filter.
        +
        Returns:
        +
        a boolean indicating whether the filter accepts the given data entry.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DataEntryFilter.html b/api/proguard/io/DataEntryFilter.html new file mode 100644 index 000000000..a80ce8d81 --- /dev/null +++ b/api/proguard/io/DataEntryFilter.html @@ -0,0 +1,262 @@ + + + + + +DataEntryFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Interface DataEntryFilter

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        accepts

        +
        boolean accepts​(DataEntry dataEntry)
        +
        Checks whether the filter accepts the given data entry.
        +
        +
        Parameters:
        +
        dataEntry - the data entry to filter.
        +
        Returns:
        +
        a boolean indicating whether the filter accepts the given data entry.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/io/DataEntryNameFilter.html b/api/proguard/io/DataEntryNameFilter.html new file mode 100644 index 000000000..e7eb10d20 --- /dev/null +++ b/api/proguard/io/DataEntryNameFilter.html @@ -0,0 +1,331 @@ + + + + + +DataEntryNameFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DataEntryNameFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DataEntryNameFilter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanaccepts​(DataEntry dataEntry) +
      Checks whether the filter accepts the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DataEntryNameFilter

        +
        public DataEntryNameFilter​(StringMatcher stringMatcher)
        +
        Creates a new DataEntryNameFilter.
        +
        +
        Parameters:
        +
        stringMatcher - the string matcher that will be applied to the names of the filtered data + entries.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        accepts

        +
        public boolean accepts​(DataEntry dataEntry)
        +
        Description copied from interface: DataEntryFilter
        +
        Checks whether the filter accepts the given data entry.
        +
        +
        Specified by:
        +
        accepts in interface DataEntryFilter
        +
        Parameters:
        +
        dataEntry - the data entry to filter.
        +
        Returns:
        +
        a boolean indicating whether the filter accepts the given data entry.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DataEntryParentFilter.html b/api/proguard/io/DataEntryParentFilter.html new file mode 100644 index 000000000..9dece4c2e --- /dev/null +++ b/api/proguard/io/DataEntryParentFilter.html @@ -0,0 +1,329 @@ + + + + + +DataEntryParentFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DataEntryParentFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DataEntryParentFilter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanaccepts​(DataEntry dataEntry) +
      Checks whether the filter accepts the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DataEntryParentFilter

        +
        public DataEntryParentFilter​(DataEntryFilter dataEntryFilter)
        +
        Creates a new ParentFilter.
        +
        +
        Parameters:
        +
        dataEntryFilter - the filter that will be applied to the data entry's parent.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        accepts

        +
        public boolean accepts​(DataEntry dataEntry)
        +
        Description copied from interface: DataEntryFilter
        +
        Checks whether the filter accepts the given data entry.
        +
        +
        Specified by:
        +
        accepts in interface DataEntryFilter
        +
        Parameters:
        +
        dataEntry - the data entry to filter.
        +
        Returns:
        +
        a boolean indicating whether the filter accepts the given data entry.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DataEntryReader.html b/api/proguard/io/DataEntryReader.html new file mode 100644 index 000000000..a55f94a0e --- /dev/null +++ b/api/proguard/io/DataEntryReader.html @@ -0,0 +1,262 @@ + + + + + +DataEntryReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Interface DataEntryReader

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        void read​(DataEntry dataEntry)
        +   throws java.io.IOException
        +
        Reads the given data entry.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/io/DataEntryReaderFactory.html b/api/proguard/io/DataEntryReaderFactory.html new file mode 100644 index 000000000..49ea568da --- /dev/null +++ b/api/proguard/io/DataEntryReaderFactory.html @@ -0,0 +1,349 @@ + + + + + +DataEntryReaderFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DataEntryReaderFactory

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DataEntryReaderFactory
    • +
    +
  • +
+
+
    +
  • +
    +
    public class DataEntryReaderFactory
    +extends java.lang.Object
    +
    This class can create DataEntryReader instances based on class path entries. The readers will + unwrap the input data entries from any jars, wars, ears, jmods, and zips before passing them to a + given reader.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DataEntryReaderFactory

        +
        public DataEntryReaderFactory​(boolean android)
        +
        Creates a new DataEntryReaderFactory.
        +
        +
        Parameters:
        +
        android - Specifies whether the packaging is targeted at the Android platform. Archives + inside the assets directory then aren't unpacked but simply read as data files.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDataEntryReader

        +
        public DataEntryReader createDataEntryReader​(ClassPathEntry classPathEntry,
        +                                             DataEntryReader reader)
        +
        Creates a DataEntryReader that can read the given class path entry.
        +
        +
        Parameters:
        +
        classPathEntry - the input class path entry.
        +
        reader - a data entry reader to which the reading of actual classes and resource files can + be delegated.
        +
        Returns:
        +
        a DataEntryReader for reading the given class path entry.
        +
        +
      • +
      + + + +
        +
      • +

        getFilterExcludingVersionedClasses

        +
        public static java.util.List<java.lang.String> getFilterExcludingVersionedClasses​(ClassPathEntry classPathEntry)
        +
        Method to return an augmented filter for supported features. + +

        Currently versioned class files (a feature introduced in Java 9) are not fully supported by + ProGuard. Only 1 version of a class can be read and processed. If no custom filter targeting a + specific version is used, exclude such classes from being read.

        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DataEntryRewriter.html b/api/proguard/io/DataEntryRewriter.html new file mode 100644 index 000000000..5d1e250f5 --- /dev/null +++ b/api/proguard/io/DataEntryRewriter.html @@ -0,0 +1,372 @@ + + + + + +DataEntryRewriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DataEntryRewriter

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DataEntryRewriter​(ClassPool classPool, + java.nio.charset.Charset charset, + DataEntryWriter dataEntryWriter) +
      Creates a new DataEntryRewriter.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected voidcopyData​(java.io.InputStream inputStream, + java.io.OutputStream outputStream) +
      Copies all data that it can read from the given input stream to the given output stream.
      +
      protected voidcopyData​(java.io.Reader reader, + java.io.Writer writer) +
      Copies all data that it can read from the given reader to the given writer.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DataEntryRewriter

        +
        public DataEntryRewriter​(ClassPool classPool,
        +                         java.nio.charset.Charset charset,
        +                         DataEntryWriter dataEntryWriter)
        +
        Creates a new DataEntryRewriter.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        copyData

        +
        protected void copyData​(java.io.InputStream inputStream,
        +                        java.io.OutputStream outputStream)
        +                 throws java.io.IOException
        +
        Description copied from class: DataEntryCopier
        +
        Copies all data that it can read from the given input stream to the given output stream. The + caller of this method will open and afterwards flush and close the input stream and the output + stream. The implementation of this method needs to make sure that any wrapping output streams + are flushed before returning.
        +
        +
        Overrides:
        +
        copyData in class DataEntryCopier
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        copyData

        +
        protected void copyData​(java.io.Reader reader,
        +                        java.io.Writer writer)
        +                 throws java.io.IOException
        +
        Copies all data that it can read from the given reader to the given writer.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DataEntrySource.html b/api/proguard/io/DataEntrySource.html new file mode 100644 index 000000000..852a44c7a --- /dev/null +++ b/api/proguard/io/DataEntrySource.html @@ -0,0 +1,264 @@ + + + + + +DataEntrySource (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Interface DataEntrySource

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    DirectorySource, FileSource
    +
    +
    +
    public interface DataEntrySource
    +
    This interface provides a source for data entries. The implementation determines the type of the + data entries. Typical examples are files or directories. The source can pump its data entries + into a data entry reader (a "push" model for the entries), which can then optionally read their + contents (a "pull" model for the contents).
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        pumpDataEntries

        +
        void pumpDataEntries​(DataEntryReader dataEntryReader)
        +              throws java.io.IOException
        +
        Applies the given DataEntryReader to all data entries that the implementation can provide.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/io/DataEntryToken.html b/api/proguard/io/DataEntryToken.html new file mode 100644 index 000000000..a56f75a17 --- /dev/null +++ b/api/proguard/io/DataEntryToken.html @@ -0,0 +1,326 @@ + + + + + +DataEntryToken (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DataEntryToken

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DataEntryToken
    • +
    +
  • +
+
+
    +
  • +
    +
    public class DataEntryToken
    +extends java.lang.Object
    +
    Represents a character sequence that is part of a DataEntry and that has a certain + meaning denoted by its DataEntryTokenType.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DataEntryToken

        +
        public DataEntryToken​(java.lang.String string,
        +                      DataEntryTokenType type)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DataEntryTokenType.html b/api/proguard/io/DataEntryTokenType.html new file mode 100644 index 000000000..5e439c9ef --- /dev/null +++ b/api/proguard/io/DataEntryTokenType.html @@ -0,0 +1,377 @@ + + + + + +DataEntryTokenType (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Enum DataEntryTokenType

+
+
+
    +
  • java.lang.Object
  • +
  • + +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Enum Constant Summary

      + + + + + + + + + + + + + + +
      Enum Constants 
      Enum ConstantDescription
      JAVA_IDENTIFIER 
      OTHER 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static DataEntryTokenTypevalueOf​(java.lang.String name) +
      Returns the enum constant of this type with the specified name.
      +
      static DataEntryTokenType[]values() +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Enum

        +clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static DataEntryTokenType[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (DataEntryTokenType c : DataEntryTokenType.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static DataEntryTokenType valueOf​(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DataEntryTokenizer.html b/api/proguard/io/DataEntryTokenizer.html new file mode 100644 index 000000000..abfba7d58 --- /dev/null +++ b/api/proguard/io/DataEntryTokenizer.html @@ -0,0 +1,312 @@ + + + + + +DataEntryTokenizer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DataEntryTokenizer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DataEntryTokenizer
    • +
    +
  • +
+
+
    +
  • +
    +
    public class DataEntryTokenizer
    +extends java.lang.Object
    +
    This class breaks up the character data read from a given Reader into DataEntryTokens. It + distinguishes character sequences that can be interpreted as valid Java identifiers from other + character sequences.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DataEntryTokenizer​(java.io.Reader reader) 
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DataEntryTokenizer

        +
        public DataEntryTokenizer​(java.io.Reader reader)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        nextToken

        +
        public DataEntryToken nextToken()
        +                         throws java.io.IOException
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DataEntryWriter.html b/api/proguard/io/DataEntryWriter.html new file mode 100644 index 000000000..426d8f649 --- /dev/null +++ b/api/proguard/io/DataEntryWriter.html @@ -0,0 +1,382 @@ + + + + + +DataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Interface DataEntryWriter

+
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        boolean createDirectory​(DataEntry dataEntry)
        +                 throws java.io.IOException
        +
        Creates a directory.
        +
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        boolean sameOutputStream​(DataEntry dataEntry1,
        +                         DataEntry dataEntry2)
        +                  throws java.io.IOException
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                 throws java.io.IOException
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        void close()
        +    throws java.io.IOException
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate close() + invocations, and only finally clean up. It is possible that delegates call createOutputStream(DataEntry) while close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        void println​(java.io.PrintWriter pw,
        +             java.lang.String prefix)
        +
        Prints out the structure of the data entry writer.
        +
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/io/DataEntryWriterFactory.html b/api/proguard/io/DataEntryWriterFactory.html new file mode 100644 index 000000000..cad996fcf --- /dev/null +++ b/api/proguard/io/DataEntryWriterFactory.html @@ -0,0 +1,442 @@ + + + + + +DataEntryWriterFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DataEntryWriterFactory

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DataEntryWriterFactory
    • +
    +
  • +
+
+
    +
  • +
    +
    public class DataEntryWriterFactory
    +extends java.lang.Object
    +
    This class can create DataEntryWriter instances based on class paths. The writers will wrap the + output in the proper apks, jars, aars, wars, ears, and zips. \
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DataEntryWriterFactory​(ClassPool programClassPool, + ResourceFilePool resourceFilePool, + int modificationTime, + StringMatcher uncompressedFilter, + int uncompressedAlignment, + boolean pageAlignNativeLibs, + boolean mergeAarJars, + java.security.KeyStore.PrivateKeyEntry[] privateKeyEntries) +
      Creates a new DataEntryWriterFactory.
      +
      DataEntryWriterFactory​(ClassPool programClassPool, + ResourceFilePool resourceFilePool, + int modificationTime, + StringMatcher uncompressedFilter, + int uncompressedAlignment, + boolean pageAlignNativeLibs, + boolean mergeAarJars, + java.security.KeyStore.PrivateKeyEntry[] privateKeyEntries, + java.util.function.Function<DataEntryWriter,​DataEntryWriter> alternativeClassDataEntryWriterProvider) +
      Creates a new DataEntryWriterFactory.
      +
      DataEntryWriterFactory​(ClassPool programClassPool, + ResourceFilePool resourceFilePool, + StringMatcher uncompressedFilter, + int uncompressedAlignment, + boolean pageAlignNativeLibs, + boolean mergeAarJars, + java.security.KeyStore.PrivateKeyEntry[] privateKeyEntries, + java.util.function.Function<DataEntryWriter,​DataEntryWriter> alternativeClassDataEntryWriterProvider) +
      Creates a new DataEntryWriterFactory.
      +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DataEntryWriterFactory

        +
        public DataEntryWriterFactory​(ClassPool programClassPool,
        +                              ResourceFilePool resourceFilePool,
        +                              int modificationTime,
        +                              StringMatcher uncompressedFilter,
        +                              int uncompressedAlignment,
        +                              boolean pageAlignNativeLibs,
        +                              boolean mergeAarJars,
        +                              java.security.KeyStore.PrivateKeyEntry[] privateKeyEntries)
        +
        Creates a new DataEntryWriterFactory.
        +
        +
        Parameters:
        +
        programClassPool - the program class pool to process.
        +
        resourceFilePool - the resource file pool to process.
        +
        modificationTime - the modification date and time of the zip entries, in DOS format.
        +
        uncompressedFilter - an optional filter for files that should not be compressed.
        +
        uncompressedAlignment - the desired alignment for the data of uncompressed entries.
        +
        pageAlignNativeLibs - specifies whether to align native libraries at page boundaries.
        +
        mergeAarJars - specifies whether to merge all jars in an Android library aar into a single + jar.
        +
        privateKeyEntries - optional private keys to sign jars.
        +
        +
      • +
      + + + +
        +
      • +

        DataEntryWriterFactory

        +
        public DataEntryWriterFactory​(ClassPool programClassPool,
        +                              ResourceFilePool resourceFilePool,
        +                              int modificationTime,
        +                              StringMatcher uncompressedFilter,
        +                              int uncompressedAlignment,
        +                              boolean pageAlignNativeLibs,
        +                              boolean mergeAarJars,
        +                              java.security.KeyStore.PrivateKeyEntry[] privateKeyEntries,
        +                              java.util.function.Function<DataEntryWriter,​DataEntryWriter> alternativeClassDataEntryWriterProvider)
        +
        Creates a new DataEntryWriterFactory.
        +
        +
        Parameters:
        +
        programClassPool - the program class pool to process.
        +
        resourceFilePool - the resource file pool to process.
        +
        modificationTime - the modification date and time of the zip entries, in DOS format.
        +
        uncompressedFilter - an optional filter for files that should not be compressed.
        +
        uncompressedAlignment - the desired alignment for the data of uncompressed entries.
        +
        pageAlignNativeLibs - specifies whether to align native libraries at page boundaries.
        +
        mergeAarJars - specifies whether to merge all jars in an Android app bundle into a single + jar.
        +
        privateKeyEntries - optional private keys to sign jars.
        +
        alternativeClassDataEntryWriterProvider - optional, to provide an alternative class + writer, instead of the default ClassDataEntryWriter.
        +
        +
      • +
      + + + +
        +
      • +

        DataEntryWriterFactory

        +
        public DataEntryWriterFactory​(ClassPool programClassPool,
        +                              ResourceFilePool resourceFilePool,
        +                              StringMatcher uncompressedFilter,
        +                              int uncompressedAlignment,
        +                              boolean pageAlignNativeLibs,
        +                              boolean mergeAarJars,
        +                              java.security.KeyStore.PrivateKeyEntry[] privateKeyEntries,
        +                              java.util.function.Function<DataEntryWriter,​DataEntryWriter> alternativeClassDataEntryWriterProvider)
        +
        Creates a new DataEntryWriterFactory.
        +
        +
        Parameters:
        +
        programClassPool - the program class pool to process.
        +
        resourceFilePool - the resource file pool to process.
        +
        uncompressedFilter - an optional filter for files that should not be compressed.
        +
        uncompressedAlignment - the desired alignment for the data of uncompressed entries.
        +
        pageAlignNativeLibs - specifies whether to align native libraries at page boundaries.
        +
        mergeAarJars - specifies whether to merge all jars in an Android app bundle into a single + jar.
        +
        privateKeyEntries - optional private keys to sign jars.
        +
        alternativeClassDataEntryWriterProvider - optional, to provide an alternative class + writer, instead of the default ClassDataEntryWriter.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDataEntryWriter

        +
        public DataEntryWriter createDataEntryWriter​(ClassPath classPath,
        +                                             int fromIndex,
        +                                             int toIndex,
        +                                             DataEntryWriter extraDataEntryWriter)
        +
        Creates a DataEntryWriter that can write to the given class path entries.
        +
        +
        Parameters:
        +
        classPath - the output class path.
        +
        fromIndex - the start index in the class path.
        +
        toIndex - the end index in the class path.
        +
        extraDataEntryWriter - a writer to which extra injected files can be written.
        +
        Returns:
        +
        a DataEntryWriter for writing to the given class path entries.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DexClassReader.html b/api/proguard/io/DexClassReader.html new file mode 100644 index 000000000..39c709bba --- /dev/null +++ b/api/proguard/io/DexClassReader.html @@ -0,0 +1,388 @@ + + + + + +DexClassReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DexClassReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DexClassReader
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntryReader
    +
    +
    +
    public class DexClassReader
    +extends java.lang.Object
    +implements DataEntryReader
    +
    This data entry reader reads dex files, converts their classes, and passes them to a given class + visitor.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DexClassReader​(boolean readCode, + boolean usePrimitiveArrayConstants, + ClassVisitor classVisitor) +
      Creates a new DexClassReader.
      +
      DexClassReader​(boolean readCode, + ClassVisitor classVisitor) +
      Creates a new DexClassReader.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) +
      This main method illustrates and tests the class.
      +
      voidread​(DataEntry dataEntry) +
      Reads the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexClassReader

        +
        public DexClassReader​(boolean readCode,
        +                      ClassVisitor classVisitor)
        +
        Creates a new DexClassReader. + +

        Does not generate PrimitiveArrayConstants by default, which is a custom ProGuardCORE + extension.

        +
        +
        Parameters:
        +
        readCode - specifies whether to read the actual code or just skip it.
        +
        classVisitor - the class visitor to which decoded classes will be passed.
        +
        +
      • +
      + + + +
        +
      • +

        DexClassReader

        +
        public DexClassReader​(boolean readCode,
        +                      boolean usePrimitiveArrayConstants,
        +                      ClassVisitor classVisitor)
        +
        Creates a new DexClassReader. + +

        If PrimitiveArrayConstants are generated then they should be converted back to + standard Java arrays before converting to Java class files using PrimitiveArrayConstantReplacer.

        +
        +
        Parameters:
        +
        readCode - specifies whether to read the actual code or just skip it.
        +
        usePrimitiveArrayConstants - specifies whether PrimitiveArrayConstant can be + generated when applicable.
        +
        classVisitor - the class visitor to which decoded classes will be passed.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        public void read​(DataEntry dataEntry)
        +          throws java.io.IOException
        +
        Description copied from interface: DataEntryReader
        +
        Reads the given data entry.
        +
        +
        Specified by:
        +
        read in interface DataEntryReader
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +                 throws java.lang.Exception
        +
        This main method illustrates and tests the class. It reads an input dex file (or jar file with + a dex file) and prints out its classes.
        +
        +
        Throws:
        +
        java.lang.Exception
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DexDataEntryWriter.html b/api/proguard/io/DexDataEntryWriter.html new file mode 100644 index 000000000..b0e910867 --- /dev/null +++ b/api/proguard/io/DexDataEntryWriter.html @@ -0,0 +1,575 @@ + + + + + +DexDataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DexDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DexDataEntryWriter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.AutoCloseable, DataEntryWriter
    +
    +
    +
    Direct Known Subclasses:
    +
    D8BasedDexDataEntryWriter
    +
    +
    +
    public abstract class DexDataEntryWriter
    +extends java.lang.Object
    +implements DataEntryWriter
    +
    This DataEntryWriter finds received class entries in the given class pool, collects them in a dex + file, and writes it out to the given data entry writer. For resource entries, it returns valid + output streams. For class entries, it returns output streams that must not be used.
    +
    +
    See Also:
    +
    IdleRewriter
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        dexFileName

        +
        protected final java.lang.String dexFileName
        +
      • +
      + + + +
        +
      • +

        dexDataEntryWriter

        +
        protected final DataEntryWriter dexDataEntryWriter
        +
      • +
      + + + +
        +
      • +

        otherDataEntryWriter

        +
        protected final DataEntryWriter otherDataEntryWriter
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexDataEntryWriter

        +
        public DexDataEntryWriter​(ClassPool classPool,
        +                          StringMatcher classNameFilter,
        +                          java.lang.String dexFileName,
        +                          boolean forceDex,
        +                          DataEntryReader extraDexDataEntryVisitor,
        +                          DataEntryWriter dexDataEntryWriter,
        +                          DataEntryWriter otherDataEntryWriter)
        +
        Creates a new DexDataEntryWriter.
        +
        +
        Parameters:
        +
        classPool - the class pool from which classes are collected.
        +
        classNameFilter - an optional filter for classes to be written.
        +
        dexFileName - the dex file name.
        +
        forceDex - specifies whether the dex files should always be written, even if they don't + contain any code.
        +
        dexDataEntryWriter - the writer to which the converted dex file is written.
        +
        otherDataEntryWriter - the writer to which other data entries are written.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      + + + +
        +
      • +

        writeDex

        +
        protected abstract void writeDex​(java.io.OutputStream outputStream)
        +                          throws java.io.IOException
        +
        Creates a new Dex instance from the collected classes.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DexDataEntryWriterFactory.html b/api/proguard/io/DexDataEntryWriterFactory.html new file mode 100644 index 000000000..b5d139cc6 --- /dev/null +++ b/api/proguard/io/DexDataEntryWriterFactory.html @@ -0,0 +1,341 @@ + + + + + +DexDataEntryWriterFactory (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DexDataEntryWriterFactory

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DexDataEntryWriterFactory
    • +
    +
  • +
+
+
    +
  • +
    +
    public class DexDataEntryWriterFactory
    +extends java.lang.Object
    +
    This class can create DataEntryWriter instances for writing dex files.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DexDataEntryWriterFactory​(ClassPool programClassPool, + ClassPath libraryJars, + boolean appBundle, + int multiDexCount, + int minSdkVersion, + boolean debuggable, + DataEntryReader extraDexDataEntryVisitor) +
      Creates a new DexDataEntryWriterFactory.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      DataEntryWriterwrapInDexWriter​(DataEntryWriter dexWriter) +
      Wraps the given data entry writer in dex data entry writers for "classes.dex", etc, supporting + feature dex files, multidex, and split dex files.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexDataEntryWriterFactory

        +
        public DexDataEntryWriterFactory​(ClassPool programClassPool,
        +                                 ClassPath libraryJars,
        +                                 boolean appBundle,
        +                                 int multiDexCount,
        +                                 int minSdkVersion,
        +                                 boolean debuggable,
        +                                 DataEntryReader extraDexDataEntryVisitor)
        +
        Creates a new DexDataEntryWriterFactory.
        +
        +
        Parameters:
        +
        programClassPool - the program class pool to process.
        +
        libraryJars - ClassPathEntry list of library jars
        +
        appBundle - specifies whether the dex files should be named following the app bundle + directory structure.
        +
        multiDexCount - specifies the number of dex files in the multidex partitioning.
        +
        minSdkVersion - the minimum supported API level.
        +
        debuggable - whether the dex file shall be debuggable or not.
        +
        extraDexDataEntryVisitor - an optional extra visitor for all dex data entries that are + written. The visitor can use the data entry names, but must not read their contents.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        wrapInDexWriter

        +
        public DataEntryWriter wrapInDexWriter​(DataEntryWriter dexWriter)
        +
        Wraps the given data entry writer in dex data entry writers for "classes.dex", etc, supporting + feature dex files, multidex, and split dex files.
        +
        +
        Parameters:
        +
        dexWriter - the data entry writer to which dex files can be written.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DirectoryFilter.html b/api/proguard/io/DirectoryFilter.html new file mode 100644 index 000000000..509f7d121 --- /dev/null +++ b/api/proguard/io/DirectoryFilter.html @@ -0,0 +1,305 @@ + + + + + +DirectoryFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DirectoryFilter

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DirectoryFilter​(DataEntryReader directoryReader) +
      Creates a new ClassFilter that delegates reading directories to the given reader.
      +
      DirectoryFilter​(DataEntryReader directoryReader, + DataEntryReader otherReader) +
      Creates a new ClassFilter that delegates to either of the two given readers.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DirectoryFilter

        +
        public DirectoryFilter​(DataEntryReader directoryReader)
        +
        Creates a new ClassFilter that delegates reading directories to the given reader.
        +
      • +
      + + + +
        +
      • +

        DirectoryFilter

        +
        public DirectoryFilter​(DataEntryReader directoryReader,
        +                       DataEntryReader otherReader)
        +
        Creates a new ClassFilter that delegates to either of the two given readers.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/io/DirectorySource.html b/api/proguard/io/DirectorySource.html new file mode 100644 index 000000000..8df63b1d8 --- /dev/null +++ b/api/proguard/io/DirectorySource.html @@ -0,0 +1,324 @@ + + + + + +DirectorySource (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DirectorySource

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DirectorySource
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntrySource
    +
    +
    +
    public class DirectorySource
    +extends java.lang.Object
    +implements DataEntrySource
    +
    This DataEntrySource can read a given file or directory, recursively, passing its files as DataEntry instances to DataEntryReader instances.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DirectorySource​(java.io.File directory) +
      Creates a new DirectorySource for the given directory.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidpumpDataEntries​(DataEntryReader dataEntryReader) +
      Applies the given DataEntryReader to all data entries that the implementation can provide.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DirectorySource

        +
        public DirectorySource​(java.io.File directory)
        +
        Creates a new DirectorySource for the given directory.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        pumpDataEntries

        +
        public void pumpDataEntries​(DataEntryReader dataEntryReader)
        +                     throws java.io.IOException
        +
        Description copied from interface: DataEntrySource
        +
        Applies the given DataEntryReader to all data entries that the implementation can provide.
        +
        +
        Specified by:
        +
        pumpDataEntries in interface DataEntrySource
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DirectoryWriter.html b/api/proguard/io/DirectoryWriter.html new file mode 100644 index 000000000..8b6e628f0 --- /dev/null +++ b/api/proguard/io/DirectoryWriter.html @@ -0,0 +1,455 @@ + + + + + +DirectoryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DirectoryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DirectoryWriter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.AutoCloseable, DataEntryWriter
    +
    +
    +
    public class DirectoryWriter
    +extends java.lang.Object
    +implements DataEntryWriter
    +
    This DataEntryWriter writes data entries to individual files in a given directory.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DirectoryWriter​(java.io.File baseDirectory) +
      Creates a new DirectoryWriter.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DirectoryWriter

        +
        public DirectoryWriter​(java.io.File baseDirectory)
        +
        Creates a new DirectoryWriter.
        +
        +
        Parameters:
        +
        baseDirectory - the base directory to which all files will be written.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/DummyDataEntry.html b/api/proguard/io/DummyDataEntry.html new file mode 100644 index 000000000..1730219dd --- /dev/null +++ b/api/proguard/io/DummyDataEntry.html @@ -0,0 +1,488 @@ + + + + + +DummyDataEntry (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class DummyDataEntry

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DummyDataEntry
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntry
    +
    +
    +
    public class DummyDataEntry
    +extends java.lang.Object
    +implements DataEntry
    +
    This DataEntry represents a named output entry that doesn't return an input stream. It is + mostly useful for testing data entry writers, explicitly creating and using output streams.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      DummyDataEntry​(DataEntry parent, + java.lang.String name, + long size, + boolean isDirectory) +
      Creates a new NamedDataEntry with the given name, parent, and size.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidcloseInputStream() +
      Closes the previously retrieved InputStream.
      +
      java.io.InputStreamgetInputStream() +
      Returns an input stream for reading the content of this data entry.
      +
      java.lang.StringgetName() +
      Returns the name of this data entry.
      +
      java.lang.StringgetOriginalName() +
      Returns the original name of this data entry, i.e.
      +
      DataEntrygetParent() +
      Returns the parent of this data entry, or null if it doesn't + have one.
      +
      longgetSize() +
      Returns the size of this data entry, in bytes, or -1 if unknown.
      +
      booleanisDirectory() +
      Returns whether the data entry represents a directory.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DummyDataEntry

        +
        public DummyDataEntry​(DataEntry parent,
        +                      java.lang.String name,
        +                      long size,
        +                      boolean isDirectory)
        +
        Creates a new NamedDataEntry with the given name, parent, and size.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Description copied from interface: DataEntry
        +
        Returns the name of this data entry.
        +
        +
        Specified by:
        +
        getName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getOriginalName

        +
        public java.lang.String getOriginalName()
        +
        Description copied from interface: DataEntry
        +
        Returns the original name of this data entry, i.e. the name of the data entry before any + renaming or obfuscation.
        +
        +
        Specified by:
        +
        getOriginalName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getSize

        +
        public long getSize()
        +
        Description copied from interface: DataEntry
        +
        Returns the size of this data entry, in bytes, or -1 if unknown.
        +
        +
        Specified by:
        +
        getSize in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        isDirectory

        +
        public boolean isDirectory()
        +
        Description copied from interface: DataEntry
        +
        Returns whether the data entry represents a directory.
        +
        +
        Specified by:
        +
        isDirectory in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getInputStream

        +
        public java.io.InputStream getInputStream()
        +                                   throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Returns an input stream for reading the content of this data entry. The data entry may not + represent a directory.
        +
        +
        Specified by:
        +
        getInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        closeInputStream

        +
        public void closeInputStream()
        +                      throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Closes the previously retrieved InputStream.
        +
        +
        Specified by:
        +
        closeInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        getParent

        +
        public DataEntry getParent()
        +
        Description copied from interface: DataEntry
        +
        Returns the parent of this data entry, or null if it doesn't + have one.
        +
        +
        Specified by:
        +
        getParent in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/FileDataEntry.html b/api/proguard/io/FileDataEntry.html new file mode 100644 index 000000000..0bbfefac7 --- /dev/null +++ b/api/proguard/io/FileDataEntry.html @@ -0,0 +1,525 @@ + + + + + +FileDataEntry (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class FileDataEntry

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.FileDataEntry
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntry
    +
    +
    +
    public class FileDataEntry
    +extends java.lang.Object
    +implements DataEntry
    +
    This DataEntry represents a file.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      FileDataEntry​(java.io.File file) +
      Creates a new FileDataEntry.
      +
      FileDataEntry​(java.io.File directory, + java.io.File file) +
      Creates a new FileDataEntry.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidcloseInputStream() +
      Closes the previously retrieved InputStream.
      +
      java.io.FilegetFile() +
      Returns the complete file, including its directory.
      +
      java.io.InputStreamgetInputStream() +
      Returns an input stream for reading the content of this data entry.
      +
      java.lang.StringgetName() +
      Returns the name of this data entry.
      +
      java.lang.StringgetOriginalName() +
      Returns the original name of this data entry, i.e.
      +
      DataEntrygetParent() +
      Returns the parent of this data entry, or null if it doesn't + have one.
      +
      longgetSize() +
      Returns the size of this data entry, in bytes, or -1 if unknown.
      +
      booleanisDirectory() +
      Returns whether the data entry represents a directory.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FileDataEntry

        +
        public FileDataEntry​(java.io.File file)
        +
        Creates a new FileDataEntry.
        +
        +
        Parameters:
        +
        file - the the absolute or relative location of the file.
        +
        +
      • +
      + + + +
        +
      • +

        FileDataEntry

        +
        public FileDataEntry​(java.io.File directory,
        +                     java.io.File file)
        +
        Creates a new FileDataEntry.
        +
        +
        Parameters:
        +
        directory - the base directory for the file.
        +
        file - the the absolute or relative location of the file.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getFile

        +
        public java.io.File getFile()
        +
        Returns the complete file, including its directory.
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Description copied from interface: DataEntry
        +
        Returns the name of this data entry.
        +
        +
        Specified by:
        +
        getName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getOriginalName

        +
        public java.lang.String getOriginalName()
        +
        Description copied from interface: DataEntry
        +
        Returns the original name of this data entry, i.e. the name of the data entry before any + renaming or obfuscation.
        +
        +
        Specified by:
        +
        getOriginalName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getSize

        +
        public long getSize()
        +
        Description copied from interface: DataEntry
        +
        Returns the size of this data entry, in bytes, or -1 if unknown.
        +
        +
        Specified by:
        +
        getSize in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        isDirectory

        +
        public boolean isDirectory()
        +
        Description copied from interface: DataEntry
        +
        Returns whether the data entry represents a directory.
        +
        +
        Specified by:
        +
        isDirectory in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getInputStream

        +
        public java.io.InputStream getInputStream()
        +                                   throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Returns an input stream for reading the content of this data entry. The data entry may not + represent a directory.
        +
        +
        Specified by:
        +
        getInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        closeInputStream

        +
        public void closeInputStream()
        +                      throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Closes the previously retrieved InputStream.
        +
        +
        Specified by:
        +
        closeInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        getParent

        +
        public DataEntry getParent()
        +
        Description copied from interface: DataEntry
        +
        Returns the parent of this data entry, or null if it doesn't + have one.
        +
        +
        Specified by:
        +
        getParent in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/FileSource.html b/api/proguard/io/FileSource.html new file mode 100644 index 000000000..adbb24687 --- /dev/null +++ b/api/proguard/io/FileSource.html @@ -0,0 +1,371 @@ + + + + + +FileSource (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class FileSource

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.FileSource
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntrySource
    +
    +
    +
    public class FileSource
    +extends java.lang.Object
    +implements DataEntrySource
    +
    This DataEntrySource wraps a single given file or DataEntry.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      FileSource​(java.io.File file) +
      Creates a new FileSource.
      +
      FileSource​(java.io.File directory, + java.io.File file) +
      Creates a new FileSource.
      +
      FileSource​(FileDataEntry fileDataEntry) +
      Creates a new FileSource.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidpumpDataEntries​(DataEntryReader dataEntryReader) +
      Applies the given DataEntryReader to all data entries that the implementation can provide.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FileSource

        +
        public FileSource​(java.io.File file)
        +
        Creates a new FileSource.
        +
        +
        Parameters:
        +
        file - the the absolute or relative location of the file.
        +
        +
      • +
      + + + +
        +
      • +

        FileSource

        +
        public FileSource​(java.io.File directory,
        +                  java.io.File file)
        +
        Creates a new FileSource.
        +
        +
        Parameters:
        +
        directory - the base directory for the file.
        +
        file - the the absolute or relative location of the file.
        +
        +
      • +
      + + + +
        +
      • +

        FileSource

        +
        public FileSource​(FileDataEntry fileDataEntry)
        +
        Creates a new FileSource.
        +
        +
        Parameters:
        +
        fileDataEntry - the file data entry.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        pumpDataEntries

        +
        public void pumpDataEntries​(DataEntryReader dataEntryReader)
        +                     throws java.io.IOException
        +
        Description copied from interface: DataEntrySource
        +
        Applies the given DataEntryReader to all data entries that the implementation can provide.
        +
        +
        Specified by:
        +
        pumpDataEntries in interface DataEntrySource
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/FilteredDataEntryReader.html b/api/proguard/io/FilteredDataEntryReader.html new file mode 100644 index 000000000..3308efdd8 --- /dev/null +++ b/api/proguard/io/FilteredDataEntryReader.html @@ -0,0 +1,365 @@ + + + + + +FilteredDataEntryReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class FilteredDataEntryReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.FilteredDataEntryReader
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FilteredDataEntryReader

        +
        public FilteredDataEntryReader​(DataEntryFilter dataEntryFilter,
        +                               DataEntryReader acceptedDataEntryReader)
        +
        Creates a new FilteredDataEntryReader with only a reader for accepted data entries.
        +
        +
        Parameters:
        +
        dataEntryFilter - the data entry filter.
        +
        acceptedDataEntryReader - the DataEntryReader to which the reading will be delegated if + the filter accepts the data entry. May be null.
        +
        +
      • +
      + + + +
        +
      • +

        FilteredDataEntryReader

        +
        public FilteredDataEntryReader​(DataEntryFilter dataEntryFilter,
        +                               DataEntryReader acceptedDataEntryReader,
        +                               DataEntryReader rejectedDataEntryReader)
        +
        Creates a new FilteredDataEntryReader.
        +
        +
        Parameters:
        +
        dataEntryFilter - the data entry filter.
        +
        acceptedDataEntryReader - the DataEntryReader to which the reading will be delegated if + the filter accepts the data entry. May be null.
        +
        rejectedDataEntryReader - the DataEntryReader to which the reading will be delegated if + the filter does not accept the data entry. May be null.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        public void read​(DataEntry dataEntry)
        +          throws java.io.IOException
        +
        Description copied from interface: DataEntryReader
        +
        Reads the given data entry.
        +
        +
        Specified by:
        +
        read in interface DataEntryReader
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/FilteredDataEntryWriter.html b/api/proguard/io/FilteredDataEntryWriter.html new file mode 100644 index 000000000..024849b22 --- /dev/null +++ b/api/proguard/io/FilteredDataEntryWriter.html @@ -0,0 +1,492 @@ + + + + + +FilteredDataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class FilteredDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.FilteredDataEntryWriter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FilteredDataEntryWriter

        +
        public FilteredDataEntryWriter​(DataEntryFilter dataEntryFilter,
        +                               DataEntryWriter acceptedDataEntryWriter)
        +
        Creates a new FilteredDataEntryWriter with only a writer for accepted data entries.
        +
        +
        Parameters:
        +
        dataEntryFilter - the data entry filter.
        +
        acceptedDataEntryWriter - the DataEntryWriter to which the writing will be delegated if + the filter accepts the data entry. May be null.
        +
        +
      • +
      + + + +
        +
      • +

        FilteredDataEntryWriter

        +
        public FilteredDataEntryWriter​(DataEntryFilter dataEntryFilter,
        +                               DataEntryWriter acceptedDataEntryWriter,
        +                               DataEntryWriter rejectedDataEntryWriter)
        +
        Creates a new FilteredDataEntryWriter.
        +
        +
        Parameters:
        +
        dataEntryFilter - the data entry filter.
        +
        acceptedDataEntryWriter - the DataEntryWriter to which the writing will be delegated if + the filter accepts the data entry. May be null.
        +
        rejectedDataEntryWriter - the DataEntryWriter to which the writing will be delegated if + the filter does not accept the data entry. May be null.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/Finisher.html b/api/proguard/io/Finisher.html new file mode 100644 index 000000000..2837d22ff --- /dev/null +++ b/api/proguard/io/Finisher.html @@ -0,0 +1,258 @@ + + + + + +Finisher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Interface Finisher

+
+
+
+
    +
  • +
    +
    public interface Finisher
    +
    This interface specifies a listener that is called to finish an output stream before it is + closed.
    +
  • +
+
+
+
    +
  • + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        finish

        +
        void finish()
        +     throws java.io.IOException
        +
        Finishes an output stream right before it is closed.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/io/FixedFileWriter.html b/api/proguard/io/FixedFileWriter.html new file mode 100644 index 000000000..ee84b6310 --- /dev/null +++ b/api/proguard/io/FixedFileWriter.html @@ -0,0 +1,459 @@ + + + + + +FixedFileWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class FixedFileWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.FixedFileWriter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      FixedFileWriter​(java.io.File file) +
      Creates a new FixedFileWriter.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FixedFileWriter

        +
        public FixedFileWriter​(java.io.File file)
        +
        Creates a new FixedFileWriter.
        +
        +
        Parameters:
        +
        file - the file to which all data entries will be written.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/IdleRewriter.html b/api/proguard/io/IdleRewriter.html new file mode 100644 index 000000000..ac54b725b --- /dev/null +++ b/api/proguard/io/IdleRewriter.html @@ -0,0 +1,323 @@ + + + + + +IdleRewriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class IdleRewriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.IdleRewriter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntryReader
    +
    +
    +
    public class IdleRewriter
    +extends java.lang.Object
    +implements DataEntryReader
    +
    This DataEntryReader reads data entries and requests their corresponding output streams + from a given DataEntryWriter, without actually using the output stream. This approach + correctly accounts for any filtering of the classes to output archives.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidread​(DataEntry dataEntry) +
      Reads the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        IdleRewriter

        +
        public IdleRewriter​(DataEntryWriter dataEntryWriter)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        public void read​(DataEntry dataEntry)
        +          throws java.io.IOException
        +
        Description copied from interface: DataEntryReader
        +
        Reads the given data entry.
        +
        +
        Specified by:
        +
        read in interface DataEntryReader
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/JarReader.html b/api/proguard/io/JarReader.html new file mode 100644 index 000000000..4fa7d8ea8 --- /dev/null +++ b/api/proguard/io/JarReader.html @@ -0,0 +1,352 @@ + + + + + +JarReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class JarReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.JarReader
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      JarReader​(boolean jmod, + DataEntryReader dataEntryReader) +
      Creates a new JarReader that optionally reads jmod files.
      +
      JarReader​(DataEntryReader dataEntryReader) +
      Creates a new JarReader.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidread​(DataEntry dataEntry) +
      Reads the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JarReader

        +
        public JarReader​(DataEntryReader dataEntryReader)
        +
        Creates a new JarReader.
        +
        +
        Parameters:
        +
        dataEntryReader - the reader that can process the jar entries.
        +
        +
      • +
      + + + +
        +
      • +

        JarReader

        +
        public JarReader​(boolean jmod,
        +                 DataEntryReader dataEntryReader)
        +
        Creates a new JarReader that optionally reads jmod files.
        +
        +
        Parameters:
        +
        jmod - specifies whether the input jar is actually a jmod file.
        +
        dataEntryReader - the reader that can process the jar entries.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        public void read​(DataEntry dataEntry)
        +          throws java.io.IOException
        +
        Description copied from interface: DataEntryReader
        +
        Reads the given data entry.
        +
        +
        Specified by:
        +
        read in interface DataEntryReader
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/JarWriter.MyMultiDigestOutputStream.html b/api/proguard/io/JarWriter.MyMultiDigestOutputStream.html new file mode 100644 index 000000000..b9093091e --- /dev/null +++ b/api/proguard/io/JarWriter.MyMultiDigestOutputStream.html @@ -0,0 +1,418 @@ + + + + + +JarWriter.MyMultiDigestOutputStream (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class JarWriter.MyMultiDigestOutputStream

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.io.OutputStream
    • +
    • +
        +
      • java.io.FilterOutputStream
      • +
      • +
          +
        • proguard.io.JarWriter.MyMultiDigestOutputStream
        • +
        +
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable
    +
    +
    +
    Enclosing class:
    +
    JarWriter
    +
    +
    +
    protected static class JarWriter.MyMultiDigestOutputStream
    +extends java.io.FilterOutputStream
    +
    This FilterOutputStream automatically appends a file digest entry to a given manifest writer, + when the stream is closed.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      +
        +
      • + + +

        Fields inherited from class java.io.FilterOutputStream

        +out
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      MyMultiDigestOutputStream​(java.lang.String entryName, + java.security.MessageDigest[] manifestDigests, + java.io.PrintWriter manifestWriter, + java.io.OutputStream outputStream) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() 
      voidwrite​(byte[] bytes, + int off, + int len) 
      voidwrite​(int b) 
      +
        +
      • + + +

        Methods inherited from class java.io.FilterOutputStream

        +flush, write
      • +
      +
        +
      • + + +

        Methods inherited from class java.io.OutputStream

        +nullOutputStream
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MyMultiDigestOutputStream

        +
        public MyMultiDigestOutputStream​(java.lang.String entryName,
        +                                 java.security.MessageDigest[] manifestDigests,
        +                                 java.io.PrintWriter manifestWriter,
        +                                 java.io.OutputStream outputStream)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        write

        +
        public void write​(int b)
        +           throws java.io.IOException
        +
        +
        Overrides:
        +
        write in class java.io.FilterOutputStream
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        write

        +
        public void write​(byte[] bytes,
        +                  int off,
        +                  int len)
        +           throws java.io.IOException
        +
        +
        Overrides:
        +
        write in class java.io.FilterOutputStream
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface java.io.Closeable
        +
        Overrides:
        +
        close in class java.io.FilterOutputStream
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/JarWriter.html b/api/proguard/io/JarWriter.html new file mode 100644 index 000000000..b2810d826 --- /dev/null +++ b/api/proguard/io/JarWriter.html @@ -0,0 +1,834 @@ + + + + + +JarWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class JarWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.JarWriter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.AutoCloseable, DataEntryWriter
    +
    +
    +
    Direct Known Subclasses:
    +
    SignedJarWriter
    +
    +
    +
    public class JarWriter
    +extends java.lang.Object
    +implements DataEntryWriter
    +
    This DataEntryWriter sends data entries to another given data entry writer, automatically + adding a manifest file. + +

    You'll typically wrap a ZipWriter or one of its extensions: + +

    +     new JarWriter(new ZipWriter(...))
    + 
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Nested Class Summary

      + + + + + + + + + + + + +
      Nested Classes 
      Modifier and TypeClassDescription
      protected static class JarWriter.MyMultiDigestOutputStream +
      This FilterOutputStream automatically appends a file digest entry to a given manifest writer, + when the stream is closed.
      +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      JarWriter​(java.lang.String[] digestAlgorithms, + java.lang.String creator, + java.lang.String manifestFileName, + StringFunction manifestEntryNameFunction, + DataEntryWriter zipEntryWriter, + DataEntryWriter manifestEntryWriter) +
      Creates a new JarWriter.
      +
      JarWriter​(java.lang.String[] digestAlgorithms, + java.lang.String creator, + DataEntryWriter zipEntryWriter) +
      Creates a new JarWriter wth default manifest file name "META-INF/MANIFEST.MF".
      +
      JarWriter​(java.lang.String[] digestAlgorithms, + DataEntryWriter zipEntryWriter) +
      Creates a new JarWriter wth default manifest file name "META-INF/MANIFEST.MF".
      +
      JarWriter​(DataEntryWriter zipEntryWriter) +
      Creates a new JarWriter wth default manifest digest "SHA-256" and manifest file name + "META-INF/MANIFEST.MF".
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      protected java.io.OutputStreamcreateManifestOutputStream​(DataEntry manifestEntry) +
      Creates an output stream for the specified manifest file.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      protected voidfinish() +
      Writes out the collected manifest file before closing the jar, if any.
      +
      protected voidfinishIfNecessary​(DataEntry dataEntry) +
      Writes out the collected manifest file for the current jar, if we're entering a new jar with + this data entry.
      +
      static voidmain​(java.lang.String[] args) +
      Provides a simple test for this class, creating a signed apk file (only v1) with the given name + and a few aligned/compressed/uncompressed zip entries.
      +
      protected voidopenManifestFiles() +
      Prepares streams and writers for capturing digests of a parent entry.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      protected java.io.PrintWriterprintWriter​(java.io.OutputStream outputStream) +
      Creates a convenience writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        DEFAULT_DIGEST_ALGORITHM

        +
        public static final java.lang.String DEFAULT_DIGEST_ALGORITHM
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        digestAlgorithms

        +
        protected final java.lang.String[] digestAlgorithms
        +
      • +
      + + + +
        +
      • +

        creator

        +
        protected final java.lang.String creator
        +
      • +
      + + + + + + + +
        +
      • +

        manifestEntryWriter

        +
        protected final DataEntryWriter manifestEntryWriter
        +
      • +
      + + + +
        +
      • +

        currentManifestEntry

        +
        protected DataEntry currentManifestEntry
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JarWriter

        +
        public JarWriter​(DataEntryWriter zipEntryWriter)
        +
        Creates a new JarWriter wth default manifest digest "SHA-256" and manifest file name + "META-INF/MANIFEST.MF".
        +
        +
        Parameters:
        +
        zipEntryWriter - the data entry writer that can provide output streams for the jar + entries.
        +
        +
      • +
      + + + +
        +
      • +

        JarWriter

        +
        public JarWriter​(java.lang.String[] digestAlgorithms,
        +                 DataEntryWriter zipEntryWriter)
        +
        Creates a new JarWriter wth default manifest file name "META-INF/MANIFEST.MF".
        +
        +
        Parameters:
        +
        digestAlgorithms - the manifest digest algorithms, e.g. "SHA-256".
        +
        zipEntryWriter - the data entry writer that can provide output streams for the jar + entries.
        +
        +
      • +
      + + + +
        +
      • +

        JarWriter

        +
        public JarWriter​(java.lang.String[] digestAlgorithms,
        +                 java.lang.String creator,
        +                 DataEntryWriter zipEntryWriter)
        +
        Creates a new JarWriter wth default manifest file name "META-INF/MANIFEST.MF".
        +
        +
        Parameters:
        +
        digestAlgorithms - the manifest digest algorithms, e.g. "SHA-256".
        +
        creator - the creator to mention in the manifest file.
        +
        zipEntryWriter - the data entry writer that can provide output streams for the jar + entries.
        +
        +
      • +
      + + + +
        +
      • +

        JarWriter

        +
        public JarWriter​(java.lang.String[] digestAlgorithms,
        +                 java.lang.String creator,
        +                 java.lang.String manifestFileName,
        +                 StringFunction manifestEntryNameFunction,
        +                 DataEntryWriter zipEntryWriter,
        +                 DataEntryWriter manifestEntryWriter)
        +
        Creates a new JarWriter.
        +
        +
        Parameters:
        +
        digestAlgorithms - the manifest digest algorithms, e.g. "SHA-256".
        +
        creator - the creator to mention in the manifest file.
        +
        manifestFileName - the manifest file name, e.g. "META-INF/MANIFEST.MF".
        +
        manifestEntryNameFunction - the function to transform entry names in the manifest (not in + the jar).
        +
        zipEntryWriter - the data entry writer that can provide output streams for the jar + entries.
        +
        manifestEntryWriter - the data entry writer that can provide an output stream for the + manifest file.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      + + + +
        +
      • +

        openManifestFiles

        +
        protected void openManifestFiles()
        +                          throws java.io.IOException
        +
        Prepares streams and writers for capturing digests of a parent entry.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createManifestOutputStream

        +
        protected java.io.OutputStream createManifestOutputStream​(DataEntry manifestEntry)
        +                                                   throws java.io.IOException
        +
        Creates an output stream for the specified manifest file.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        finishIfNecessary

        +
        protected void finishIfNecessary​(DataEntry dataEntry)
        +                          throws java.io.IOException
        +
        Writes out the collected manifest file for the current jar, if we're entering a new jar with + this data entry.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        finish

        +
        protected void finish()
        +               throws java.io.IOException
        +
        Writes out the collected manifest file before closing the jar, if any.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        printWriter

        +
        protected java.io.PrintWriter printWriter​(java.io.OutputStream outputStream)
        +                                   throws java.io.IOException
        +
        Creates a convenience writer.
        +
        +
        Parameters:
        +
        outputStream - the underlying output stream.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        Provides a simple test for this class, creating a signed apk file (only v1) with the given name + and a few aligned/compressed/uncompressed zip entries. Arguments: jar_filename Verify the jar + with: jarsigner -verify -verbose /tmp/test.jar
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ManifestRewriter.html b/api/proguard/io/ManifestRewriter.html new file mode 100644 index 000000000..1620477e2 --- /dev/null +++ b/api/proguard/io/ManifestRewriter.html @@ -0,0 +1,353 @@ + + + + + +ManifestRewriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ManifestRewriter

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ManifestRewriter​(ClassPool classPool, + java.nio.charset.Charset charset, + DataEntryWriter dataEntryWriter) +
      Creates a new ManifestRewriter.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected voidcopyData​(java.io.Reader reader, + java.io.Writer writer) +
      Copies all data that it can read from the given reader to the given writer.
      +
      + + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ManifestRewriter

        +
        public ManifestRewriter​(ClassPool classPool,
        +                        java.nio.charset.Charset charset,
        +                        DataEntryWriter dataEntryWriter)
        +
        Creates a new ManifestRewriter.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        copyData

        +
        protected void copyData​(java.io.Reader reader,
        +                        java.io.Writer writer)
        +                 throws java.io.IOException
        +
        Description copied from class: DataEntryRewriter
        +
        Copies all data that it can read from the given reader to the given writer.
        +
        +
        Overrides:
        +
        copyData in class DataEntryRewriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/MultiDataEntryReader.html b/api/proguard/io/MultiDataEntryReader.html new file mode 100644 index 000000000..97a0c6306 --- /dev/null +++ b/api/proguard/io/MultiDataEntryReader.html @@ -0,0 +1,320 @@ + + + + + +MultiDataEntryReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class MultiDataEntryReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.MultiDataEntryReader
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidread​(DataEntry dataEntry) +
      Reads the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MultiDataEntryReader

        +
        public MultiDataEntryReader​(DataEntryReader... readers)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        public void read​(DataEntry dataEntry)
        +          throws java.io.IOException
        +
        Description copied from interface: DataEntryReader
        +
        Reads the given data entry.
        +
        +
        Specified by:
        +
        read in interface DataEntryReader
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/NameFilteredDataEntryReader.html b/api/proguard/io/NameFilteredDataEntryReader.html new file mode 100644 index 000000000..791bc6b8d --- /dev/null +++ b/api/proguard/io/NameFilteredDataEntryReader.html @@ -0,0 +1,397 @@ + + + + + +NameFilteredDataEntryReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class NameFilteredDataEntryReader

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      NameFilteredDataEntryReader​(java.lang.String regularExpression, + DataEntryReader acceptedDataEntryReader) +
      Creates a new NameFilteredDataEntryReader that delegates to the given reader, depending on the + given list of filters.
      +
      NameFilteredDataEntryReader​(java.lang.String regularExpression, + DataEntryReader acceptedDataEntryReader, + DataEntryReader rejectedDataEntryReader) +
      Creates a new NameFilteredDataEntryReader that delegates to either of the two given readers, + depending on the given list of filters.
      +
      NameFilteredDataEntryReader​(java.util.List regularExpressions, + DataEntryReader acceptedDataEntryReader) +
      Creates a new NameFilteredDataEntryReader that delegates to the given reader, depending on the + given list of filters.
      +
      NameFilteredDataEntryReader​(java.util.List regularExpressions, + DataEntryReader acceptedDataEntryReader, + DataEntryReader rejectedDataEntryReader) +
      Creates a new NameFilteredDataEntryReader that delegates to either of the two given readers, + depending on the given list of filters.
      +
      NameFilteredDataEntryReader​(StringMatcher stringMatcher, + DataEntryReader acceptedDataEntryReader) +
      Creates a new NameFilteredDataEntryReader that delegates to the given reader, depending on the + given string matcher.
      +
      NameFilteredDataEntryReader​(StringMatcher stringMatcher, + DataEntryReader acceptedDataEntryReader, + DataEntryReader rejectedDataEntryReader) +
      Creates a new NameFilteredDataEntryReader that delegates to either of the two given readers, + depending on the given string matcher.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NameFilteredDataEntryReader

        +
        public NameFilteredDataEntryReader​(java.lang.String regularExpression,
        +                                   DataEntryReader acceptedDataEntryReader)
        +
        Creates a new NameFilteredDataEntryReader that delegates to the given reader, depending on the + given list of filters.
        +
      • +
      + + + +
        +
      • +

        NameFilteredDataEntryReader

        +
        public NameFilteredDataEntryReader​(java.lang.String regularExpression,
        +                                   DataEntryReader acceptedDataEntryReader,
        +                                   DataEntryReader rejectedDataEntryReader)
        +
        Creates a new NameFilteredDataEntryReader that delegates to either of the two given readers, + depending on the given list of filters.
        +
      • +
      + + + +
        +
      • +

        NameFilteredDataEntryReader

        +
        public NameFilteredDataEntryReader​(java.util.List regularExpressions,
        +                                   DataEntryReader acceptedDataEntryReader)
        +
        Creates a new NameFilteredDataEntryReader that delegates to the given reader, depending on the + given list of filters.
        +
      • +
      + + + +
        +
      • +

        NameFilteredDataEntryReader

        +
        public NameFilteredDataEntryReader​(java.util.List regularExpressions,
        +                                   DataEntryReader acceptedDataEntryReader,
        +                                   DataEntryReader rejectedDataEntryReader)
        +
        Creates a new NameFilteredDataEntryReader that delegates to either of the two given readers, + depending on the given list of filters.
        +
      • +
      + + + +
        +
      • +

        NameFilteredDataEntryReader

        +
        public NameFilteredDataEntryReader​(StringMatcher stringMatcher,
        +                                   DataEntryReader acceptedDataEntryReader)
        +
        Creates a new NameFilteredDataEntryReader that delegates to the given reader, depending on the + given string matcher.
        +
      • +
      + + + +
        +
      • +

        NameFilteredDataEntryReader

        +
        public NameFilteredDataEntryReader​(StringMatcher stringMatcher,
        +                                   DataEntryReader acceptedDataEntryReader,
        +                                   DataEntryReader rejectedDataEntryReader)
        +
        Creates a new NameFilteredDataEntryReader that delegates to either of the two given readers, + depending on the given string matcher.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/io/NameFilteredDataEntryWriter.html b/api/proguard/io/NameFilteredDataEntryWriter.html new file mode 100644 index 000000000..3c4f10445 --- /dev/null +++ b/api/proguard/io/NameFilteredDataEntryWriter.html @@ -0,0 +1,397 @@ + + + + + +NameFilteredDataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class NameFilteredDataEntryWriter

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NameFilteredDataEntryWriter

        +
        public NameFilteredDataEntryWriter​(java.lang.String regularExpression,
        +                                   DataEntryWriter acceptedDataEntryWriter)
        +
        Creates a new NameFilteredDataEntryWriter that delegates to the given writer, depending on the + given list of filters.
        +
      • +
      + + + +
        +
      • +

        NameFilteredDataEntryWriter

        +
        public NameFilteredDataEntryWriter​(java.lang.String regularExpression,
        +                                   DataEntryWriter acceptedDataEntryWriter,
        +                                   DataEntryWriter rejectedDataEntryWriter)
        +
        Creates a new NameFilteredDataEntryWriter that delegates to either of the two given writers, + depending on the given list of filters.
        +
      • +
      + + + +
        +
      • +

        NameFilteredDataEntryWriter

        +
        public NameFilteredDataEntryWriter​(java.util.List regularExpressions,
        +                                   DataEntryWriter acceptedDataEntryWriter)
        +
        Creates a new NameFilteredDataEntryWriter that delegates to the given writer, depending on the + given list of filters.
        +
      • +
      + + + +
        +
      • +

        NameFilteredDataEntryWriter

        +
        public NameFilteredDataEntryWriter​(java.util.List regularExpressions,
        +                                   DataEntryWriter acceptedDataEntryWriter,
        +                                   DataEntryWriter rejectedDataEntryWriter)
        +
        Creates a new NameFilteredDataEntryWriter that delegates to either of the two given writers, + depending on the given list of filters.
        +
      • +
      + + + +
        +
      • +

        NameFilteredDataEntryWriter

        +
        public NameFilteredDataEntryWriter​(StringMatcher stringMatcher,
        +                                   DataEntryWriter acceptedDataEntryWriter)
        +
        Creates a new NameFilteredDataEntryWriter that delegates to the given writer, depending on the + given string matcher.
        +
      • +
      + + + +
        +
      • +

        NameFilteredDataEntryWriter

        +
        public NameFilteredDataEntryWriter​(StringMatcher stringMatcher,
        +                                   DataEntryWriter acceptedDataEntryWriter,
        +                                   DataEntryWriter rejectedDataEntryWriter)
        +
        Creates a new NameFilteredDataEntryWriter that delegates to either of the two given writers, + depending on the given string matcher.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/io/NamedDataEntry.html b/api/proguard/io/NamedDataEntry.html new file mode 100644 index 000000000..0162bff8f --- /dev/null +++ b/api/proguard/io/NamedDataEntry.html @@ -0,0 +1,484 @@ + + + + + +NamedDataEntry (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class NamedDataEntry

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.NamedDataEntry
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntry
    +
    +
    +
    public class NamedDataEntry
    +extends java.lang.Object
    +implements DataEntry
    +
    This DataEntry represents a named output entry with a parent.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      NamedDataEntry​(DataEntry parent, + java.lang.String name, + long size, + boolean isDirectory) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidcloseInputStream() +
      Closes the previously retrieved InputStream.
      +
      java.io.InputStreamgetInputStream() +
      Returns an input stream for reading the content of this data entry.
      +
      java.lang.StringgetName() +
      Returns the name of this data entry.
      +
      java.lang.StringgetOriginalName() +
      Returns the original name of this data entry, i.e.
      +
      DataEntrygetParent() +
      Returns the parent of this data entry, or null if it doesn't + have one.
      +
      longgetSize() +
      Returns the size of this data entry, in bytes, or -1 if unknown.
      +
      booleanisDirectory() +
      Returns whether the data entry represents a directory.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NamedDataEntry

        +
        public NamedDataEntry​(DataEntry parent,
        +                      java.lang.String name,
        +                      long size,
        +                      boolean isDirectory)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Description copied from interface: DataEntry
        +
        Returns the name of this data entry.
        +
        +
        Specified by:
        +
        getName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getOriginalName

        +
        public java.lang.String getOriginalName()
        +
        Description copied from interface: DataEntry
        +
        Returns the original name of this data entry, i.e. the name of the data entry before any + renaming or obfuscation.
        +
        +
        Specified by:
        +
        getOriginalName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getSize

        +
        public long getSize()
        +
        Description copied from interface: DataEntry
        +
        Returns the size of this data entry, in bytes, or -1 if unknown.
        +
        +
        Specified by:
        +
        getSize in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        isDirectory

        +
        public boolean isDirectory()
        +
        Description copied from interface: DataEntry
        +
        Returns whether the data entry represents a directory.
        +
        +
        Specified by:
        +
        isDirectory in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getInputStream

        +
        public java.io.InputStream getInputStream()
        +                                   throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Returns an input stream for reading the content of this data entry. The data entry may not + represent a directory.
        +
        +
        Specified by:
        +
        getInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        closeInputStream

        +
        public void closeInputStream()
        +                      throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Closes the previously retrieved InputStream.
        +
        +
        Specified by:
        +
        closeInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        getParent

        +
        public DataEntry getParent()
        +
        Description copied from interface: DataEntry
        +
        Returns the parent of this data entry, or null if it doesn't + have one.
        +
        +
        Specified by:
        +
        getParent in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/NonClosingDataEntryWriter.html b/api/proguard/io/NonClosingDataEntryWriter.html new file mode 100644 index 000000000..8b16b2358 --- /dev/null +++ b/api/proguard/io/NonClosingDataEntryWriter.html @@ -0,0 +1,475 @@ + + + + + +NonClosingDataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class NonClosingDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.NonClosingDataEntryWriter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.AutoCloseable, DataEntryWriter
    +
    +
    +
    public class NonClosingDataEntryWriter
    +extends java.lang.Object
    +implements DataEntryWriter
    +
    This DataEntryWriter delegates to another DataEntryWriter, except for any close() calls. + +

    For example: + +

    +     DataEntryWriter writer = ...
    +
    +     NonClosingDataEntryWriter nonClosingDataEntryWriter =
    +         new NonClosingDataEntryWriter(writer);
    +
    +     DataEntryWriter writer1 = new NonClosingDataEntryWriter(writer);
    +     DataEntryWriter writer2 = writer;
    +
    +     ...
    +
    +     writer1.close();
    +
    +     ...
    +
    +     writer2.close();
    + 
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      NonClosingDataEntryWriter​(DataEntryWriter dataEntryWriter) +
      Creates a new NonClosingDataEntryWriter that won't close its delegate.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NonClosingDataEntryWriter

        +
        public NonClosingDataEntryWriter​(DataEntryWriter dataEntryWriter)
        +
        Creates a new NonClosingDataEntryWriter that won't close its delegate.
        +
        +
        Parameters:
        +
        dataEntryWriter - the DataEntryWriter to which the writing will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ParallelDexClassReader.html b/api/proguard/io/ParallelDexClassReader.html new file mode 100644 index 000000000..372ca05b3 --- /dev/null +++ b/api/proguard/io/ParallelDexClassReader.html @@ -0,0 +1,401 @@ + + + + + +ParallelDexClassReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ParallelDexClassReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.ParallelDexClassReader
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntryReader
    +
    +
    +
    public class ParallelDexClassReader
    +extends java.lang.Object
    +implements DataEntryReader
    +
    This data entry reader reads dex files, converts their classes, and passes them to a given class + visitor. It is essential to call shutdown() after pumping to this DataEntryReader, as + there might be active workers left that need an orderly shutdown.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      Dex2Prodex2pro 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ParallelDexClassReader​(boolean readCode, + boolean usePrimitiveArrayConstants, + ClassVisitor classVisitor, + int maximumThreads) +
      Creates a new DexClassReader.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidread​(DataEntry dataEntry) +
      Reads the given data entry.
      +
      voidshutdown​(int timeoutSeconds) +
      Shuts down and waits for up to timeoutSeconds for any outstanding workers to finish.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        dex2pro

        +
        public final Dex2Pro dex2pro
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ParallelDexClassReader

        +
        public ParallelDexClassReader​(boolean readCode,
        +                              boolean usePrimitiveArrayConstants,
        +                              ClassVisitor classVisitor,
        +                              int maximumThreads)
        +
        Creates a new DexClassReader. + +

        If PrimitiveArrayConstants are generated then they should be converted back to + standard Java arrays before converting to Java class files using PrimitiveArrayConstantReplacer.

        +
        +
        Parameters:
        +
        readCode - specifies whether to read the actual code or just skip it.
        +
        usePrimitiveArrayConstants - specifies whether PrimitiveArrayConstant can be + generated when applicable.
        +
        classVisitor - the class visitor to which decoded classes will be passed.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        public void read​(DataEntry dataEntry)
        +          throws java.io.IOException
        +
        Description copied from interface: DataEntryReader
        +
        Reads the given data entry.
        +
        +
        Specified by:
        +
        read in interface DataEntryReader
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        shutdown

        +
        public void shutdown​(int timeoutSeconds)
        +
        Shuts down and waits for up to timeoutSeconds for any outstanding workers to finish.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ParentDataEntryWriter.html b/api/proguard/io/ParentDataEntryWriter.html new file mode 100644 index 000000000..b1d2807b2 --- /dev/null +++ b/api/proguard/io/ParentDataEntryWriter.html @@ -0,0 +1,456 @@ + + + + + +ParentDataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ParentDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.ParentDataEntryWriter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ParentDataEntryWriter

        +
        public ParentDataEntryWriter​(DataEntryWriter dataEntryWriter)
        +
        Creates a new ParentDataEntryWriter.
        +
        +
        Parameters:
        +
        dataEntryWriter - the DataEntryWriter to which the writing will be delegated, passing the + data entries' parents.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/PrefixAddingDataEntryWriter.html b/api/proguard/io/PrefixAddingDataEntryWriter.html new file mode 100644 index 000000000..f0a14b197 --- /dev/null +++ b/api/proguard/io/PrefixAddingDataEntryWriter.html @@ -0,0 +1,454 @@ + + + + + +PrefixAddingDataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class PrefixAddingDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.PrefixAddingDataEntryWriter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PrefixAddingDataEntryWriter

        +
        public PrefixAddingDataEntryWriter​(java.lang.String prefix,
        +                                   DataEntryWriter dataEntryWriter)
        +
        Creates a new PrefixAddingDataEntryWriter.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/PrefixStrippingDataEntryReader.html b/api/proguard/io/PrefixStrippingDataEntryReader.html new file mode 100644 index 000000000..7493f22d9 --- /dev/null +++ b/api/proguard/io/PrefixStrippingDataEntryReader.html @@ -0,0 +1,327 @@ + + + + + +PrefixStrippingDataEntryReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class PrefixStrippingDataEntryReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.PrefixStrippingDataEntryReader
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidread​(DataEntry dataEntry) +
      Reads the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PrefixStrippingDataEntryReader

        +
        public PrefixStrippingDataEntryReader​(java.lang.String prefix,
        +                                      DataEntryReader dataEntryReader)
        +
        Creates a new PrefixStrippingDataEntryReader.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        public void read​(DataEntry dataEntry)
        +          throws java.io.IOException
        +
        Description copied from interface: DataEntryReader
        +
        Reads the given data entry.
        +
        +
        Specified by:
        +
        read in interface DataEntryReader
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/RenamedDataEntry.html b/api/proguard/io/RenamedDataEntry.html new file mode 100644 index 000000000..a23831c17 --- /dev/null +++ b/api/proguard/io/RenamedDataEntry.html @@ -0,0 +1,369 @@ + + + + + +RenamedDataEntry (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class RenamedDataEntry

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntry
    +
    +
    +
    public class RenamedDataEntry
    +extends WrappedDataEntry
    +
    This DataEntry wraps another data entry, returning a different name instead of the + wrapped data entry's name.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RenamedDataEntry

        +
        public RenamedDataEntry​(DataEntry dataEntry,
        +                        java.lang.String name)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/RenamedDataEntryReader.html b/api/proguard/io/RenamedDataEntryReader.html new file mode 100644 index 000000000..d4fdead01 --- /dev/null +++ b/api/proguard/io/RenamedDataEntryReader.html @@ -0,0 +1,360 @@ + + + + + +RenamedDataEntryReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class RenamedDataEntryReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.RenamedDataEntryReader
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntryReader
    +
    +
    +
    public class RenamedDataEntryReader
    +extends java.lang.Object
    +implements DataEntryReader
    +
    This DataEntryReader delegates to another DataEntryReader, renaming the data + entries based on the given string function. Entries whose name are transformed to null or an + empty string are passed to an optional alternative DataEntryReader.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RenamedDataEntryReader

        +
        public RenamedDataEntryReader​(StringFunction nameFunction,
        +                              DataEntryReader dataEntryReader)
        +
        Creates a new RenamedDataEntryReader.
        +
        +
        Parameters:
        +
        nameFunction - the function from old names to new names.
        +
        dataEntryReader - the DataEntryReader to which renamed data entries will be passed.
        +
        +
      • +
      + + + +
        +
      • +

        RenamedDataEntryReader

        +
        public RenamedDataEntryReader​(StringFunction nameFunction,
        +                              DataEntryReader dataEntryReader,
        +                              DataEntryReader missingDataEntryReader)
        +
        Creates a new RenamedDataEntryReader.
        +
        +
        Parameters:
        +
        nameFunction - the function from old names to new names.
        +
        dataEntryReader - the DataEntryReader to which renamed data entries will be passed.
        +
        missingDataEntryReader - the optional DataEntryReader to which data entries that can't be + renamed will be passed.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        public void read​(DataEntry dataEntry)
        +          throws java.io.IOException
        +
        Description copied from interface: DataEntryReader
        +
        Reads the given data entry.
        +
        +
        Specified by:
        +
        read in interface DataEntryReader
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/RenamedDataEntryWriter.html b/api/proguard/io/RenamedDataEntryWriter.html new file mode 100644 index 000000000..7e5f31f54 --- /dev/null +++ b/api/proguard/io/RenamedDataEntryWriter.html @@ -0,0 +1,459 @@ + + + + + +RenamedDataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class RenamedDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.RenamedDataEntryWriter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RenamedDataEntryWriter

        +
        public RenamedDataEntryWriter​(StringFunction nameFunction,
        +                              DataEntryWriter dataEntryWriter)
        +
        Creates a new RenamedDataEntryWriter.
        +
        +
        Parameters:
        +
        nameFunction - the function from old names to new names.
        +
        dataEntryWriter - the DataEntryWriter to which renamed data entries will be passed.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/RenamedParentDataEntryWriter.html b/api/proguard/io/RenamedParentDataEntryWriter.html new file mode 100644 index 000000000..8973962b6 --- /dev/null +++ b/api/proguard/io/RenamedParentDataEntryWriter.html @@ -0,0 +1,462 @@ + + + + + +RenamedParentDataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class RenamedParentDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.RenamedParentDataEntryWriter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RenamedParentDataEntryWriter

        +
        public RenamedParentDataEntryWriter​(StringMatcher matcher,
        +                                    java.lang.String newParentName,
        +                                    DataEntryWriter dataEntryWriter)
        +
        Creates a new RenamedParentDataEntryWriter.
        +
        +
        Parameters:
        +
        matcher - the string matcher to match parent entries.
        +
        newParentName - the new parent name to use.
        +
        dataEntryWriter - the DataEntryWriter to which the writing will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/RuntimeDataInput.html b/api/proguard/io/RuntimeDataInput.html new file mode 100644 index 000000000..4b2d1e017 --- /dev/null +++ b/api/proguard/io/RuntimeDataInput.html @@ -0,0 +1,506 @@ + + + + + +RuntimeDataInput (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class RuntimeDataInput

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.RuntimeDataInput
    • +
    +
  • +
+
+
    +
  • +
    +
    public class RuntimeDataInput
    +extends java.lang.Object
    +
    This class delegates its method calls to the corresponding DataInput methods, converting + its IOExceptions to RuntimeExceptions.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RuntimeDataInput

        +
        public RuntimeDataInput​(java.io.DataInput dataInput)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        readBoolean

        +
        public boolean readBoolean()
        +
      • +
      + + + +
        +
      • +

        readByte

        +
        public byte readByte()
        +
      • +
      + + + +
        +
      • +

        readChar

        +
        public char readChar()
        +
      • +
      + + + +
        +
      • +

        readDouble

        +
        public double readDouble()
        +
      • +
      + + + +
        +
      • +

        readFloat

        +
        public float readFloat()
        +
      • +
      + + + +
        +
      • +

        readFully

        +
        public void readFully​(byte[] b)
        +
      • +
      + + + +
        +
      • +

        readFully

        +
        public void readFully​(byte[] b,
        +                      int off,
        +                      int len)
        +
      • +
      + + + +
        +
      • +

        readInt

        +
        public int readInt()
        +
      • +
      + + + +
        +
      • +

        readLine

        +
        public java.lang.String readLine()
        +
      • +
      + + + +
        +
      • +

        readLong

        +
        public long readLong()
        +
      • +
      + + + +
        +
      • +

        readShort

        +
        public short readShort()
        +
      • +
      + + + +
        +
      • +

        readUnsignedByte

        +
        public int readUnsignedByte()
        +
      • +
      + + + +
        +
      • +

        readUnsignedShort

        +
        public int readUnsignedShort()
        +
      • +
      + + + +
        +
      • +

        readUTF

        +
        public java.lang.String readUTF()
        +
      • +
      + + + +
        +
      • +

        skipBytes

        +
        public int skipBytes​(int n)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/RuntimeDataOutput.html b/api/proguard/io/RuntimeDataOutput.html new file mode 100644 index 000000000..103b7b786 --- /dev/null +++ b/api/proguard/io/RuntimeDataOutput.html @@ -0,0 +1,541 @@ + + + + + +RuntimeDataOutput (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class RuntimeDataOutput

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.RuntimeDataOutput
    • +
    +
  • +
+
+
    +
  • +
    +
    public class RuntimeDataOutput
    +extends java.lang.Object
    +
    This class delegates its method calls to the corresponding DataOutput methods, converting + its IOExceptions to RuntimeExceptions. + +

    The class provides two convenience methods that additionally check whether the written values + are unsigned resp. signed short values before writing them.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      RuntimeDataOutput​(java.io.DataOutput dataOutput) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidwrite​(byte[] b) 
      voidwrite​(byte[] b, + int off, + int len) 
      voidwrite​(int b) 
      voidwriteBoolean​(boolean v) 
      voidwriteByte​(int v) 
      voidwriteBytes​(java.lang.String s) 
      voidwriteChar​(int v) 
      voidwriteChars​(java.lang.String s) 
      voidwriteDouble​(double v) 
      voidwriteFloat​(float v) 
      voidwriteInt​(int v) 
      voidwriteLong​(long v) 
      voidwriteShort​(int v) 
      voidwriteSignedShort​(int v) +
      Checks if the given value is a signed short value before writing it.
      +
      voidwriteUnsignedShort​(int v) +
      Checks if the given value is an unsigned short value before writing it.
      +
      voidwriteUTF​(java.lang.String str) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        RuntimeDataOutput

        +
        public RuntimeDataOutput​(java.io.DataOutput dataOutput)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        write

        +
        public void write​(byte[] b)
        +
      • +
      + + + +
        +
      • +

        write

        +
        public void write​(byte[] b,
        +                  int off,
        +                  int len)
        +
      • +
      + + + +
        +
      • +

        write

        +
        public void write​(int b)
        +
      • +
      + + + +
        +
      • +

        writeBoolean

        +
        public void writeBoolean​(boolean v)
        +
      • +
      + + + +
        +
      • +

        writeByte

        +
        public void writeByte​(int v)
        +
      • +
      + + + +
        +
      • +

        writeBytes

        +
        public void writeBytes​(java.lang.String s)
        +
      • +
      + + + +
        +
      • +

        writeChar

        +
        public void writeChar​(int v)
        +
      • +
      + + + +
        +
      • +

        writeChars

        +
        public void writeChars​(java.lang.String s)
        +
      • +
      + + + +
        +
      • +

        writeDouble

        +
        public void writeDouble​(double v)
        +
      • +
      + + + +
        +
      • +

        writeFloat

        +
        public void writeFloat​(float v)
        +
      • +
      + + + +
        +
      • +

        writeInt

        +
        public void writeInt​(int v)
        +
      • +
      + + + +
        +
      • +

        writeLong

        +
        public void writeLong​(long v)
        +
      • +
      + + + +
        +
      • +

        writeUnsignedShort

        +
        public void writeUnsignedShort​(int v)
        +
        Checks if the given value is an unsigned short value before writing it.
        +
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if the value is not an unsigned short value.
        +
        See Also:
        +
        writeShort(int)
        +
        +
      • +
      + + + +
        +
      • +

        writeSignedShort

        +
        public void writeSignedShort​(int v)
        +
        Checks if the given value is a signed short value before writing it.
        +
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if the value is not a signed short value.
        +
        See Also:
        +
        writeShort(int)
        +
        +
      • +
      + + + +
        +
      • +

        writeShort

        +
        public void writeShort​(int v)
        +
      • +
      + + + +
        +
      • +

        writeUTF

        +
        public void writeUTF​(java.lang.String str)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/SignedJarWriter.html b/api/proguard/io/SignedJarWriter.html new file mode 100644 index 000000000..144e4e37b --- /dev/null +++ b/api/proguard/io/SignedJarWriter.html @@ -0,0 +1,585 @@ + + + + + +SignedJarWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class SignedJarWriter

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.AutoCloseable, DataEntryWriter
    +
    +
    +
    public class SignedJarWriter
    +extends JarWriter
    +
    This JarWriter sends data entries to a given jar file, automatically adding a manifest + file and signing it with JAR signature scheme v1. + +

    You'll typically wrap a ZipWriter or one of its extensions: + +

    +     new SignedApkWriter(privateKeyEntry, new ZipWriter(...))
    + 
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SignedJarWriter

        +
        public SignedJarWriter​(java.security.KeyStore.PrivateKeyEntry privateKeyEntry,
        +                       DataEntryWriter zipEntryWriter)
        +
        Creates a new SignedJarWriter.
        +
        +
        Parameters:
        +
        privateKeyEntry - the private key to be used for signing the zip entries.
        +
        zipEntryWriter - the data entry writer that can provide output streams for the jar + entries.
        +
        +
      • +
      + + + +
        +
      • +

        SignedJarWriter

        +
        public SignedJarWriter​(java.security.KeyStore.PrivateKeyEntry privateKeyEntry,
        +                       java.lang.String[] digestAlgorithms,
        +                       java.lang.String creator,
        +                       DataEntryWriter zipEntryWriter)
        +
        Creates a new SignedJarWriter with the given settings.
        +
        +
        Parameters:
        +
        privateKeyEntry - the private key to be used for signing the zip entries.
        +
        digestAlgorithms - the manifest digest algorithms, e.g. "SHA-256".
        +
        creator - the creator to mention in the manifest file.
        +
        zipEntryWriter - the data entry writer that can provide output streams for the jar + entries.
        +
        +
      • +
      + + + +
        +
      • +

        SignedJarWriter

        +
        public SignedJarWriter​(java.security.KeyStore.PrivateKeyEntry privateKeyEntry,
        +                       java.lang.String[] digestAlgorithms,
        +                       java.lang.String creator,
        +                       int[] apkSignatureSchemeIDs,
        +                       DataEntryWriter zipEntryWriter)
        +
        Creates a new SignedJarWriter with the given settings.
        +
        +
        Parameters:
        +
        privateKeyEntry - the private key to be used for signing the zip entries.
        +
        digestAlgorithms - the manifest digest algorithms, e.g. "SHA-256".
        +
        creator - the creator to mention in the manifest file.
        +
        apkSignatureSchemeIDs - an optional list of external APK signature scheme IDs to be + specified with the attribute "X-Android-APK-Signed" in *.SF files.
        +
        zipEntryWriter - the data entry writer that can provide output streams for the jar + entries.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Overrides:
        +
        createOutputStream in class JarWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Overrides:
        +
        println in class JarWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      + + + +
        +
      • +

        openManifestFiles

        +
        protected void openManifestFiles()
        +                          throws java.io.IOException
        +
        Description copied from class: JarWriter
        +
        Prepares streams and writers for capturing digests of a parent entry.
        +
        +
        Overrides:
        +
        openManifestFiles in class JarWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createManifestOutputStream

        +
        protected java.io.OutputStream createManifestOutputStream​(DataEntry manifestEntry)
        +                                                   throws java.io.IOException
        +
        Description copied from class: JarWriter
        +
        Creates an output stream for the specified manifest file.
        +
        +
        Overrides:
        +
        createManifestOutputStream in class JarWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        finish

        +
        protected void finish()
        +               throws java.io.IOException
        +
        Description copied from class: JarWriter
        +
        Writes out the collected manifest file before closing the jar, if any.
        +
        +
        Overrides:
        +
        finish in class JarWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        Provides a simple test for this class, creating a signed apk file (only v1) with the given name + and a few aligned/compressed/uncompressed zip entries. Arguments: keystore keystore_password + alias password jar_filename Create a keystore with: keytool -genkey -dname 'CN=John Doe, + OU=Development, O=Guardsquare, STREET=Tervuursevest, L=Leuven, ST=Brabant, C=Belgium' -keystore + /tmp/test.keystore -storepass android -alias AndroidDebugKey -keypass android -keyalg RSA + -keysize 512 List the contents of the keystore with keytool -v -list -keystore + /tmp/test.keystore -alias androiddebugkey -storepass android Verify the signed jar with: + jarsigner -verify -verbose /tmp/test.jar or with: android-sdk/build-tools/24.0.3/apksigner + verify --min-sdk-version 19 -v /tmp/test.jar
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/StreamingDataEntry.html b/api/proguard/io/StreamingDataEntry.html new file mode 100644 index 000000000..667a0eb71 --- /dev/null +++ b/api/proguard/io/StreamingDataEntry.html @@ -0,0 +1,480 @@ + + + + + +StreamingDataEntry (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class StreamingDataEntry

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.StreamingDataEntry
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntry
    +
    +
    +
    public class StreamingDataEntry
    +extends java.lang.Object
    +implements DataEntry
    +
    This DataEntry represents a stream of data.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      StreamingDataEntry​(java.lang.String name, + java.io.InputStream inputStream) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidcloseInputStream() +
      Closes the previously retrieved InputStream.
      +
      java.io.InputStreamgetInputStream() +
      Returns an input stream for reading the content of this data entry.
      +
      java.lang.StringgetName() +
      Returns the name of this data entry.
      +
      java.lang.StringgetOriginalName() +
      Returns the original name of this data entry, i.e.
      +
      DataEntrygetParent() +
      Returns the parent of this data entry, or null if it doesn't + have one.
      +
      longgetSize() +
      Returns the size of this data entry, in bytes, or -1 if unknown.
      +
      booleanisDirectory() +
      Returns whether the data entry represents a directory.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StreamingDataEntry

        +
        public StreamingDataEntry​(java.lang.String name,
        +                          java.io.InputStream inputStream)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Description copied from interface: DataEntry
        +
        Returns the name of this data entry.
        +
        +
        Specified by:
        +
        getName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getOriginalName

        +
        public java.lang.String getOriginalName()
        +
        Description copied from interface: DataEntry
        +
        Returns the original name of this data entry, i.e. the name of the data entry before any + renaming or obfuscation.
        +
        +
        Specified by:
        +
        getOriginalName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getSize

        +
        public long getSize()
        +
        Description copied from interface: DataEntry
        +
        Returns the size of this data entry, in bytes, or -1 if unknown.
        +
        +
        Specified by:
        +
        getSize in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        isDirectory

        +
        public boolean isDirectory()
        +
        Description copied from interface: DataEntry
        +
        Returns whether the data entry represents a directory.
        +
        +
        Specified by:
        +
        isDirectory in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getInputStream

        +
        public java.io.InputStream getInputStream()
        +                                   throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Returns an input stream for reading the content of this data entry. The data entry may not + represent a directory.
        +
        +
        Specified by:
        +
        getInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        closeInputStream

        +
        public void closeInputStream()
        +                      throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Closes the previously retrieved InputStream.
        +
        +
        Specified by:
        +
        closeInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        getParent

        +
        public DataEntry getParent()
        +
        Description copied from interface: DataEntry
        +
        Returns the parent of this data entry, or null if it doesn't + have one.
        +
        +
        Specified by:
        +
        getParent in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/WrappedDataEntry.html b/api/proguard/io/WrappedDataEntry.html new file mode 100644 index 000000000..abdaf2063 --- /dev/null +++ b/api/proguard/io/WrappedDataEntry.html @@ -0,0 +1,524 @@ + + + + + +WrappedDataEntry (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class WrappedDataEntry

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.WrappedDataEntry
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntry
    +
    +
    +
    Direct Known Subclasses:
    +
    RenamedDataEntry
    +
    +
    +
    public class WrappedDataEntry
    +extends java.lang.Object
    +implements DataEntry
    +
    This DataEntry wraps another data entry.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      protected DataEntrywrappedEntry 
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidcloseInputStream() +
      Closes the previously retrieved InputStream.
      +
      java.io.InputStreamgetInputStream() +
      Returns an input stream for reading the content of this data entry.
      +
      java.lang.StringgetName() +
      Returns the name of this data entry.
      +
      java.lang.StringgetOriginalName() +
      Returns the original name of this data entry, i.e.
      +
      DataEntrygetParent() +
      Returns the parent of this data entry, or null if it doesn't + have one.
      +
      longgetSize() +
      Returns the size of this data entry, in bytes, or -1 if unknown.
      +
      booleanisDirectory() +
      Returns whether the data entry represents a directory.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        wrappedEntry

        +
        protected final DataEntry wrappedEntry
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        WrappedDataEntry

        +
        public WrappedDataEntry​(DataEntry wrappedEntry)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        closeInputStream

        +
        public void closeInputStream()
        +                      throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Closes the previously retrieved InputStream.
        +
        +
        Specified by:
        +
        closeInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Description copied from interface: DataEntry
        +
        Returns the name of this data entry.
        +
        +
        Specified by:
        +
        getName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getOriginalName

        +
        public java.lang.String getOriginalName()
        +
        Description copied from interface: DataEntry
        +
        Returns the original name of this data entry, i.e. the name of the data entry before any + renaming or obfuscation.
        +
        +
        Specified by:
        +
        getOriginalName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getSize

        +
        public long getSize()
        +
        Description copied from interface: DataEntry
        +
        Returns the size of this data entry, in bytes, or -1 if unknown.
        +
        +
        Specified by:
        +
        getSize in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        isDirectory

        +
        public boolean isDirectory()
        +
        Description copied from interface: DataEntry
        +
        Returns whether the data entry represents a directory.
        +
        +
        Specified by:
        +
        isDirectory in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getInputStream

        +
        public java.io.InputStream getInputStream()
        +                                   throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Returns an input stream for reading the content of this data entry. The data entry may not + represent a directory.
        +
        +
        Specified by:
        +
        getInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        getParent

        +
        public DataEntry getParent()
        +
        Description copied from interface: DataEntry
        +
        Returns the parent of this data entry, or null if it doesn't + have one.
        +
        +
        Specified by:
        +
        getParent in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ZipDataEntry.html b/api/proguard/io/ZipDataEntry.html new file mode 100644 index 000000000..fd46fb878 --- /dev/null +++ b/api/proguard/io/ZipDataEntry.html @@ -0,0 +1,482 @@ + + + + + +ZipDataEntry (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ZipDataEntry

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.ZipDataEntry
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntry
    +
    +
    +
    public class ZipDataEntry
    +extends java.lang.Object
    +implements DataEntry
    +
    This DataEntry represents a ZIP entry.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ZipDataEntry​(DataEntry parent, + java.util.zip.ZipEntry zipEntry, + java.util.zip.ZipInputStream zipInputStream) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidcloseInputStream() +
      Closes the previously retrieved InputStream.
      +
      java.io.InputStreamgetInputStream() +
      Returns an input stream for reading the content of this data entry.
      +
      java.lang.StringgetName() +
      Returns the name of this data entry.
      +
      java.lang.StringgetOriginalName() +
      Returns the original name of this data entry, i.e.
      +
      DataEntrygetParent() +
      Returns the parent of this data entry, or null if it doesn't + have one.
      +
      longgetSize() +
      Returns the size of this data entry, in bytes, or -1 if unknown.
      +
      booleanisDirectory() +
      Returns whether the data entry represents a directory.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ZipDataEntry

        +
        public ZipDataEntry​(DataEntry parent,
        +                    java.util.zip.ZipEntry zipEntry,
        +                    java.util.zip.ZipInputStream zipInputStream)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Description copied from interface: DataEntry
        +
        Returns the name of this data entry.
        +
        +
        Specified by:
        +
        getName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getOriginalName

        +
        public java.lang.String getOriginalName()
        +
        Description copied from interface: DataEntry
        +
        Returns the original name of this data entry, i.e. the name of the data entry before any + renaming or obfuscation.
        +
        +
        Specified by:
        +
        getOriginalName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getSize

        +
        public long getSize()
        +
        Description copied from interface: DataEntry
        +
        Returns the size of this data entry, in bytes, or -1 if unknown.
        +
        +
        Specified by:
        +
        getSize in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        isDirectory

        +
        public boolean isDirectory()
        +
        Description copied from interface: DataEntry
        +
        Returns whether the data entry represents a directory.
        +
        +
        Specified by:
        +
        isDirectory in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getInputStream

        +
        public java.io.InputStream getInputStream()
        +                                   throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Returns an input stream for reading the content of this data entry. The data entry may not + represent a directory.
        +
        +
        Specified by:
        +
        getInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        closeInputStream

        +
        public void closeInputStream()
        +                      throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Closes the previously retrieved InputStream.
        +
        +
        Specified by:
        +
        closeInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        getParent

        +
        public DataEntry getParent()
        +
        Description copied from interface: DataEntry
        +
        Returns the parent of this data entry, or null if it doesn't + have one.
        +
        +
        Specified by:
        +
        getParent in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ZipFileDataEntry.html b/api/proguard/io/ZipFileDataEntry.html new file mode 100644 index 000000000..bb604e37e --- /dev/null +++ b/api/proguard/io/ZipFileDataEntry.html @@ -0,0 +1,482 @@ + + + + + +ZipFileDataEntry (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ZipFileDataEntry

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.ZipFileDataEntry
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntry
    +
    +
    +
    public class ZipFileDataEntry
    +extends java.lang.Object
    +implements DataEntry
    +
    This DataEntry represents a ZIP entry.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ZipFileDataEntry​(DataEntry parent, + java.util.zip.ZipEntry zipEntry, + java.util.zip.ZipFile zipFile) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidcloseInputStream() +
      Closes the previously retrieved InputStream.
      +
      java.io.InputStreamgetInputStream() +
      Returns an input stream for reading the content of this data entry.
      +
      java.lang.StringgetName() +
      Returns the name of this data entry.
      +
      java.lang.StringgetOriginalName() +
      Returns the original name of this data entry, i.e.
      +
      DataEntrygetParent() +
      Returns the parent of this data entry, or null if it doesn't + have one.
      +
      longgetSize() +
      Returns the size of this data entry, in bytes, or -1 if unknown.
      +
      booleanisDirectory() +
      Returns whether the data entry represents a directory.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ZipFileDataEntry

        +
        public ZipFileDataEntry​(DataEntry parent,
        +                        java.util.zip.ZipEntry zipEntry,
        +                        java.util.zip.ZipFile zipFile)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getName

        +
        public java.lang.String getName()
        +
        Description copied from interface: DataEntry
        +
        Returns the name of this data entry.
        +
        +
        Specified by:
        +
        getName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getOriginalName

        +
        public java.lang.String getOriginalName()
        +
        Description copied from interface: DataEntry
        +
        Returns the original name of this data entry, i.e. the name of the data entry before any + renaming or obfuscation.
        +
        +
        Specified by:
        +
        getOriginalName in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getSize

        +
        public long getSize()
        +
        Description copied from interface: DataEntry
        +
        Returns the size of this data entry, in bytes, or -1 if unknown.
        +
        +
        Specified by:
        +
        getSize in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        isDirectory

        +
        public boolean isDirectory()
        +
        Description copied from interface: DataEntry
        +
        Returns whether the data entry represents a directory.
        +
        +
        Specified by:
        +
        isDirectory in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        getInputStream

        +
        public java.io.InputStream getInputStream()
        +                                   throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Returns an input stream for reading the content of this data entry. The data entry may not + represent a directory.
        +
        +
        Specified by:
        +
        getInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        closeInputStream

        +
        public void closeInputStream()
        +                      throws java.io.IOException
        +
        Description copied from interface: DataEntry
        +
        Closes the previously retrieved InputStream.
        +
        +
        Specified by:
        +
        closeInputStream in interface DataEntry
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        getParent

        +
        public DataEntry getParent()
        +
        Description copied from interface: DataEntry
        +
        Returns the parent of this data entry, or null if it doesn't + have one.
        +
        +
        Specified by:
        +
        getParent in interface DataEntry
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ZipOutput.LargeDataOutputStream.html b/api/proguard/io/ZipOutput.LargeDataOutputStream.html new file mode 100644 index 000000000..a8a28c477 --- /dev/null +++ b/api/proguard/io/ZipOutput.LargeDataOutputStream.html @@ -0,0 +1,418 @@ + + + + + +ZipOutput.LargeDataOutputStream (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ZipOutput.LargeDataOutputStream

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.io.OutputStream
    • +
    • +
        +
      • java.io.FilterOutputStream
      • +
      • +
          +
        • java.io.DataOutputStream
        • +
        • +
            +
          • proguard.io.ZipOutput.LargeDataOutputStream
          • +
          +
        • +
        +
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Closeable, java.io.DataOutput, java.io.Flushable, java.lang.AutoCloseable
    +
    +
    +
    Enclosing class:
    +
    ZipOutput
    +
    +
    +
    public static class ZipOutput.LargeDataOutputStream
    +extends java.io.DataOutputStream
    +
    This output stream is mostly identical to DataOutputStream, except it stores the amount of + bytes written so far in a long instead of an int. This makes sure the count is correct, even + when writing out more than 1 << 31 bytes.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      +
        +
      • + + +

        Fields inherited from class java.io.FilterOutputStream

        +out
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      LargeDataOutputStream​(java.io.OutputStream out) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      longgetLongSize() 
      voidwrite​(byte[] b) 
      voidwrite​(int b) 
      +
        +
      • + + +

        Methods inherited from class java.io.DataOutputStream

        +flush, size, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF
      • +
      +
        +
      • + + +

        Methods inherited from class java.io.FilterOutputStream

        +close
      • +
      +
        +
      • + + +

        Methods inherited from class java.io.OutputStream

        +nullOutputStream
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LargeDataOutputStream

        +
        public LargeDataOutputStream​(java.io.OutputStream out)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getLongSize

        +
        public long getLongSize()
        +
        +
        Returns:
        +
        the amount of bytes written to the output stream so far.
        +
        +
      • +
      + + + +
        +
      • +

        write

        +
        public void write​(int b)
        +           throws java.io.IOException
        +
        +
        Specified by:
        +
        write in interface java.io.DataOutput
        +
        Overrides:
        +
        write in class java.io.DataOutputStream
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        write

        +
        public void write​(byte[] b)
        +           throws java.io.IOException
        +
        +
        Specified by:
        +
        write in interface java.io.DataOutput
        +
        Overrides:
        +
        write in class java.io.FilterOutputStream
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ZipOutput.html b/api/proguard/io/ZipOutput.html new file mode 100644 index 000000000..b8cfb44a6 --- /dev/null +++ b/api/proguard/io/ZipOutput.html @@ -0,0 +1,953 @@ + + + + + +ZipOutput (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ZipOutput

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.ZipOutput
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ZipOutput
    +extends java.lang.Object
    +
    This class writes zip data to a given output stream. It returns a new output stream for each zip + entry that is opened. An entry can be compressed or uncompressed. Uncompressed entries can be + aligned to a multiple of a given number of bytes. + +

    Multiple entries and output streams can be open at the same time. The entries are added to the + central directory in the order in which they are opened, but the corresponding data are only + written when their output streams are closed. + +

    The code automatically computes the CRC and lengths of the data, for compressed and + uncompressed data.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Nested Class Summary

      + + + + + + + + + + + + +
      Nested Classes 
      Modifier and TypeClassDescription
      static class ZipOutput.LargeDataOutputStream +
      This output stream is mostly identical to DataOutputStream, except it stores the amount of + bytes written so far in a long instead of an int.
      +
      +
    • +
    +
    + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ZipOutput​(java.io.OutputStream outputStream) +
      Creates a new ZipOutput.
      +
      ZipOutput​(java.io.OutputStream outputStream, + boolean useZip64) +
      Creates a new ZipOutput.
      +
      ZipOutput​(java.io.OutputStream outputStream, + boolean useZip64, + int uncompressedAlignment) +
      Creates a new ZipOutput that aligns uncompressed entries.
      +
      ZipOutput​(java.io.OutputStream outputStream, + byte[] header, + int uncompressedAlignment, + boolean useZip64) +
      Creates a new ZipOutput that aligns uncompressed entries.
      +
      ZipOutput​(java.io.OutputStream outputStream, + byte[] header, + int uncompressedAlignment, + boolean useZip64, + java.lang.String comment) +
      Creates a new ZipOutput that aligns uncompressed entries and contains a comment.
      +
      ZipOutput​(java.io.OutputStream outputStream, + int uncompressedAlignment) +
      Creates a new ZipOutput that aligns uncompressed entries.
      +
      ZipOutput​(java.io.OutputStream outputStream, + int uncompressedAlignment, + boolean useZip64, + java.lang.String comment) +
      Creates a new ZipOutput that aligns uncompressed entries and contains a comment.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Closes the zip archive, writing out its central directory and closing the underlying output + stream.
      +
      voidclose​(long centralDirectoryOffset) +
      Closes the zip archive, writing out its central directory and closing the underlying output + stream.
      +
      java.io.OutputStreamcreateOutputStream​(java.lang.String name, + boolean compress, + int modificationTime) +
      Creates a new zip entry, returning an output stream to write its data.
      +
      java.io.OutputStreamcreateOutputStream​(java.lang.String name, + boolean compress, + int uncompressedAlignment, + int modificationTime) +
      Creates a new zip entry, returning an output stream to write its data.
      +
      java.io.OutputStreamcreateOutputStream​(java.lang.String name, + boolean compress, + int uncompressedAlignment, + int modificationTime, + byte[] extraField, + java.lang.String comment) +
      Creates a new zip entry, returning an output stream to write its data.
      +
      static voidmain​(java.lang.String[] args) +
      Provides a simple test for this class, creating a zip file with the given name and a few + aligned/compressed/uncompressed zip entries.
      +
      protected longsize() +
      Returns the current size of the data written to the output stream.
      +
      protected voidwriteEndOfCentralDirectory​(long centralDirectoryOffset, + long centralDirectorySize) +
      Ends the central directory.
      +
      protected longwriteEntriesOfCentralDirectory() +
      Writes the zip entries in the central directory.
      +
      protected voidwriteInt​(int value) +
      Writes out a little-endian int value to the zip output stream.
      +
      protected voidwriteInt​(long value) +
      Writes out a little-endian int value to the zip output stream.
      +
      protected voidwriteLong​(long value) +
      Writes out a little-endian long value to the zip output stream.
      +
      protected voidwriteShort​(int value) +
      Writes out a little-endian short value to the zip output stream.
      +
      protected longwriteStartOfCentralDirectory() +
      Starts the central directory.
      +
      protected voidwriteZip64EndOfCentralDirectory​(long centralDirectoryOffset, + long centralDirectorySize) +
      Writes out a ZIP64 end of central directory entry.
      +
      protected voidwriteZip64EndOfCentralDirectoryLocator​(long zip64CentralDirectoryOffset) +
      Writes out a ZIP64 end of central directory locator.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ZipOutput

        +
        public ZipOutput​(java.io.OutputStream outputStream)
        +
        Creates a new ZipOutput.
        +
        +
        Parameters:
        +
        outputStream - the output stream to which the zip data will be written.
        +
        +
      • +
      + + + +
        +
      • +

        ZipOutput

        +
        public ZipOutput​(java.io.OutputStream outputStream,
        +                 boolean useZip64)
        +
        Creates a new ZipOutput.
        +
        +
        Parameters:
        +
        outputStream - the output stream to which the zip data will be written.
        +
        useZip64 - Whether to write out the archive in zip64 format.
        +
        +
      • +
      + + + +
        +
      • +

        ZipOutput

        +
        public ZipOutput​(java.io.OutputStream outputStream,
        +                 int uncompressedAlignment)
        +
        Creates a new ZipOutput that aligns uncompressed entries.
        +
        +
        Parameters:
        +
        outputStream - the output stream to which the zip data will be written.
        +
        uncompressedAlignment - the default alignment of uncompressed data.
        +
        +
      • +
      + + + +
        +
      • +

        ZipOutput

        +
        public ZipOutput​(java.io.OutputStream outputStream,
        +                 boolean useZip64,
        +                 int uncompressedAlignment)
        +
        Creates a new ZipOutput that aligns uncompressed entries.
        +
        +
        Parameters:
        +
        outputStream - the output stream to which the zip data will be written.
        +
        useZip64 - Whether to write out the archive in zip64 format.
        +
        uncompressedAlignment - the default alignment of uncompressed data.
        +
        +
      • +
      + + + +
        +
      • +

        ZipOutput

        +
        public ZipOutput​(java.io.OutputStream outputStream,
        +                 int uncompressedAlignment,
        +                 boolean useZip64,
        +                 java.lang.String comment)
        +
        Creates a new ZipOutput that aligns uncompressed entries and contains a comment.
        +
        +
        Parameters:
        +
        outputStream - the output stream to which the zip data will be written.
        +
        uncompressedAlignment - the default alignment of uncompressed data.
        +
        useZip64 - Whether to write out the archive in zip64 format.
        +
        comment - optional comment for the entire zip file.
        +
        +
      • +
      + + + +
        +
      • +

        ZipOutput

        +
        public ZipOutput​(java.io.OutputStream outputStream,
        +                 byte[] header,
        +                 int uncompressedAlignment,
        +                 boolean useZip64)
        +          throws java.io.IOException
        +
        Creates a new ZipOutput that aligns uncompressed entries.
        +
        +
        Parameters:
        +
        outputStream - the output stream to which the zip data will be written.
        +
        header - an optional header for the zip file.
        +
        useZip64 - Whether to write out the archive in zip64 format.
        +
        uncompressedAlignment - the requested alignment of uncompressed data.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        ZipOutput

        +
        public ZipOutput​(java.io.OutputStream outputStream,
        +                 byte[] header,
        +                 int uncompressedAlignment,
        +                 boolean useZip64,
        +                 java.lang.String comment)
        +          throws java.io.IOException
        +
        Creates a new ZipOutput that aligns uncompressed entries and contains a comment.
        +
        +
        Parameters:
        +
        outputStream - the output stream to which the zip data will be written.
        +
        header - an optional header for the zip file.
        +
        uncompressedAlignment - the requested alignment of uncompressed data.
        +
        useZip64 - Whether to write out the archive in zip64 format.
        +
        comment - optional comment for the entire zip file.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(java.lang.String name,
        +                                               boolean compress,
        +                                               int modificationTime)
        +                                        throws java.io.IOException
        +
        Creates a new zip entry, returning an output stream to write its data. It is the caller's + responsibility to close the output stream.
        +
        +
        Parameters:
        +
        name - the name of the zip entry.
        +
        compress - specifies whether the entry should be compressed with the default alignment.
        +
        modificationTime - the modification date and time of the zip entry, in DOS format.
        +
        Returns:
        +
        an output stream for writing the data of the zip entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(java.lang.String name,
        +                                               boolean compress,
        +                                               int uncompressedAlignment,
        +                                               int modificationTime)
        +                                        throws java.io.IOException
        +
        Creates a new zip entry, returning an output stream to write its data. It is the caller's + responsibility to close the output stream.
        +
        +
        Parameters:
        +
        name - the name of the zip entry.
        +
        compress - specifies whether the entry should be compressed.
        +
        uncompressedAlignment - the requested alignment of uncompressed data.
        +
        modificationTime - the modification date and time of the zip entry, in DOS format.
        +
        Returns:
        +
        an output stream for writing the data of the zip entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(java.lang.String name,
        +                                               boolean compress,
        +                                               int uncompressedAlignment,
        +                                               int modificationTime,
        +                                               byte[] extraField,
        +                                               java.lang.String comment)
        +                                        throws java.io.IOException
        +
        Creates a new zip entry, returning an output stream to write its data. It is the caller's + responsibility to close the output stream.
        +
        +
        Parameters:
        +
        name - the name of the zip entry.
        +
        compress - specifies whether the entry should be compressed.
        +
        uncompressedAlignment - the requested alignment of uncompressed data.
        +
        modificationTime - the modification date and time of the zip entry, in DOS format.
        +
        extraField - optional extra field data. These should contain chunks, each with a short ID, + a short length (little endian), and their corresponding data. The IDs 0-31 are reserved for + Pkware. Java's jar tool just specifies an ID 0xcafe on its first entry.
        +
        comment - an optional comment.
        +
        Returns:
        +
        an output stream for writing the data of the zip entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Closes the zip archive, writing out its central directory and closing the underlying output + stream.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close​(long centralDirectoryOffset)
        +           throws java.io.IOException
        +
        Closes the zip archive, writing out its central directory and closing the underlying output + stream.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        size

        +
        protected long size()
        +
        Returns the current size of the data written to the output stream.
        +
      • +
      + + + +
        +
      • +

        writeStartOfCentralDirectory

        +
        protected long writeStartOfCentralDirectory()
        +
        Starts the central directory.
        +
        +
        Returns:
        +
        the current position in the output stream.
        +
        +
      • +
      + + + +
        +
      • +

        writeEntriesOfCentralDirectory

        +
        protected long writeEntriesOfCentralDirectory()
        +                                       throws java.io.IOException
        +
        Writes the zip entries in the central directory.
        +
        +
        Returns:
        +
        the total size of the directory entries.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        writeEndOfCentralDirectory

        +
        protected void writeEndOfCentralDirectory​(long centralDirectoryOffset,
        +                                          long centralDirectorySize)
        +                                   throws java.io.IOException
        +
        Ends the central directory.
        +
        +
        Parameters:
        +
        centralDirectoryOffset - the offset of the central directory.
        +
        centralDirectorySize - the size of the central directory, not counting the empty header + and the trailer.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        writeZip64EndOfCentralDirectory

        +
        protected void writeZip64EndOfCentralDirectory​(long centralDirectoryOffset,
        +                                               long centralDirectorySize)
        +                                        throws java.io.IOException
        +
        Writes out a ZIP64 end of central directory entry.
        +
        +
        Parameters:
        +
        centralDirectoryOffset - The offset from the start of the archive to the first central + directory record.
        +
        centralDirectorySize - The total size of all central directory records.
        +
        Throws:
        +
        java.io.IOException - In case a problem occurs during writing.
        +
        +
      • +
      + + + +
        +
      • +

        writeZip64EndOfCentralDirectoryLocator

        +
        protected void writeZip64EndOfCentralDirectoryLocator​(long zip64CentralDirectoryOffset)
        +                                               throws java.io.IOException
        +
        Writes out a ZIP64 end of central directory locator.
        +
        +
        Parameters:
        +
        zip64CentralDirectoryOffset - The offset to the zip64 end of central directory record.
        +
        Throws:
        +
        java.io.IOException - In case a problem occurs during writing.
        +
        +
      • +
      + + + +
        +
      • +

        writeShort

        +
        protected void writeShort​(int value)
        +                   throws java.io.IOException
        +
        Writes out a little-endian short value to the zip output stream.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        writeInt

        +
        protected void writeInt​(int value)
        +                 throws java.io.IOException
        +
        Writes out a little-endian int value to the zip output stream.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        writeInt

        +
        protected void writeInt​(long value)
        +                 throws java.io.IOException
        +
        Writes out a little-endian int value to the zip output stream.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        writeLong

        +
        protected void writeLong​(long value)
        +                  throws java.io.IOException
        +
        Writes out a little-endian long value to the zip output stream.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        Provides a simple test for this class, creating a zip file with the given name and a few + aligned/compressed/uncompressed zip entries.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/ZipWriter.html b/api/proguard/io/ZipWriter.html new file mode 100644 index 000000000..ed5275ccf --- /dev/null +++ b/api/proguard/io/ZipWriter.html @@ -0,0 +1,720 @@ + + + + + +ZipWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.io
+

Class ZipWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.ZipWriter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.AutoCloseable, DataEntryWriter
    +
    +
    +
    public class ZipWriter
    +extends java.lang.Object
    +implements DataEntryWriter
    +
    This DataEntryWriter sends data entries to the zip files specified by their parents.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ZipWriter​(DataEntryWriter dataEntryWriter) +
      Creates a new ZipWriter that compresses all zip entries.
      +
      ZipWriter​(StringMatcher uncompressedFilter, + int uncompressedAlignment, + boolean useZip64, + int modificationTime, + byte[] header, + DataEntryWriter dataEntryWriter) +
      Creates a new ZipWriter.
      +
      ZipWriter​(StringMatcher uncompressedFilter, + int uncompressedAlignment, + boolean useZip64, + int modificationTime, + DataEntryWriter dataEntryWriter) +
      Creates a new ZipWriter.
      +
      ZipWriter​(StringMatcher uncompressedFilter, + int uncompressedAlignment, + boolean useZip64, + StringMatcher extraUncompressedAlignmentFilter, + int extraUncompressedAlignment, + int modificationTime, + byte[] header, + DataEntryWriter dataEntryWriter) +
      Creates a new ZipWriter.
      +
      ZipWriter​(StringMatcher uncompressedFilter, + int uncompressedAlignment, + boolean useZip64, + StringMatcher extraUncompressedAlignmentFilter, + int extraUncompressedAlignment, + int modificationTime, + DataEntryWriter dataEntryWriter) +
      Creates a new ZipWriter.
      +
      ZipWriter​(StringMatcher uncompressedFilter, + int uncompressedAlignment, + StringMatcher extraUncompressedAlignmentFilter, + int extraUncompressedAlignment, + int modificationTime, + byte[] header, + DataEntryWriter dataEntryWriter) +
      Creates a new ZipWriter.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      protected ZipOutputcreateZipOutput​(java.io.OutputStream outputStream, + byte[] header, + int uncompressedAlignment, + boolean useZip64, + java.lang.String comment) +
      Creates a zip output with the given header and parameters.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        currentZipOutput

        +
        public ZipOutput currentZipOutput
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ZipWriter

        +
        public ZipWriter​(DataEntryWriter dataEntryWriter)
        +
        Creates a new ZipWriter that compresses all zip entries.
        +
        +
        Parameters:
        +
        dataEntryWriter - the data entry writer that can provide output streams for the zip + archives.
        +
        +
      • +
      + + + +
        +
      • +

        ZipWriter

        +
        public ZipWriter​(StringMatcher uncompressedFilter,
        +                 int uncompressedAlignment,
        +                 boolean useZip64,
        +                 int modificationTime,
        +                 DataEntryWriter dataEntryWriter)
        +
        Creates a new ZipWriter.
        +
        +
        Parameters:
        +
        uncompressedFilter - an optional filter for files that should not be compressed.
        +
        uncompressedAlignment - the desired alignment for the data of uncompressed entries.
        +
        useZip64 - Whether to write out the archive in zip64 format.
        +
        modificationTime - the modification date and time of the zip entries, in DOS format.
        +
        dataEntryWriter - the data entry writer that can provide output streams for the zip + archives.
        +
        +
      • +
      + + + +
        +
      • +

        ZipWriter

        +
        public ZipWriter​(StringMatcher uncompressedFilter,
        +                 int uncompressedAlignment,
        +                 boolean useZip64,
        +                 StringMatcher extraUncompressedAlignmentFilter,
        +                 int extraUncompressedAlignment,
        +                 int modificationTime,
        +                 DataEntryWriter dataEntryWriter)
        +
        Creates a new ZipWriter.
        +
        +
        Parameters:
        +
        uncompressedFilter - an optional filter for files that should not be compressed.
        +
        uncompressedAlignment - the desired alignment for the data of uncompressed entries.
        +
        useZip64 - Whether to write out the archive in zip64 format.
        +
        extraUncompressedAlignmentFilter - an optional filter for files that should not be + compressed and use a different alignment.
        +
        extraUncompressedAlignment - the desired alignment for the data of entries matching + extraAlignmentFilter.
        +
        modificationTime - the modification date and time of the zip entries, in DOS format.
        +
        dataEntryWriter - the data entry writer that can provide output streams for the zip + archives.
        +
        +
      • +
      + + + +
        +
      • +

        ZipWriter

        +
        public ZipWriter​(StringMatcher uncompressedFilter,
        +                 int uncompressedAlignment,
        +                 boolean useZip64,
        +                 int modificationTime,
        +                 byte[] header,
        +                 DataEntryWriter dataEntryWriter)
        +
        Creates a new ZipWriter.
        +
        +
        Parameters:
        +
        uncompressedFilter - an optional filter for files that should not be compressed.
        +
        uncompressedAlignment - the desired alignment for the data of uncompressed entries.
        +
        useZip64 - Whether to write out the archive in zip64 format.
        +
        modificationTime - the modification date and time of the zip entries, in DOS format.
        +
        dataEntryWriter - the data entry writer that can provide output streams for the zip + archives.
        +
        +
      • +
      + + + +
        +
      • +

        ZipWriter

        +
        public ZipWriter​(StringMatcher uncompressedFilter,
        +                 int uncompressedAlignment,
        +                 StringMatcher extraUncompressedAlignmentFilter,
        +                 int extraUncompressedAlignment,
        +                 int modificationTime,
        +                 byte[] header,
        +                 DataEntryWriter dataEntryWriter)
        +
        Creates a new ZipWriter.
        +
        +
        Parameters:
        +
        uncompressedFilter - an optional filter for files that should not be compressed.
        +
        uncompressedAlignment - the desired alignment for the data of uncompressed entries.
        +
        extraUncompressedAlignmentFilter - an optional filter for files that should not be + compressed and use a different alignment.
        +
        extraUncompressedAlignment - the desired alignment for the data of entries matching + extraAlignmentFilter.
        +
        modificationTime - the modification date and time of the zip entries, in DOS format.
        +
        dataEntryWriter - the data entry writer that can provide output streams for the zip + archives.
        +
        +
      • +
      + + + +
        +
      • +

        ZipWriter

        +
        public ZipWriter​(StringMatcher uncompressedFilter,
        +                 int uncompressedAlignment,
        +                 boolean useZip64,
        +                 StringMatcher extraUncompressedAlignmentFilter,
        +                 int extraUncompressedAlignment,
        +                 int modificationTime,
        +                 byte[] header,
        +                 DataEntryWriter dataEntryWriter)
        +
        Creates a new ZipWriter.
        +
        +
        Parameters:
        +
        uncompressedFilter - an optional filter for files that should not be compressed.
        +
        uncompressedAlignment - the desired alignment for the data of uncompressed entries.
        +
        useZip64 - Whether to write out the archive in zip64 format.
        +
        extraUncompressedAlignmentFilter - an optional filter for files that should not be + compressed and use a different alignment.
        +
        extraUncompressedAlignment - the desired alignment for the data of entries matching + extraAlignmentFilter.
        +
        modificationTime - the modification date and time of the zip entries, in DOS format.
        +
        dataEntryWriter - the data entry writer that can provide output streams for the zip + archives.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      + + + +
        +
      • +

        createZipOutput

        +
        protected ZipOutput createZipOutput​(java.io.OutputStream outputStream,
        +                                    byte[] header,
        +                                    int uncompressedAlignment,
        +                                    boolean useZip64,
        +                                    java.lang.String comment)
        +                             throws java.io.IOException
        +
        Creates a zip output with the given header and parameters.
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/io/package-summary.html b/api/proguard/io/package-summary.html new file mode 100644 index 000000000..4dd25e400 --- /dev/null +++ b/api/proguard/io/package-summary.html @@ -0,0 +1,627 @@ + + + + + +proguard.io (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.io

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/io/package-tree.html b/api/proguard/io/package-tree.html new file mode 100644 index 000000000..83f17d243 --- /dev/null +++ b/api/proguard/io/package-tree.html @@ -0,0 +1,284 @@ + + + + + +proguard.io Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.io

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
    • +
    +
  • +
+
+
+
+ + + diff --git a/api/proguard/io/util/ClassPathUtil.html b/api/proguard/io/util/ClassPathUtil.html new file mode 100644 index 000000000..22bfad2f6 --- /dev/null +++ b/api/proguard/io/util/ClassPathUtil.html @@ -0,0 +1,326 @@ + + + + + +ClassPathUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassPathUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.util.ClassPathUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public final class ClassPathUtil
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static StringMatcherdetermineCompressionMethod​(ClassPath classPath) +
      Loop through all the input zip entries in ClassPath to determine the compression + methods.
      +
      static booleanhasAabInput​(ClassPath classPath) +
      Returns whether the class path contains any input app bundles.
      +
      static booleanisAndroid​(ClassPath classPath) +
      Returns whether the class path contains android target formats.
      +
      static booleanisDalvik​(ClassPath classPath) +
      Returns whether the class path contains dalvik target formats.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        hasAabInput

        +
        public static boolean hasAabInput​(ClassPath classPath)
        +
        Returns whether the class path contains any input app bundles.
        +
      • +
      + + + +
        +
      • +

        isAndroid

        +
        public static boolean isAndroid​(ClassPath classPath)
        +
        Returns whether the class path contains android target formats.
        +
      • +
      + + + +
        +
      • +

        isDalvik

        +
        public static boolean isDalvik​(ClassPath classPath)
        +
        Returns whether the class path contains dalvik target formats.
        +
      • +
      + + + +
        +
      • +

        determineCompressionMethod

        +
        public static StringMatcher determineCompressionMethod​(ClassPath classPath)
        +
        Loop through all the input zip entries in ClassPath to determine the compression + methods. For dex files, if one entry is uncompressed, a regex is added to match all dex files. + That allows to keep a consistent compression method regardless of the number of dex files after + processing (edge case if we add classes and a new dex file is needed).
        +
        +
        Parameters:
        +
        classPath - the entry to scan.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/io/util/IOUtil.html b/api/proguard/io/util/IOUtil.html new file mode 100644 index 000000000..88e668e5f --- /dev/null +++ b/api/proguard/io/util/IOUtil.html @@ -0,0 +1,548 @@ + + + + + +IOUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class IOUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.util.IOUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class IOUtil
    +extends java.lang.Object
    +
    This utility class provides methods to read the classes in jar, zips, aars into a ClassPool and write a ClassPool to a jar.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static ClassPoolread​(java.io.File file, + boolean isLibrary) +
      Reads the classes from the specified jar file and returns them as a class pool.
      +
      static ClassPoolread​(java.io.File file, + boolean isLibrary, + boolean initializeKotlinMetadata) +
      Reads the classes from the specified jar file and returns them as a class pool.
      +
      static ClassPoolread​(java.io.File file, + boolean isLibrary, + boolean initializeKotlinMetadata, + java.util.function.BiFunction<DataEntryReader,​ClassVisitor,​DataEntryReader> extraDataEntryReader) +
      Reads the classes from the specified jar file and returns them as a class pool.
      +
      static ClassPoolread​(java.lang.String fileName, + boolean isLibrary) +
      Reads the classes from the specified jar file and returns them as a class pool.
      +
      static ClassPoolread​(java.lang.String fileName, + boolean isLibrary, + boolean initializeKotlinMetadata) +
      Reads the classes from the specified jar file and returns them as a class pool.
      +
      static ClassPoolread​(ClassPath classPath, + java.lang.String classNameFilter, + boolean android, + boolean isLibrary, + boolean initializeKotlinMetadata, + boolean skipNonPublicLibraryClasses, + boolean skipNonPublicLibraryClassMembers, + boolean ignoreStackMapAttributes, + java.util.function.BiFunction<DataEntryReader,​ClassVisitor,​DataEntryReader> extraDataEntryReader) 
      static ClassPoolread​(ClassPath classPath, + java.lang.String classNameFilter, + boolean android, + boolean isLibrary, + boolean skipNonPublicLibraryClasses, + boolean skipNonPublicLibraryClassMembers, + boolean ignoreStackMapAttributes, + java.util.function.BiFunction<DataEntryReader,​ClassVisitor,​DataEntryReader> extraDataEntryReader) +
      Reads the classes from the specified jar file and returns them as a class pool.
      +
      static voidwriteJar​(ClassPool programClassPool, + java.lang.String outputJarFileName) +
      Writes the classes from the given class pool to a specified jar.
      +
      static voidwriteJar​(ClassPool programClassPool, + java.lang.String outputJarFileName, + java.lang.String mainClassName) +
      Writes the classes from the given class pool to a specified jar.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        public static ClassPool read​(java.lang.String fileName,
        +                             boolean isLibrary)
        +                      throws java.io.IOException
        +
        Reads the classes from the specified jar file and returns them as a class pool.
        +
        +
        Parameters:
        +
        fileName - the file name.
        +
        isLibrary - specifies whether classes should be represented as ProgramClass instances (for + processing) or LibraryClass instances (more compact).
        +
        Returns:
        +
        a new class pool with the read classes.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        read

        +
        public static ClassPool read​(java.lang.String fileName,
        +                             boolean isLibrary,
        +                             boolean initializeKotlinMetadata)
        +                      throws java.io.IOException
        +
        Reads the classes from the specified jar file and returns them as a class pool.
        +
        +
        Parameters:
        +
        fileName - the file name.
        +
        isLibrary - specifies whether classes should be represented as ProgramClass instances (for + processing) or LibraryClass instances (more compact).
        +
        initializeKotlinMetadata - specifies to initialize the Kotlin metadata model.
        +
        Returns:
        +
        a new class pool with the read classes.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        read

        +
        public static ClassPool read​(java.io.File file,
        +                             boolean isLibrary)
        +                      throws java.io.IOException
        +
        Reads the classes from the specified jar file and returns them as a class pool.
        +
        +
        Parameters:
        +
        file - the file.
        +
        isLibrary - specifies whether classes should be represented as ProgramClass instances (for + processing) or LibraryClass instances (more compact).
        +
        Returns:
        +
        a new class pool with the read classes.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        read

        +
        public static ClassPool read​(java.io.File file,
        +                             boolean isLibrary,
        +                             boolean initializeKotlinMetadata)
        +                      throws java.io.IOException
        +
        Reads the classes from the specified jar file and returns them as a class pool.
        +
        +
        Parameters:
        +
        file - the file.
        +
        isLibrary - specifies whether classes should be represented as ProgramClass instances (for + processing) or LibraryClass instances (more compact).
        +
        initializeKotlinMetadata - specifies to initialize the Kotlin metadata model.
        +
        Returns:
        +
        a new class pool with the read classes.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        read

        +
        public static ClassPool read​(java.io.File file,
        +                             boolean isLibrary,
        +                             boolean initializeKotlinMetadata,
        +                             java.util.function.BiFunction<DataEntryReader,​ClassVisitor,​DataEntryReader> extraDataEntryReader)
        +                      throws java.io.IOException
        +
        Reads the classes from the specified jar file and returns them as a class pool.
        +
        +
        Parameters:
        +
        file - the name of the file.
        +
        isLibrary - specifies whether classes should be represented as ProgramClass instances (for + processing) or LibraryClass instances (more compact).
        +
        initializeKotlinMetadata - specifies to initialize the Kotlin metadata model.
        +
        extraDataEntryReader - Optionally provide a function that wraps the reader in another + reader.
        +
        Returns:
        +
        a new class pool with the read classes.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        read

        +
        public static ClassPool read​(ClassPath classPath,
        +                             java.lang.String classNameFilter,
        +                             boolean android,
        +                             boolean isLibrary,
        +                             boolean skipNonPublicLibraryClasses,
        +                             boolean skipNonPublicLibraryClassMembers,
        +                             boolean ignoreStackMapAttributes,
        +                             java.util.function.BiFunction<DataEntryReader,​ClassVisitor,​DataEntryReader> extraDataEntryReader)
        +                      throws java.io.IOException
        +
        Reads the classes from the specified jar file and returns them as a class pool.
        +
        +
        Parameters:
        +
        isLibrary - specifies whether classes should be represented as ProgramClass instances (for + processing) or LibraryClass instances (more compact).
        +
        extraDataEntryReader - Optionally provide a function that wraps the reader in another + reader.
        +
        Returns:
        +
        a new class pool with the read classes.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        read

        +
        public static ClassPool read​(ClassPath classPath,
        +                             java.lang.String classNameFilter,
        +                             boolean android,
        +                             boolean isLibrary,
        +                             boolean initializeKotlinMetadata,
        +                             boolean skipNonPublicLibraryClasses,
        +                             boolean skipNonPublicLibraryClassMembers,
        +                             boolean ignoreStackMapAttributes,
        +                             java.util.function.BiFunction<DataEntryReader,​ClassVisitor,​DataEntryReader> extraDataEntryReader)
        +                      throws java.io.IOException
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        writeJar

        +
        public static void writeJar​(ClassPool programClassPool,
        +                            java.lang.String outputJarFileName)
        +                     throws java.io.IOException
        +
        Writes the classes from the given class pool to a specified jar.
        +
        +
        Parameters:
        +
        programClassPool - the classes to write.
        +
        outputJarFileName - the name of the output jar file.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        writeJar

        +
        public static void writeJar​(ClassPool programClassPool,
        +                            java.lang.String outputJarFileName,
        +                            java.lang.String mainClassName)
        +                     throws java.io.IOException
        +
        Writes the classes from the given class pool to a specified jar.
        +
        +
        Parameters:
        +
        programClassPool - the classes to write.
        +
        outputJarFileName - the name of the output jar file.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/io/util/package-summary.html b/api/proguard/io/util/package-summary.html new file mode 100644 index 000000000..dd39fc8bf --- /dev/null +++ b/api/proguard/io/util/package-summary.html @@ -0,0 +1,170 @@ + + + + + +proguard.io.util (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.io.util

+
+
+
    +
  • + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    ClassPathUtil 
    IOUtil +
    This utility class provides methods to read the classes in jar, zips, aars into a ClassPool and write a ClassPool to a jar.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/io/util/package-tree.html b/api/proguard/io/util/package-tree.html new file mode 100644 index 000000000..d5f740d4b --- /dev/null +++ b/api/proguard/io/util/package-tree.html @@ -0,0 +1,162 @@ + + + + + +proguard.io.util Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.io.util

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/normalize/LargeStringSplitter.html b/api/proguard/normalize/LargeStringSplitter.html new file mode 100644 index 000000000..ba2396f90 --- /dev/null +++ b/api/proguard/normalize/LargeStringSplitter.html @@ -0,0 +1,462 @@ + + + + + +LargeStringSplitter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LargeStringSplitter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.normalize.LargeStringSplitter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/normalize/package-summary.html b/api/proguard/normalize/package-summary.html new file mode 100644 index 000000000..0445cf2b4 --- /dev/null +++ b/api/proguard/normalize/package-summary.html @@ -0,0 +1,166 @@ + + + + + +proguard.normalize (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.normalize

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    LargeStringSplitter +
    This class visitor splits any strings longer than 65535 bytes into smaller strings.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/normalize/package-tree.html b/api/proguard/normalize/package-tree.html new file mode 100644 index 000000000..5cdec61cf --- /dev/null +++ b/api/proguard/normalize/package-tree.html @@ -0,0 +1,161 @@ + + + + + +proguard.normalize Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.normalize

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/preverify/CodePreverifier.html b/api/proguard/preverify/CodePreverifier.html new file mode 100644 index 000000000..89825f002 --- /dev/null +++ b/api/proguard/preverify/CodePreverifier.html @@ -0,0 +1,372 @@ + + + + + +CodePreverifier (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CodePreverifier

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.preverify.CodePreverifier
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    public class CodePreverifier
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor adds preverification information (for Java Micro Edition or for + Java 6 or higher) to the code attributes that it visits.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CodePreverifier

        +
        public CodePreverifier​(boolean microEdition)
        +
        Creates a new CodePreverifier.
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/preverify/CodeSubroutineInliner.html b/api/proguard/preverify/CodeSubroutineInliner.html new file mode 100644 index 000000000..ff5455a2e --- /dev/null +++ b/api/proguard/preverify/CodeSubroutineInliner.html @@ -0,0 +1,482 @@ + + + + + +CodeSubroutineInliner (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CodeSubroutineInliner

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.preverify.CodeSubroutineInliner
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/preverify/package-summary.html b/api/proguard/preverify/package-summary.html new file mode 100644 index 000000000..5603c8a02 --- /dev/null +++ b/api/proguard/preverify/package-summary.html @@ -0,0 +1,173 @@ + + + + + +proguard.preverify (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.preverify

+
+
+
    +
  • + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    CodePreverifier +
    This AttributeVisitor adds preverification information (for Java Micro Edition or for + Java 6 or higher) to the code attributes that it visits.
    +
    CodeSubroutineInliner +
    This AttributeVisitor inlines local subroutines (jsr/ret) in the code attributes that it visits.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/preverify/package-tree.html b/api/proguard/preverify/package-tree.html new file mode 100644 index 000000000..040eb59e4 --- /dev/null +++ b/api/proguard/preverify/package-tree.html @@ -0,0 +1,162 @@ + + + + + +proguard.preverify Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.preverify

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/resources/file/FilePool.html b/api/proguard/resources/file/FilePool.html new file mode 100644 index 000000000..0d9930b8b --- /dev/null +++ b/api/proguard/resources/file/FilePool.html @@ -0,0 +1,375 @@ + + + + + +FilePool (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface FilePool

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    ResourceFilePool
    +
    +
    +
    public interface FilePool
    +
    Interface with methods related to file pools.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and TypeMethodDescription
      ResourceFilegetResourceFile​(java.lang.String fileName) +
      Returns a ResourceFile from this pool, based on its name.
      +
      default voidresourceFileAccept​(java.lang.String fileName, + ResourceFileVisitor resourceFileVisitor) +
      Applies the given ResourceFileVisitor to the instance with the given name, if it is present in + this pool.
      +
      java.util.Set<java.lang.String>resourceFileNames() +
      Returns a Set of all resource file names in this resource file pool.
      +
      default voidresourceFilesAccept​(java.lang.String fileNameFilter, + ResourceFileVisitor resourceFileVisitor) +
      Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filter.
      +
      default voidresourceFilesAccept​(java.util.List<java.lang.String> fileNameFilter, + ResourceFileVisitor resourceFileVisitor) +
      Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filters.
      +
      voidresourceFilesAccept​(ResourceFileVisitor resourceFileVisitor) +
      Applies the given ResourceFileVisitor to all instances in this pool.
      +
      voidresourceFilesAccept​(StringMatcher fileNameFilter, + ResourceFileVisitor resourceFileVisitor) +
      Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filter.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        resourceFileNames

        +
        java.util.Set<java.lang.String> resourceFileNames()
        +
        Returns a Set of all resource file names in this resource file pool.
        +
      • +
      + + + +
        +
      • +

        getResourceFile

        +
        ResourceFile getResourceFile​(java.lang.String fileName)
        +
        Returns a ResourceFile from this pool, based on its name. Returns null if the + instance with the given name is not in the pool.
        +
      • +
      + + + +
        +
      • +

        resourceFilesAccept

        +
        void resourceFilesAccept​(ResourceFileVisitor resourceFileVisitor)
        +
        Applies the given ResourceFileVisitor to all instances in this pool.
        +
      • +
      + + + +
        +
      • +

        resourceFilesAccept

        +
        default void resourceFilesAccept​(java.lang.String fileNameFilter,
        +                                 ResourceFileVisitor resourceFileVisitor)
        +
        Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filter.
        +
      • +
      + + + +
        +
      • +

        resourceFilesAccept

        +
        default void resourceFilesAccept​(java.util.List<java.lang.String> fileNameFilter,
        +                                 ResourceFileVisitor resourceFileVisitor)
        +
        Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filters.
        +
      • +
      + + + +
        +
      • +

        resourceFilesAccept

        +
        void resourceFilesAccept​(StringMatcher fileNameFilter,
        +                         ResourceFileVisitor resourceFileVisitor)
        +
        Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filter.
        +
      • +
      + + + +
        +
      • +

        resourceFileAccept

        +
        default void resourceFileAccept​(java.lang.String fileName,
        +                                ResourceFileVisitor resourceFileVisitor)
        +
        Applies the given ResourceFileVisitor to the instance with the given name, if it is present in + this pool.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/resources/file/ResourceFile.html b/api/proguard/resources/file/ResourceFile.html new file mode 100644 index 000000000..ac1e9d1c4 --- /dev/null +++ b/api/proguard/resources/file/ResourceFile.html @@ -0,0 +1,504 @@ + + + + + +ResourceFile (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ResourceFile

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        fileName

        +
        public java.lang.String fileName
        +
      • +
      + + + +
        +
      • +

        fileSize

        +
        public long fileSize
        +
      • +
      + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ResourceFile

        +
        public ResourceFile​(java.lang.String fileName,
        +                    long fileSize)
        +
        Creates a new ResourceFile.
        +
        +
        Parameters:
        +
        fileName - the name of the resource file.
        +
        fileSize - the size of the resource file.
        +
        +
      • +
      + + + +
        +
      • +

        ResourceFile

        +
        public ResourceFile​(java.lang.String fileName,
        +                    long fileSize,
        +                    int processingFlags)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getFileName

        +
        public java.lang.String getFileName()
        +
        Returns the file name.
        +
      • +
      + + + +
        +
      • +

        getFileSize

        +
        public long getFileSize()
        +
        Returns the file size.
        +
      • +
      + + + + + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/file/ResourceFilePool.html b/api/proguard/resources/file/ResourceFilePool.html new file mode 100644 index 000000000..98cd8cedc --- /dev/null +++ b/api/proguard/resources/file/ResourceFilePool.html @@ -0,0 +1,653 @@ + + + + + +ResourceFilePool (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ResourceFilePool

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.ResourceFilePool
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    FilePool
    +
    +
    +
    public class ResourceFilePool
    +extends java.lang.Object
    +implements FilePool
    +
    This is a set of ResourceFile instances. They can be enumerated or retrieved by name. + They can also be accessed by means of resource file visitors.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      protected java.util.Map<java.lang.String,​ResourceFile>resourceFileMap 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ResourceFilePool() +
      Creates a new empty ResourceFilePool.
      +
      ResourceFilePool​(java.lang.Iterable<? extends ResourceFile> resourceFiles) +
      Creates a new ResourceFilePool with the given resource files.
      +
      ResourceFilePool​(ResourceFile... resourceFiles) +
      Creates a new ResourceFilePool with the given resource files.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddResourceFile​(java.lang.String fileName, + ResourceFile resourceFile) +
      Adds the given ResourceFile with the given name to this pool.
      +
      voidaddResourceFile​(ResourceFile resourceFile) +
      Adds the given ResourceFile to this pool.
      +
      voidclear() +
      Clears the pool.
      +
      ResourceFilegetResourceFile​(java.lang.String fileName) +
      Returns a ResourceFile from this pool, based on its name.
      +
      ResourceFilePoolrefreshedCopy() +
      Returns a ResourceFilePool with the same resource files, but with the keys that correspond to + the names of the resource file instances.
      +
      voidremoveResourceFile​(java.lang.String fileName) +
      Removes the specified ResourceFile from this pool.
      +
      java.util.Set<java.lang.String>resourceFileNames() +
      Returns a Set of all resource file names in this resource file pool.
      +
      voidresourceFilesAccept​(java.lang.String fileNameFilter, + ResourceFileVisitor resourceFileVisitor) +
      Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filter.
      +
      voidresourceFilesAccept​(java.util.List<java.lang.String> fileNameFilter, + ResourceFileVisitor resourceFileVisitor) +
      Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filters.
      +
      voidresourceFilesAccept​(ResourceFileVisitor resourceFileVisitor) +
      Applies the given ResourceFileVisitor to all instances in this pool.
      +
      voidresourceFilesAccept​(StringMatcher fileNameFilter, + ResourceFileVisitor resourceFileVisitor) +
      Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filter.
      +
      intsize() +
      Returns the number of resource files in this pool.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      + +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        resourceFileMap

        +
        protected final java.util.Map<java.lang.String,​ResourceFile> resourceFileMap
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ResourceFilePool

        +
        public ResourceFilePool()
        +
        Creates a new empty ResourceFilePool.
        +
      • +
      + + + +
        +
      • +

        ResourceFilePool

        +
        public ResourceFilePool​(ResourceFile... resourceFiles)
        +
        Creates a new ResourceFilePool with the given resource files.
        +
        +
        Parameters:
        +
        resourceFiles - the resource files to be added.
        +
        +
      • +
      + + + +
        +
      • +

        ResourceFilePool

        +
        public ResourceFilePool​(java.lang.Iterable<? extends ResourceFile> resourceFiles)
        +
        Creates a new ResourceFilePool with the given resource files.
        +
        +
        Parameters:
        +
        resourceFiles - the resource files to be added.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        clear

        +
        public void clear()
        +
        Clears the pool.
        +
      • +
      + + + +
        +
      • +

        addResourceFile

        +
        public void addResourceFile​(ResourceFile resourceFile)
        +
        Adds the given ResourceFile to this pool.
        +
      • +
      + + + +
        +
      • +

        addResourceFile

        +
        public void addResourceFile​(java.lang.String fileName,
        +                            ResourceFile resourceFile)
        +
        Adds the given ResourceFile with the given name to this pool.
        +
      • +
      + + + +
        +
      • +

        removeResourceFile

        +
        public void removeResourceFile​(java.lang.String fileName)
        +
        Removes the specified ResourceFile from this pool.
        +
      • +
      + + + +
        +
      • +

        getResourceFile

        +
        public ResourceFile getResourceFile​(java.lang.String fileName)
        +
        Returns a ResourceFile from this pool, based on its name. Returns null if the + instance with the given name is not in the pool.
        +
        +
        Specified by:
        +
        getResourceFile in interface FilePool
        +
        +
      • +
      + + + +
        +
      • +

        size

        +
        public int size()
        +
        Returns the number of resource files in this pool.
        +
      • +
      + + + +
        +
      • +

        refreshedCopy

        +
        public ResourceFilePool refreshedCopy()
        +
        Returns a ResourceFilePool with the same resource files, but with the keys that correspond to + the names of the resource file instances. This can be useful to create a resource file pool + with obfuscated names.
        +
      • +
      + + + +
        +
      • +

        resourceFileNames

        +
        public java.util.Set<java.lang.String> resourceFileNames()
        +
        Returns a Set of all resource file names in this resource file pool.
        +
        +
        Specified by:
        +
        resourceFileNames in interface FilePool
        +
        +
      • +
      + + + +
        +
      • +

        resourceFilesAccept

        +
        public void resourceFilesAccept​(ResourceFileVisitor resourceFileVisitor)
        +
        Applies the given ResourceFileVisitor to all instances in this pool.
        +
        +
        Specified by:
        +
        resourceFilesAccept in interface FilePool
        +
        +
      • +
      + + + +
        +
      • +

        resourceFilesAccept

        +
        public void resourceFilesAccept​(java.lang.String fileNameFilter,
        +                                ResourceFileVisitor resourceFileVisitor)
        +
        Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filter.
        +
        +
        Specified by:
        +
        resourceFilesAccept in interface FilePool
        +
        +
      • +
      + + + +
        +
      • +

        resourceFilesAccept

        +
        public void resourceFilesAccept​(java.util.List<java.lang.String> fileNameFilter,
        +                                ResourceFileVisitor resourceFileVisitor)
        +
        Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filters.
        +
        +
        Specified by:
        +
        resourceFilesAccept in interface FilePool
        +
        +
      • +
      + + + +
        +
      • +

        resourceFilesAccept

        +
        public void resourceFilesAccept​(StringMatcher fileNameFilter,
        +                                ResourceFileVisitor resourceFileVisitor)
        +
        Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filter.
        +
        +
        Specified by:
        +
        resourceFilesAccept in interface FilePool
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/file/ResourceJavaReference.html b/api/proguard/resources/file/ResourceJavaReference.html new file mode 100644 index 000000000..e8dbe7d24 --- /dev/null +++ b/api/proguard/resources/file/ResourceJavaReference.html @@ -0,0 +1,383 @@ + + + + + +ResourceJavaReference (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ResourceJavaReference

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.ResourceJavaReference
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ResourceJavaReference
    +extends java.lang.Object
    +
    Represents a reference to a Java class from a resource file.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ResourceJavaReference​(java.lang.String externalClassName) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanequals​(java.lang.Object o) 
      inthashCode() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        externalClassName

        +
        public java.lang.String externalClassName
        +
      • +
      + + + +
        +
      • +

        referencedClass

        +
        public Clazz referencedClass
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ResourceJavaReference

        +
        public ResourceJavaReference​(java.lang.String externalClassName)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        equals

        +
        public boolean equals​(java.lang.Object o)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/file/io/ResourceFileDataEntryReader.html b/api/proguard/resources/file/io/ResourceFileDataEntryReader.html new file mode 100644 index 000000000..de54c3a0e --- /dev/null +++ b/api/proguard/resources/file/io/ResourceFileDataEntryReader.html @@ -0,0 +1,345 @@ + + + + + +ResourceFileDataEntryReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ResourceFileDataEntryReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.io.ResourceFileDataEntryReader
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidread​(DataEntry dataEntry) +
      Reads the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ResourceFileDataEntryReader

        +
        public ResourceFileDataEntryReader​(ResourceFileVisitor resourceFileVisitor)
        +
        Creates a new ResourceFileDataEntryReader
        +
      • +
      + + + +
        +
      • +

        ResourceFileDataEntryReader

        +
        public ResourceFileDataEntryReader​(ResourceFileVisitor resourceFileVisitor,
        +                                   DataEntryFilter adaptedDataEntryFilter)
        +
        Creates a new ResourceFileDataEntryReader with the given filter that accepts data entries for + resource files that need to be adapted.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        public void read​(DataEntry dataEntry)
        +          throws java.io.IOException
        +
        Description copied from interface: DataEntryReader
        +
        Reads the given data entry.
        +
        +
        Specified by:
        +
        read in interface DataEntryReader
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/file/io/package-summary.html b/api/proguard/resources/file/io/package-summary.html new file mode 100644 index 000000000..25596d9c9 --- /dev/null +++ b/api/proguard/resources/file/io/package-summary.html @@ -0,0 +1,167 @@ + + + + + +proguard.resources.file.io (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.resources.file.io

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/resources/file/io/package-tree.html b/api/proguard/resources/file/io/package-tree.html new file mode 100644 index 000000000..fd3f6115f --- /dev/null +++ b/api/proguard/resources/file/io/package-tree.html @@ -0,0 +1,161 @@ + + + + + +proguard.resources.file.io Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.resources.file.io

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/resources/file/package-summary.html b/api/proguard/resources/file/package-summary.html new file mode 100644 index 000000000..5a6994ad3 --- /dev/null +++ b/api/proguard/resources/file/package-summary.html @@ -0,0 +1,195 @@ + + + + + +proguard.resources.file (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.resources.file

+
+
+
    +
  • + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    FilePool +
    Interface with methods related to file pools.
    +
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    ResourceFile +
    Representation of a resource file in an application.
    +
    ResourceFilePool +
    This is a set of ResourceFile instances.
    +
    ResourceJavaReference +
    Represents a reference to a Java class from a resource file.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/resources/file/package-tree.html b/api/proguard/resources/file/package-tree.html new file mode 100644 index 000000000..11dd0bdae --- /dev/null +++ b/api/proguard/resources/file/package-tree.html @@ -0,0 +1,177 @@ + + + + + +proguard.resources.file Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.resources.file

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/resources/file/util/FilePoolNameFunction.html b/api/proguard/resources/file/util/FilePoolNameFunction.html new file mode 100644 index 000000000..18dfbac39 --- /dev/null +++ b/api/proguard/resources/file/util/FilePoolNameFunction.html @@ -0,0 +1,363 @@ + + + + + +FilePoolNameFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FilePoolNameFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.util.FilePoolNameFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      FilePoolNameFunction​(FilePool filePool) +
      Creates a new ResourceFileNameFunction based on the given resource file pool.
      +
      FilePoolNameFunction​(FilePool filePool, + java.lang.String defaultResourceFileName) +
      Creates a new ResourceFileNameFunction based on the given resource file pool, with a default + string for resource files that are not in the resource file pool.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FilePoolNameFunction

        +
        public FilePoolNameFunction​(FilePool filePool)
        +
        Creates a new ResourceFileNameFunction based on the given resource file pool.
        +
      • +
      + + + +
        +
      • +

        FilePoolNameFunction

        +
        public FilePoolNameFunction​(FilePool filePool,
        +                            java.lang.String defaultResourceFileName)
        +
        Creates a new ResourceFileNameFunction based on the given resource file pool, with a default + string for resource files that are not in the resource file pool.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/file/util/ResourceFilePoolNameFunction.html b/api/proguard/resources/file/util/ResourceFilePoolNameFunction.html new file mode 100644 index 000000000..809c04f59 --- /dev/null +++ b/api/proguard/resources/file/util/ResourceFilePoolNameFunction.html @@ -0,0 +1,308 @@ + + + + + +ResourceFilePoolNameFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ResourceFilePoolNameFunction

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringFunction
    +
    +
    +
    @Deprecated
    +public class ResourceFilePoolNameFunction
    +extends FilePoolNameFunction
    +
    Deprecated.
    +
    This StringFunction maps resource file names on their (obfuscated) resource file name, as + present on the ResourceFile object in the given resource file pool.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ResourceFilePoolNameFunction​(ResourceFilePool resourceFilePool) +
      Deprecated.
      +
      Creates a new ResourceFilePoolNameFunction based on the given resource file pool.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ResourceFilePoolNameFunction

        +
        public ResourceFilePoolNameFunction​(ResourceFilePool resourceFilePool)
        +
        Deprecated.
        +
        Creates a new ResourceFilePoolNameFunction based on the given resource file pool.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/file/util/package-summary.html b/api/proguard/resources/file/util/package-summary.html new file mode 100644 index 000000000..eec2f288f --- /dev/null +++ b/api/proguard/resources/file/util/package-summary.html @@ -0,0 +1,171 @@ + + + + + +proguard.resources.file.util (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.resources.file.util

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/resources/file/util/package-tree.html b/api/proguard/resources/file/util/package-tree.html new file mode 100644 index 000000000..767f250ce --- /dev/null +++ b/api/proguard/resources/file/util/package-tree.html @@ -0,0 +1,165 @@ + + + + + +proguard.resources.file.util Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.resources.file.util

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/resources/file/visitor/MultiResourceFileVisitor.html b/api/proguard/resources/file/visitor/MultiResourceFileVisitor.html new file mode 100644 index 000000000..cce5472e2 --- /dev/null +++ b/api/proguard/resources/file/visitor/MultiResourceFileVisitor.html @@ -0,0 +1,344 @@ + + + + + +MultiResourceFileVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiResourceFileVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.visitor.MultiResourceFileVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MultiResourceFileVisitor

        +
        public MultiResourceFileVisitor​(ResourceFileVisitor... resourceFileVisitors)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addResourceFileVisitor

        +
        public void addResourceFileVisitor​(ResourceFileVisitor visitor)
        +
      • +
      + + + +
        +
      • +

        visitAnyResourceFile

        +
        public void visitAnyResourceFile​(ResourceFile resourceFile)
        +
        Description copied from interface: ResourceFileVisitor
        +
        Visits any ResourceFile instance. The more specific default implementations of this interface + delegate to this method. + +

        Unlike most other visitor interfaces, this default implementation is empty, because most + implementations only care about one type of resource file.

        +
        +
        Specified by:
        +
        visitAnyResourceFile in interface ResourceFileVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/file/visitor/ResourceFileNameFilter.html b/api/proguard/resources/file/visitor/ResourceFileNameFilter.html new file mode 100644 index 000000000..0ce413474 --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceFileNameFilter.html @@ -0,0 +1,413 @@ + + + + + +ResourceFileNameFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ResourceFileNameFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.visitor.ResourceFileNameFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyResourceFile

        +
        public void visitAnyResourceFile​(ResourceFile resourceFile)
        +
        Description copied from interface: ResourceFileVisitor
        +
        Visits any ResourceFile instance. The more specific default implementations of this interface + delegate to this method. + +

        Unlike most other visitor interfaces, this default implementation is empty, because most + implementations only care about one type of resource file.

        +
        +
        Specified by:
        +
        visitAnyResourceFile in interface ResourceFileVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/file/visitor/ResourceFilePoolFiller.html b/api/proguard/resources/file/visitor/ResourceFilePoolFiller.html new file mode 100644 index 000000000..e6933ae46 --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceFilePoolFiller.html @@ -0,0 +1,336 @@ + + + + + +ResourceFilePoolFiller (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ResourceFilePoolFiller

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.visitor.ResourceFilePoolFiller
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ResourceFilePoolFiller

        +
        public ResourceFilePoolFiller​(ResourceFilePool resourceFilePool)
        +
        Creates a new ResourceFilePoolFiller.
        +
        +
        Parameters:
        +
        resourceFilePool - the file pool to which all visited resource files are added.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyResourceFile

        +
        public void visitAnyResourceFile​(ResourceFile resourceFile)
        +
        Description copied from interface: ResourceFileVisitor
        +
        Visits any ResourceFile instance. The more specific default implementations of this interface + delegate to this method. + +

        Unlike most other visitor interfaces, this default implementation is empty, because most + implementations only care about one type of resource file.

        +
        +
        Specified by:
        +
        visitAnyResourceFile in interface ResourceFileVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/file/visitor/ResourceFilePresenceFilter.html b/api/proguard/resources/file/visitor/ResourceFilePresenceFilter.html new file mode 100644 index 000000000..7faf31f70 --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceFilePresenceFilter.html @@ -0,0 +1,405 @@ + + + + + +ResourceFilePresenceFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ResourceFilePresenceFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.visitor.ResourceFilePresenceFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ResourceFilePresenceFilter

        +
        public ResourceFilePresenceFilter​(FilePool filePool,
        +                                  ResourceFileVisitor presentResourceFileVisitor,
        +                                  ResourceFileVisitor missingResourceFileVisitor)
        +
        Creates a new ResourceFilePresenceFilter.
        +
        +
        Parameters:
        +
        filePool - the ResourceFilePool in which the presence will be tested.
        +
        presentResourceFileVisitor - the ResourceFileVisitor to which visits of + present resource files will be delegated.
        +
        missingResourceFileVisitor - the ResourceFileVisitor to which visits of + missing resource files will be delegated.
        +
        +
      • +
      + + + +
        +
      • +

        ResourceFilePresenceFilter

        +
        @Deprecated
        +public ResourceFilePresenceFilter​(ResourceFilePool resourceFilePool,
        +                                  ResourceFileVisitor presentResourceFileVisitor,
        +                                  ResourceFileVisitor missingResourceFileVisitor)
        +
        Deprecated.
        +
        Creates a new ResourceFilePresenceFilter.
        +
        +
        Parameters:
        +
        resourceFilePool - the ResourceFilePool in which the presence will be tested.
        +
        presentResourceFileVisitor - the ResourceFileVisitor to which visits of + present resource files will be delegated.
        +
        missingResourceFileVisitor - the ResourceFileVisitor to which visits of + missing resource files will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/file/visitor/ResourceFileProcessingFlagFilter.html b/api/proguard/resources/file/visitor/ResourceFileProcessingFlagFilter.html new file mode 100644 index 000000000..a75df123a --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceFileProcessingFlagFilter.html @@ -0,0 +1,343 @@ + + + + + +ResourceFileProcessingFlagFilter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ResourceFileProcessingFlagFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.visitor.ResourceFileProcessingFlagFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ResourceFileVisitor, KotlinModuleVisitor
    +
    +
    +
    public class ResourceFileProcessingFlagFilter
    +extends java.lang.Object
    +implements ResourceFileVisitor
    +
    This ResourceFileVisitor delegates all its visits to a given delegate visitor, but only of the + processing flags of the visited resource file match the given processing flag requirements.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ResourceFileProcessingFlagFilter

        +
        public ResourceFileProcessingFlagFilter​(int requiredSetProcessingFlags,
        +                                        int requiredUnsetProcessingFlags,
        +                                        ResourceFileVisitor acceptedVisitor)
        +
        Creates a new ResourceFileProcessingFlagFilter.
        +
        +
        Parameters:
        +
        requiredSetProcessingFlags - the processing flags that should be set.
        +
        requiredUnsetProcessingFlags - the class processing flags that should be unset.
        +
        acceptedVisitor - the ResourceFileVisitor to which visits will be delegated.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyResourceFile

        +
        public void visitAnyResourceFile​(ResourceFile resourceFile)
        +
        Description copied from interface: ResourceFileVisitor
        +
        Visits any ResourceFile instance. The more specific default implementations of this interface + delegate to this method. + +

        Unlike most other visitor interfaces, this default implementation is empty, because most + implementations only care about one type of resource file.

        +
        +
        Specified by:
        +
        visitAnyResourceFile in interface ResourceFileVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/file/visitor/ResourceFileVisitor.html b/api/proguard/resources/file/visitor/ResourceFileVisitor.html new file mode 100644 index 000000000..9ec326e1d --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceFileVisitor.html @@ -0,0 +1,301 @@ + + + + + +ResourceFileVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface ResourceFileVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyResourceFile

        +
        default void visitAnyResourceFile​(ResourceFile resourceFile)
        +
        Visits any ResourceFile instance. The more specific default implementations of this interface + delegate to this method. + +

        Unlike most other visitor interfaces, this default implementation is empty, because most + implementations only care about one type of resource file.

        +
      • +
      + + + + + + + +
        +
      • +

        visitResourceFile

        +
        default void visitResourceFile​(ResourceFile resourceFile)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/resources/file/visitor/ResourceJavaReferenceClassInitializer.html b/api/proguard/resources/file/visitor/ResourceJavaReferenceClassInitializer.html new file mode 100644 index 000000000..557380b39 --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceJavaReferenceClassInitializer.html @@ -0,0 +1,342 @@ + + + + + +ResourceJavaReferenceClassInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ResourceJavaReferenceClassInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.visitor.ResourceJavaReferenceClassInitializer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/resources/file/visitor/ResourceJavaReferenceCleaner.html b/api/proguard/resources/file/visitor/ResourceJavaReferenceCleaner.html new file mode 100644 index 000000000..5015157f8 --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceJavaReferenceCleaner.html @@ -0,0 +1,322 @@ + + + + + +ResourceJavaReferenceCleaner (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ResourceJavaReferenceCleaner

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.visitor.ResourceJavaReferenceCleaner
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ResourceJavaReferenceCleaner

        +
        public ResourceJavaReferenceCleaner()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/file/visitor/ResourceJavaReferenceCollector.html b/api/proguard/resources/file/visitor/ResourceJavaReferenceCollector.html new file mode 100644 index 000000000..e12b698e7 --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceJavaReferenceCollector.html @@ -0,0 +1,336 @@ + + + + + +ResourceJavaReferenceCollector (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ResourceJavaReferenceCollector

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.visitor.ResourceJavaReferenceCollector
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    DataEntryReader
    +
    +
    +
    public class ResourceJavaReferenceCollector
    +extends java.lang.Object
    +implements DataEntryReader
    +
    This DataEntryReader collects the java references in a resource file and adds them to the + references field.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ResourceJavaReferenceCollector

        +
        public ResourceJavaReferenceCollector()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/file/visitor/package-summary.html b/api/proguard/resources/file/visitor/package-summary.html new file mode 100644 index 000000000..8b8318540 --- /dev/null +++ b/api/proguard/resources/file/visitor/package-summary.html @@ -0,0 +1,233 @@ + + + + + +proguard.resources.file.visitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.resources.file.visitor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/resources/file/visitor/package-tree.html b/api/proguard/resources/file/visitor/package-tree.html new file mode 100644 index 000000000..54b275e17 --- /dev/null +++ b/api/proguard/resources/file/visitor/package-tree.html @@ -0,0 +1,178 @@ + + + + + +proguard.resources.file.visitor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.resources.file.visitor

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/resources/kotlinmodule/KotlinModule.html b/api/proguard/resources/kotlinmodule/KotlinModule.html new file mode 100644 index 000000000..e66c57678 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/KotlinModule.html @@ -0,0 +1,492 @@ + + + + + +KotlinModule (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinModule

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, FeatureNamed, Processable
    +
    +
    +
    public class KotlinModule
    +extends ResourceFile
    +implements Processable
    +
    Represents a Kotlin module file - this file describes the contents of a Kotlin module: which file + facades and which multi-file part classes make up the module. + +

    The name of the module is the filename, excluding the extension (.kotlin_module).

    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        name

        +
        public java.lang.String name
        +
        The module name, as opposed to the fileName which includes the module name. + +

        fileName will be like "META-INF/my_module_name.kotlin_module". + +

        The fileName is fixed to match after obfuscation by KotlinModuleReferenceFixer.

        +
      • +
      + + + + + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinModule

        +
        public KotlinModule​(java.lang.String fileName,
        +                    long fileSize)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/kotlinmodule/KotlinModulePackage.html b/api/proguard/resources/kotlinmodule/KotlinModulePackage.html new file mode 100644 index 000000000..87806115d --- /dev/null +++ b/api/proguard/resources/kotlinmodule/KotlinModulePackage.html @@ -0,0 +1,408 @@ + + + + + +KotlinModulePackage (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinModulePackage

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.kotlinmodule.KotlinModulePackage
    • +
    +
  • +
+
+
    +
  • +
    +
    public class KotlinModulePackage
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        fqName

        +
        public java.lang.String fqName
        +
      • +
      + + + +
        +
      • +

        fileFacadeNames

        +
        public final java.util.List<java.lang.String> fileFacadeNames
        +
      • +
      + + + +
        +
      • +

        multiFileClassParts

        +
        public final java.util.Map<java.lang.String,​java.lang.String> multiFileClassParts
        +
      • +
      + + + + + + + + +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinModulePackage

        +
        public KotlinModulePackage​(java.lang.String fqName,
        +                           java.util.List<java.lang.String> fileFacadeNames,
        +                           java.util.Map<java.lang.String,​java.lang.String> multiFileClassParts)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/kotlinmodule/io/KotlinModuleDataEntryReader.html b/api/proguard/resources/kotlinmodule/io/KotlinModuleDataEntryReader.html new file mode 100644 index 000000000..1b8306d2c --- /dev/null +++ b/api/proguard/resources/kotlinmodule/io/KotlinModuleDataEntryReader.html @@ -0,0 +1,321 @@ + + + + + +KotlinModuleDataEntryReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinModuleDataEntryReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.kotlinmodule.io.KotlinModuleDataEntryReader
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidread​(DataEntry dataEntry) +
      Reads the given data entry.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinModuleDataEntryReader

        +
        public KotlinModuleDataEntryReader​(ResourceFileVisitor resourceFileVisitor)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        read

        +
        public void read​(DataEntry dataEntry)
        +          throws java.io.IOException
        +
        Description copied from interface: DataEntryReader
        +
        Reads the given data entry.
        +
        +
        Specified by:
        +
        read in interface DataEntryReader
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/kotlinmodule/io/KotlinModuleDataEntryWriter.html b/api/proguard/resources/kotlinmodule/io/KotlinModuleDataEntryWriter.html new file mode 100644 index 000000000..459bbee7b --- /dev/null +++ b/api/proguard/resources/kotlinmodule/io/KotlinModuleDataEntryWriter.html @@ -0,0 +1,450 @@ + + + + + +KotlinModuleDataEntryWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinModuleDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.kotlinmodule.io.KotlinModuleDataEntryWriter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclose() +
      Finishes writing all data entries.
      +
      booleancreateDirectory​(DataEntry dataEntry) +
      Creates a directory.
      +
      java.io.OutputStreamcreateOutputStream​(DataEntry dataEntry) +
      Creates a new output stream for writing data.
      +
      voidprintln​(java.io.PrintWriter pw, + java.lang.String prefix) +
      Prints out the structure of the data entry writer.
      +
      booleansameOutputStream​(DataEntry dataEntry1, + DataEntry dataEntry2) +
      Returns whether the two given data entries would result in the same output stream.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createDirectory

        +
        public boolean createDirectory​(DataEntry dataEntry)
        +                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a directory.
        +
        +
        Specified by:
        +
        createDirectory in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the directory is to be created.
        +
        Returns:
        +
        whether the directory has been created.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        sameOutputStream

        +
        public boolean sameOutputStream​(DataEntry dataEntry1,
        +                                DataEntry dataEntry2)
        +                         throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Returns whether the two given data entries would result in the same output stream.
        +
        +
        Specified by:
        +
        sameOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry1 - the first data entry.
        +
        dataEntry2 - the second data entry.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        createOutputStream

        +
        public java.io.OutputStream createOutputStream​(DataEntry dataEntry)
        +                                        throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Creates a new output stream for writing data. The caller is responsible for closing the stream.
        +
        +
        Specified by:
        +
        createOutputStream in interface DataEntryWriter
        +
        Parameters:
        +
        dataEntry - the data entry for which the output stream is to be created.
        +
        Returns:
        +
        the output stream. The stream may be null to indicate that the data entry + should not be written.
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        close

        +
        public void close()
        +           throws java.io.IOException
        +
        Description copied from interface: DataEntryWriter
        +
        Finishes writing all data entries. + +

        Implementations typically create graphs of writers that can split and merge again, possibly + even with cycles. + +

        For splits and merges, implementations need to be idempotent; once closed, subsequent + attempts to close a writer have no effect. If needed, the wrapper NonClosingDataEntryWriter can avoid closing a branch prematurely. + +

        For cycles, implementations must perform any custom behavior, then delegate DataEntryWriter.close() + invocations, and only finally clean up. It is possible that delegates call DataEntryWriter.createOutputStream(DataEntry) while DataEntryWriter.close() is in progress.

        +
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in interface DataEntryWriter
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        println

        +
        public void println​(java.io.PrintWriter pw,
        +                    java.lang.String prefix)
        +
        Description copied from interface: DataEntryWriter
        +
        Prints out the structure of the data entry writer.
        +
        +
        Specified by:
        +
        println in interface DataEntryWriter
        +
        Parameters:
        +
        pw - the print stream to which the structure should be printed.
        +
        prefix - a prefix for every printed line.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/kotlinmodule/io/KotlinModuleReader.html b/api/proguard/resources/kotlinmodule/io/KotlinModuleReader.html new file mode 100644 index 000000000..eca68d6d4 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/io/KotlinModuleReader.html @@ -0,0 +1,338 @@ + + + + + +KotlinModuleReader (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinModuleReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.kotlinmodule.io.KotlinModuleReader
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinModuleReader

        +
        public KotlinModuleReader​(java.io.InputStream inputStream)
        +
      • +
      + + + +
        +
      • +

        KotlinModuleReader

        +
        public KotlinModuleReader​(java.util.function.BiConsumer<KotlinModule,​java.lang.String> errorHandler,
        +                          java.io.InputStream inputStream)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/kotlinmodule/io/KotlinModuleWriter.html b/api/proguard/resources/kotlinmodule/io/KotlinModuleWriter.html new file mode 100644 index 000000000..7f847d384 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/io/KotlinModuleWriter.html @@ -0,0 +1,337 @@ + + + + + +KotlinModuleWriter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinModuleWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.kotlinmodule.io.KotlinModuleWriter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinModuleWriter

        +
        public KotlinModuleWriter​(java.io.OutputStream outputStream)
        +
      • +
      + + + +
        +
      • +

        KotlinModuleWriter

        +
        public KotlinModuleWriter​(java.util.function.BiConsumer<KotlinModule,​java.lang.String> errorHandler,
        +                          java.io.OutputStream outputStream)
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/resources/kotlinmodule/io/package-summary.html b/api/proguard/resources/kotlinmodule/io/package-summary.html new file mode 100644 index 000000000..4808d64ff --- /dev/null +++ b/api/proguard/resources/kotlinmodule/io/package-summary.html @@ -0,0 +1,182 @@ + + + + + +proguard.resources.kotlinmodule.io (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.resources.kotlinmodule.io

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/resources/kotlinmodule/io/package-tree.html b/api/proguard/resources/kotlinmodule/io/package-tree.html new file mode 100644 index 000000000..e80f71fb1 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/io/package-tree.html @@ -0,0 +1,164 @@ + + + + + +proguard.resources.kotlinmodule.io Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.resources.kotlinmodule.io

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/resources/kotlinmodule/package-summary.html b/api/proguard/resources/kotlinmodule/package-summary.html new file mode 100644 index 000000000..9870ad0f3 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/package-summary.html @@ -0,0 +1,171 @@ + + + + + +proguard.resources.kotlinmodule (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.resources.kotlinmodule

+
+
+
    +
  • + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    KotlinModule +
    Represents a Kotlin module file - this file describes the contents of a Kotlin module: which file + facades and which multi-file part classes make up the module.
    +
    KotlinModulePackage 
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/resources/kotlinmodule/package-tree.html b/api/proguard/resources/kotlinmodule/package-tree.html new file mode 100644 index 000000000..ab09aeba3 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/package-tree.html @@ -0,0 +1,174 @@ + + + + + +proguard.resources.kotlinmodule Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.resources.kotlinmodule

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/resources/kotlinmodule/util/KotlinModuleReferenceInitializer.html b/api/proguard/resources/kotlinmodule/util/KotlinModuleReferenceInitializer.html new file mode 100644 index 000000000..534330908 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/util/KotlinModuleReferenceInitializer.html @@ -0,0 +1,345 @@ + + + + + +KotlinModuleReferenceInitializer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinModuleReferenceInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.kotlinmodule.util.KotlinModuleReferenceInitializer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/resources/kotlinmodule/util/package-summary.html b/api/proguard/resources/kotlinmodule/util/package-summary.html new file mode 100644 index 000000000..d644ce529 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/util/package-summary.html @@ -0,0 +1,166 @@ + + + + + +proguard.resources.kotlinmodule.util (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.resources.kotlinmodule.util

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/resources/kotlinmodule/util/package-tree.html b/api/proguard/resources/kotlinmodule/util/package-tree.html new file mode 100644 index 000000000..6a9e82ba0 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/util/package-tree.html @@ -0,0 +1,161 @@ + + + + + +proguard.resources.kotlinmodule.util Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.resources.kotlinmodule.util

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/resources/kotlinmodule/visitor/KotlinMetadataToModuleVisitor.html b/api/proguard/resources/kotlinmodule/visitor/KotlinMetadataToModuleVisitor.html new file mode 100644 index 000000000..7eaa462c7 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/visitor/KotlinMetadataToModuleVisitor.html @@ -0,0 +1,342 @@ + + + + + +KotlinMetadataToModuleVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMetadataToModuleVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.kotlinmodule.visitor.KotlinMetadataToModuleVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/resources/kotlinmodule/visitor/KotlinModulePackageVisitor.html b/api/proguard/resources/kotlinmodule/visitor/KotlinModulePackageVisitor.html new file mode 100644 index 000000000..153e5cc1b --- /dev/null +++ b/api/proguard/resources/kotlinmodule/visitor/KotlinModulePackageVisitor.html @@ -0,0 +1,254 @@ + + + + + +KotlinModulePackageVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinModulePackageVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/resources/kotlinmodule/visitor/KotlinModulePrinter.html b/api/proguard/resources/kotlinmodule/visitor/KotlinModulePrinter.html new file mode 100644 index 000000000..2fbcad3e0 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/visitor/KotlinModulePrinter.html @@ -0,0 +1,358 @@ + + + + + +KotlinModulePrinter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinModulePrinter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.kotlinmodule.visitor.KotlinModulePrinter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/resources/kotlinmodule/visitor/KotlinModuleVisitor.html b/api/proguard/resources/kotlinmodule/visitor/KotlinModuleVisitor.html new file mode 100644 index 000000000..4c355fb6e --- /dev/null +++ b/api/proguard/resources/kotlinmodule/visitor/KotlinModuleVisitor.html @@ -0,0 +1,257 @@ + + + + + +KotlinModuleVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinModuleVisitor

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitKotlinModule

        +
        void visitKotlinModule​(KotlinModule kotlinModule)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/resources/kotlinmodule/visitor/package-summary.html b/api/proguard/resources/kotlinmodule/visitor/package-summary.html new file mode 100644 index 000000000..ad7e7a707 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/visitor/package-summary.html @@ -0,0 +1,191 @@ + + + + + +proguard.resources.kotlinmodule.visitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.resources.kotlinmodule.visitor

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/resources/kotlinmodule/visitor/package-tree.html b/api/proguard/resources/kotlinmodule/visitor/package-tree.html new file mode 100644 index 000000000..8495128f3 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/visitor/package-tree.html @@ -0,0 +1,169 @@ + + + + + +proguard.resources.kotlinmodule.visitor Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.resources.kotlinmodule.visitor

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/util/AndMatcher.html b/api/proguard/util/AndMatcher.html new file mode 100644 index 000000000..46795157d --- /dev/null +++ b/api/proguard/util/AndMatcher.html @@ -0,0 +1,364 @@ + + + + + +AndMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class AndMatcher

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      AndMatcher​(StringMatcher matcher1, + StringMatcher matcher2) +
      Creates a new AndMatcher with the two given string matchers.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      java.lang.Stringprefix() +
      Returns a common prefix of all strings matched by this StringMatcher.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AndMatcher

        +
        public AndMatcher​(StringMatcher matcher1,
        +                  StringMatcher matcher2)
        +
        Creates a new AndMatcher with the two given string matchers.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        prefix

        +
        public java.lang.String prefix()
        +
        Description copied from class: StringMatcher
        +
        Returns a common prefix of all strings matched by this StringMatcher. If the returned + value is null, then this StringMatcher does not match any string.
        +
        +
        Overrides:
        +
        prefix in class StringMatcher
        +
        +
      • +
      + + + +
        +
      • +

        matches

        +
        protected boolean matches​(java.lang.String string,
        +                          int beginOffset,
        +                          int endOffset)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given substring matches.
        +
        +
        Specified by:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/AndNotStringFunction.html b/api/proguard/util/AndNotStringFunction.html new file mode 100644 index 000000000..dd9247dfa --- /dev/null +++ b/api/proguard/util/AndNotStringFunction.html @@ -0,0 +1,341 @@ + + + + + +AndNotStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class AndNotStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.AndNotStringFunction
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringFunction
    +
    +
    +
    public class AndNotStringFunction
    +extends java.lang.Object
    +implements StringFunction
    +
    This StringFunction tests whether the first given StringFunction returns null, + returning the result of the latter function if so, or null otherwise.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AndNotStringFunction

        +
        public AndNotStringFunction​(StringFunction stringFunction1,
        +                            StringFunction stringFunction2)
        +
        Creates a new AndNotStringFunction with the two given string functions.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/AndStringFunction.html b/api/proguard/util/AndStringFunction.html new file mode 100644 index 000000000..6c1f468a6 --- /dev/null +++ b/api/proguard/util/AndStringFunction.html @@ -0,0 +1,341 @@ + + + + + +AndStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class AndStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.AndStringFunction
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringFunction
    +
    +
    +
    public class AndStringFunction
    +extends java.lang.Object
    +implements StringFunction
    +
    This StringFunction tests whether the first given StringFunction returns not + null, returning the result of the latter function if so, or null otherwise.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      AndStringFunction​(StringFunction stringFunction1, + StringFunction stringFunction2) +
      Creates a new AndStringFunction with the two given string functions.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AndStringFunction

        +
        public AndStringFunction​(StringFunction stringFunction1,
        +                         StringFunction stringFunction2)
        +
        Creates a new AndStringFunction with the two given string functions.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ArrayUtil.html b/api/proguard/util/ArrayUtil.html new file mode 100644 index 000000000..b7d0a2cfc --- /dev/null +++ b/api/proguard/util/ArrayUtil.html @@ -0,0 +1,2701 @@ + + + + + +ArrayUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ArrayUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ArrayUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ArrayUtil
    +extends java.lang.Object
    +
    This class contains utility methods operating on arrays.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ArrayUtil() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static byte[]add​(byte[] array, + int size, + byte element) +
      Adds the given element to the given array.
      +
      static char[]add​(char[] array, + int size, + char element) +
      Adds the given element to the given array.
      +
      static double[]add​(double[] array, + int size, + double element) +
      Adds the given element to the given array.
      +
      static float[]add​(float[] array, + int size, + float element) +
      Adds the given element to the given array.
      +
      static int[]add​(int[] array, + int size, + int element) +
      Adds the given element to the given array.
      +
      static long[]add​(long[] array, + int size, + long element) +
      Adds the given element to the given array.
      +
      static short[]add​(short[] array, + int size, + short element) +
      Adds the given element to the given array.
      +
      static <T> T[]add​(T[] array, + int size, + T element) +
      Adds the given element to the given array.
      +
      static <T> T[]cloneOrNull​(T[] array) +
      Returns a shallow copy of the given array, or null if the input is null.
      +
      static intcompare​(boolean[] array1, + int size1, + boolean[] array2, + int size2) +
      Compares the elements of the two given arrays.
      +
      static intcompare​(byte[] array1, + int size1, + byte[] array2, + int size2) +
      Compares the elements of the two given arrays.
      +
      static intcompare​(char[] array1, + int size1, + char[] array2, + int size2) +
      Compares the elements of the two given arrays.
      +
      static intcompare​(double[] array1, + int size1, + double[] array2, + int size2) +
      Compares the elements of the two given arrays.
      +
      static intcompare​(float[] array1, + int size1, + float[] array2, + int size2) +
      Compares the elements of the two given arrays.
      +
      static intcompare​(int[] array1, + int size1, + int[] array2, + int size2) +
      Compares the elements of the two given arrays.
      +
      static intcompare​(long[] array1, + int size1, + long[] array2, + int size2) +
      Compares the elements of the two given arrays.
      +
      static intcompare​(short[] array1, + int size1, + short[] array2, + int size2) +
      Compares the elements of the two given arrays.
      +
      static intcompare​(java.lang.Comparable[] array1, + int size1, + java.lang.Comparable[] array2, + int size2) +
      Compares the elements of the two given arrays.
      +
      static <T> T[]concat​(T[] first, + T[] second) +
      Concatenates two arrays into a single one.
      +
      static boolean[]ensureArraySize​(boolean[] array, + int size, + boolean initialValue) +
      Ensures the given array has a given size.
      +
      static byte[]ensureArraySize​(byte[] array, + int size, + byte initialValue) +
      Ensures the given array has a given size.
      +
      static char[]ensureArraySize​(char[] array, + int size, + char initialValue) +
      Ensures the given array has a given size.
      +
      static double[]ensureArraySize​(double[] array, + int size, + double initialValue) +
      Ensures the given array has a given size.
      +
      static float[]ensureArraySize​(float[] array, + int size, + float initialValue) +
      Ensures the given array has a given size.
      +
      static int[]ensureArraySize​(int[] array, + int size, + int initialValue) +
      Ensures the given array has a given size.
      +
      static long[]ensureArraySize​(long[] array, + int size, + long initialValue) +
      Ensures the given array has a given size.
      +
      static short[]ensureArraySize​(short[] array, + int size, + short initialValue) +
      Ensures the given array has a given size.
      +
      static <T> T[]ensureArraySize​(T[] array, + int size, + T initialValue) +
      Ensures the given array has a given size.
      +
      static booleanequal​(boolean[] array1, + boolean[] array2, + int size) +
      Returns whether the elements of the two given arrays are the same.
      +
      static booleanequal​(byte[] array1, + byte[] array2, + int size) +
      Returns whether the elements of the two given arrays are the same.
      +
      static booleanequal​(char[] array1, + char[] array2, + int size) +
      Returns whether the elements of the two given arrays are the same.
      +
      static booleanequal​(double[] array1, + double[] array2, + int size) +
      Returns whether the elements of the two given arrays are the same.
      +
      static booleanequal​(float[] array1, + float[] array2, + int size) +
      Returns whether the elements of the two given arrays are the same.
      +
      static booleanequal​(int[] array1, + int[] array2, + int size) +
      Returns whether the elements of the two given arrays are the same.
      +
      static booleanequal​(long[] array1, + long[] array2, + int size) +
      Returns whether the elements of the two given arrays are the same.
      +
      static booleanequal​(short[] array1, + short[] array2, + int size) +
      Returns whether the elements of the two given arrays are the same.
      +
      static booleanequal​(java.lang.Object[] array1, + java.lang.Object[] array2, + int size) +
      Returns whether the elements of the two given arrays are the same.
      +
      static booleanequalOrNull​(java.lang.Object[] array1, + java.lang.Object[] array2) +
      Returns whether the elements of the two given arrays are the same, or both arrays are null.
      +
      static booleanequalOrNull​(java.lang.Object[] array1, + java.lang.Object[] array2, + int size) +
      Returns whether the elements of the two given arrays are the same, or both arrays are null.
      +
      static boolean[]extendArray​(boolean[] array, + int size) +
      Ensures the given array has a given size.
      +
      static byte[]extendArray​(byte[] array, + int size) +
      Ensures the given array has a given size.
      +
      static char[]extendArray​(char[] array, + int size) +
      Ensures the given array has a given size.
      +
      static double[]extendArray​(double[] array, + int size) +
      Ensures the given array has a given size.
      +
      static float[]extendArray​(float[] array, + int size) +
      Ensures the given array has a given size.
      +
      static int[]extendArray​(int[] array, + int size) +
      Ensures the given array has a given size.
      +
      static long[]extendArray​(long[] array, + int size) +
      Ensures the given array has a given size.
      +
      static short[]extendArray​(short[] array, + int size) +
      Ensures the given array has a given size.
      +
      static <T> T[]extendArray​(T[] array, + int size) +
      Ensures the given array has a given size.
      +
      static inthashCode​(boolean[] array, + int size) +
      Returns a hash code for the elements of the given array.
      +
      static inthashCode​(byte[] array, + int size) +
      Returns a hash code for the elements of the given array.
      +
      static inthashCode​(char[] array, + int size) +
      Returns a hash code for the elements of the given array.
      +
      static inthashCode​(double[] array, + int size) +
      Returns a hash code for the elements of the given array.
      +
      static inthashCode​(float[] array, + int size) +
      Returns a hash code for the elements of the given array.
      +
      static inthashCode​(int[] array, + int size) +
      Returns a hash code for the elements of the given array.
      +
      static inthashCode​(long[] array, + int size) +
      Returns a hash code for the elements of the given array.
      +
      static inthashCode​(short[] array, + int size) +
      Returns a hash code for the elements of the given array.
      +
      static inthashCode​(java.lang.Object[] array, + int size) +
      Returns a hash code for the elements of the given array.
      +
      static inthashCodeOrNull​(java.lang.Object[] array) +
      Returns a hash code for the elements of the given array, or 0 if it is null.
      +
      static inthashCodeOrNull​(java.lang.Object[] array, + int size) +
      Returns a hash code for the elements of the given array, or 0 if it is null.
      +
      static intindexOf​(boolean[] array, + int size, + boolean value) +
      Returns the index of the given value in the given array.
      +
      static intindexOf​(byte[] array, + int size, + byte value) +
      Returns the index of the given value in the given array.
      +
      static intindexOf​(char[] array, + int size, + char value) +
      Returns the index of the given value in the given array.
      +
      static intindexOf​(double[] array, + int size, + double value) +
      Returns the index of the given value in the given array.
      +
      static intindexOf​(float[] array, + int size, + float value) +
      Returns the index of the given value in the given array.
      +
      static intindexOf​(int[] array, + int size, + int value) +
      Returns the index of the given value in the given array.
      +
      static intindexOf​(long[] array, + int size, + long value) +
      Returns the index of the given value in the given array.
      +
      static intindexOf​(short[] array, + int size, + short value) +
      Returns the index of the given value in the given array.
      +
      static intindexOf​(java.lang.Object[] array, + int size, + java.lang.Object value) +
      Returns the index of the given value in the given array.
      +
      static byte[]insert​(byte[] array, + int size, + int index, + byte element) +
      Inserts the given element in the given array.
      +
      static char[]insert​(char[] array, + int size, + int index, + char element) +
      Inserts the given element in the given array.
      +
      static double[]insert​(double[] array, + int size, + int index, + double element) +
      Inserts the given element in the given array.
      +
      static float[]insert​(float[] array, + int size, + int index, + float element) +
      Inserts the given element in the given array.
      +
      static int[]insert​(int[] array, + int size, + int index, + int element) +
      Inserts the given element in the given array.
      +
      static long[]insert​(long[] array, + int size, + int index, + long element) +
      Inserts the given element in the given array.
      +
      static short[]insert​(short[] array, + int size, + int index, + short element) +
      Inserts the given element in the given array.
      +
      static <T> T[]insert​(T[] array, + int size, + int index, + T element) +
      Inserts the given element in the given array.
      +
      static voidremove​(byte[] array, + int size, + int index) +
      Removes the specified element from the given array.
      +
      static voidremove​(char[] array, + int size, + int index) +
      Removes the specified element from the given array.
      +
      static voidremove​(double[] array, + int size, + int index) +
      Removes the specified element from the given array.
      +
      static voidremove​(float[] array, + int size, + int index) +
      Removes the specified element from the given array.
      +
      static voidremove​(int[] array, + int size, + int index) +
      Removes the specified element from the given array.
      +
      static voidremove​(long[] array, + int size, + int index) +
      Removes the specified element from the given array.
      +
      static voidremove​(short[] array, + int size, + int index) +
      Removes the specified element from the given array.
      +
      static voidremove​(java.lang.Object[] array, + int size, + int index) +
      Removes the specified element from the given array.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ArrayUtil

        +
        public ArrayUtil()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        indexOf

        +
        public static int indexOf​(boolean[] array,
        +                          int size,
        +                          boolean value)
        +
        Returns the index of the given value in the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be checked.
        +
        value - the value to look for.
        +
        Returns:
        +
        the index of the value, or -1 if the value is not present.
        +
        +
      • +
      + + + +
        +
      • +

        indexOf

        +
        public static int indexOf​(byte[] array,
        +                          int size,
        +                          byte value)
        +
        Returns the index of the given value in the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be checked.
        +
        value - the value to look for.
        +
        Returns:
        +
        the index of the value, or -1 if the value is not present.
        +
        +
      • +
      + + + +
        +
      • +

        indexOf

        +
        public static int indexOf​(char[] array,
        +                          int size,
        +                          char value)
        +
        Returns the index of the given value in the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be checked.
        +
        value - the value to look for.
        +
        Returns:
        +
        the index of the value, or -1 if the value is not present.
        +
        +
      • +
      + + + +
        +
      • +

        indexOf

        +
        public static int indexOf​(short[] array,
        +                          int size,
        +                          short value)
        +
        Returns the index of the given value in the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be checked.
        +
        value - the value to look for.
        +
        Returns:
        +
        the index of the value, or -1 if the value is not present.
        +
        +
      • +
      + + + +
        +
      • +

        indexOf

        +
        public static int indexOf​(int[] array,
        +                          int size,
        +                          int value)
        +
        Returns the index of the given value in the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be checked.
        +
        value - the value to look for.
        +
        Returns:
        +
        the index of the value, or -1 if the value is not present.
        +
        +
      • +
      + + + +
        +
      • +

        indexOf

        +
        public static int indexOf​(long[] array,
        +                          int size,
        +                          long value)
        +
        Returns the index of the given value in the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be checked.
        +
        value - the value to look for.
        +
        Returns:
        +
        the index of the value, or -1 if the value is not present.
        +
        +
      • +
      + + + +
        +
      • +

        indexOf

        +
        public static int indexOf​(float[] array,
        +                          int size,
        +                          float value)
        +
        Returns the index of the given value in the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be checked.
        +
        value - the value to look for.
        +
        Returns:
        +
        the index of the value, or -1 if the value is not present.
        +
        +
      • +
      + + + +
        +
      • +

        indexOf

        +
        public static int indexOf​(double[] array,
        +                          int size,
        +                          double value)
        +
        Returns the index of the given value in the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be checked.
        +
        value - the value to look for.
        +
        Returns:
        +
        the index of the value, or -1 if the value is not present.
        +
        +
      • +
      + + + +
        +
      • +

        indexOf

        +
        public static int indexOf​(java.lang.Object[] array,
        +                          int size,
        +                          java.lang.Object value)
        +
        Returns the index of the given value in the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be checked.
        +
        value - the value to look for.
        +
        Returns:
        +
        the index of the value, or -1 if the value is not present.
        +
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public static boolean equal​(boolean[] array1,
        +                            boolean[] array2,
        +                            int size)
        +
        Returns whether the elements of the two given arrays are the same.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        array2 - the second array.
        +
        size - the size of the arrays to be checked.
        +
        Returns:
        +
        whether the elements are the same.
        +
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public static boolean equal​(byte[] array1,
        +                            byte[] array2,
        +                            int size)
        +
        Returns whether the elements of the two given arrays are the same.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        array2 - the second array.
        +
        size - the size of the arrays to be checked.
        +
        Returns:
        +
        whether the elements are the same.
        +
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public static boolean equal​(char[] array1,
        +                            char[] array2,
        +                            int size)
        +
        Returns whether the elements of the two given arrays are the same.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        array2 - the second array.
        +
        size - the size of the arrays to be checked.
        +
        Returns:
        +
        whether the elements are the same.
        +
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public static boolean equal​(short[] array1,
        +                            short[] array2,
        +                            int size)
        +
        Returns whether the elements of the two given arrays are the same.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        array2 - the second array.
        +
        size - the size of the arrays to be checked.
        +
        Returns:
        +
        whether the elements are the same.
        +
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public static boolean equal​(int[] array1,
        +                            int[] array2,
        +                            int size)
        +
        Returns whether the elements of the two given arrays are the same.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        array2 - the second array.
        +
        size - the size of the arrays to be checked.
        +
        Returns:
        +
        whether the elements are the same.
        +
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public static boolean equal​(long[] array1,
        +                            long[] array2,
        +                            int size)
        +
        Returns whether the elements of the two given arrays are the same.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        array2 - the second array.
        +
        size - the size of the arrays to be checked.
        +
        Returns:
        +
        whether the elements are the same.
        +
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public static boolean equal​(float[] array1,
        +                            float[] array2,
        +                            int size)
        +
        Returns whether the elements of the two given arrays are the same.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        array2 - the second array.
        +
        size - the size of the arrays to be checked.
        +
        Returns:
        +
        whether the elements are the same.
        +
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public static boolean equal​(double[] array1,
        +                            double[] array2,
        +                            int size)
        +
        Returns whether the elements of the two given arrays are the same.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        array2 - the second array.
        +
        size - the size of the arrays to be checked.
        +
        Returns:
        +
        whether the elements are the same.
        +
        +
      • +
      + + + +
        +
      • +

        equal

        +
        public static boolean equal​(java.lang.Object[] array1,
        +                            java.lang.Object[] array2,
        +                            int size)
        +
        Returns whether the elements of the two given arrays are the same.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        array2 - the second array.
        +
        size - the size of the arrays to be checked.
        +
        Returns:
        +
        whether the elements are the same.
        +
        +
      • +
      + + + +
        +
      • +

        equalOrNull

        +
        public static boolean equalOrNull​(java.lang.Object[] array1,
        +                                  java.lang.Object[] array2)
        +
        Returns whether the elements of the two given arrays are the same, or both arrays are null.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        array2 - the second array.
        +
        Returns:
        +
        whether the elements are the same.
        +
        +
      • +
      + + + +
        +
      • +

        equalOrNull

        +
        public static boolean equalOrNull​(java.lang.Object[] array1,
        +                                  java.lang.Object[] array2,
        +                                  int size)
        +
        Returns whether the elements of the two given arrays are the same, or both arrays are null.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        array2 - the second array.
        +
        size - the size of the arrays to be checked.
        +
        Returns:
        +
        whether the elements are the same.
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public static int hashCode​(boolean[] array,
        +                           int size)
        +
        Returns a hash code for the elements of the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be taken into account.
        +
        Returns:
        +
        a hash code.
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public static int hashCode​(byte[] array,
        +                           int size)
        +
        Returns a hash code for the elements of the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be taken into account.
        +
        Returns:
        +
        a hash code.
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public static int hashCode​(char[] array,
        +                           int size)
        +
        Returns a hash code for the elements of the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be taken into account.
        +
        Returns:
        +
        a hash code.
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public static int hashCode​(short[] array,
        +                           int size)
        +
        Returns a hash code for the elements of the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be taken into account.
        +
        Returns:
        +
        a hash code.
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public static int hashCode​(int[] array,
        +                           int size)
        +
        Returns a hash code for the elements of the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be taken into account.
        +
        Returns:
        +
        a hash code.
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public static int hashCode​(long[] array,
        +                           int size)
        +
        Returns a hash code for the elements of the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be taken into account.
        +
        Returns:
        +
        a hash code.
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public static int hashCode​(float[] array,
        +                           int size)
        +
        Returns a hash code for the elements of the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be taken into account.
        +
        Returns:
        +
        a hash code.
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public static int hashCode​(double[] array,
        +                           int size)
        +
        Returns a hash code for the elements of the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be taken into account.
        +
        Returns:
        +
        a hash code.
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public static int hashCode​(java.lang.Object[] array,
        +                           int size)
        +
        Returns a hash code for the elements of the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be taken into account.
        +
        Returns:
        +
        a hash code.
        +
        +
      • +
      + + + +
        +
      • +

        hashCodeOrNull

        +
        public static int hashCodeOrNull​(java.lang.Object[] array)
        +
        Returns a hash code for the elements of the given array, or 0 if it is null.
        +
        +
        Parameters:
        +
        array - the array.
        +
        Returns:
        +
        a hash code.
        +
        +
      • +
      + + + +
        +
      • +

        hashCodeOrNull

        +
        public static int hashCodeOrNull​(java.lang.Object[] array,
        +                                 int size)
        +
        Returns a hash code for the elements of the given array, or 0 if it is null.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the size of the array to be taken into account.
        +
        Returns:
        +
        a hash code.
        +
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public static int compare​(boolean[] array1,
        +                          int size1,
        +                          boolean[] array2,
        +                          int size2)
        +
        Compares the elements of the two given arrays.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        size1 - the size of the first array.
        +
        array2 - the second array.
        +
        size2 - the size of the second array.
        +
        Returns:
        +
        0 if all elements are the same, -1 if the first different element in the first array is + smaller than the corresponding element in the second array, or 1 if it is larger.
        +
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public static int compare​(byte[] array1,
        +                          int size1,
        +                          byte[] array2,
        +                          int size2)
        +
        Compares the elements of the two given arrays.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        size1 - the size of the first array.
        +
        array2 - the second array.
        +
        size2 - the size of the second array.
        +
        Returns:
        +
        0 if all elements are the same, -1 if the first different element in the first array is + smaller than the corresponding element in the second array, or 1 if it is larger.
        +
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public static int compare​(char[] array1,
        +                          int size1,
        +                          char[] array2,
        +                          int size2)
        +
        Compares the elements of the two given arrays.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        size1 - the size of the first array.
        +
        array2 - the second array.
        +
        size2 - the size of the second array.
        +
        Returns:
        +
        0 if all elements are the same, -1 if the first different element in the first array is + smaller than the corresponding element in the second array, or 1 if it is larger.
        +
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public static int compare​(short[] array1,
        +                          int size1,
        +                          short[] array2,
        +                          int size2)
        +
        Compares the elements of the two given arrays.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        size1 - the size of the first array.
        +
        array2 - the second array.
        +
        size2 - the size of the second array.
        +
        Returns:
        +
        0 if all elements are the same, -1 if the first different element in the first array is + smaller than the corresponding element in the second array, or 1 if it is larger.
        +
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public static int compare​(int[] array1,
        +                          int size1,
        +                          int[] array2,
        +                          int size2)
        +
        Compares the elements of the two given arrays.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        size1 - the size of the first array.
        +
        array2 - the second array.
        +
        size2 - the size of the second array.
        +
        Returns:
        +
        0 if all elements are the same, -1 if the first different element in the first array is + smaller than the corresponding element in the second array, or 1 if it is larger.
        +
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public static int compare​(long[] array1,
        +                          int size1,
        +                          long[] array2,
        +                          int size2)
        +
        Compares the elements of the two given arrays.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        size1 - the size of the first array.
        +
        array2 - the second array.
        +
        size2 - the size of the second array.
        +
        Returns:
        +
        0 if all elements are the same, -1 if the first different element in the first array is + smaller than the corresponding element in the second array, or 1 if it is larger.
        +
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public static int compare​(float[] array1,
        +                          int size1,
        +                          float[] array2,
        +                          int size2)
        +
        Compares the elements of the two given arrays.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        size1 - the size of the first array.
        +
        array2 - the second array.
        +
        size2 - the size of the second array.
        +
        Returns:
        +
        0 if all elements are the same, -1 if the first different element in the first array is + smaller than the corresponding element in the second array, or 1 if it is larger.
        +
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public static int compare​(double[] array1,
        +                          int size1,
        +                          double[] array2,
        +                          int size2)
        +
        Compares the elements of the two given arrays.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        size1 - the size of the first array.
        +
        array2 - the second array.
        +
        size2 - the size of the second array.
        +
        Returns:
        +
        0 if all elements are the same, -1 if the first different element in the first array is + smaller than the corresponding element in the second array, or 1 if it is larger.
        +
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public static int compare​(java.lang.Comparable[] array1,
        +                          int size1,
        +                          java.lang.Comparable[] array2,
        +                          int size2)
        +
        Compares the elements of the two given arrays.
        +
        +
        Parameters:
        +
        array1 - the first array.
        +
        size1 - the size of the first array.
        +
        array2 - the second array.
        +
        size2 - the size of the second array.
        +
        Returns:
        +
        0 if all elements are the same, -1 if the first different element in the first array is + smaller than the corresponding element in the second array, or 1 if it is larger.
        +
        +
      • +
      + + + + + +
        +
      • +

        cloneOrNull

        +
        public static <T> T[] cloneOrNull​(T[] array)
        +
        Returns a shallow copy of the given array, or null if the input is null.
        +
        +
        Parameters:
        +
        array - the array.
        +
        Returns:
        +
        a shallow copy of the original array, or null if the array is null.
        +
        +
      • +
      + + + +
        +
      • +

        extendArray

        +
        public static boolean[] extendArray​(boolean[] array,
        +                                    int size)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        ensureArraySize

        +
        public static boolean[] ensureArraySize​(boolean[] array,
        +                                        int size,
        +                                        boolean initialValue)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        initialValue - the initial value of the elements.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        add

        +
        public static byte[] add​(byte[] array,
        +                         int size,
        +                         byte element)
        +
        Adds the given element to the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        insert

        +
        public static byte[] insert​(byte[] array,
        +                            int size,
        +                            int index,
        +                            byte element)
        +
        Inserts the given element in the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index at which the element is to be added.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public static void remove​(byte[] array,
        +                          int size,
        +                          int index)
        +
        Removes the specified element from the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index of the element to be removed.
        +
        +
      • +
      + + + +
        +
      • +

        extendArray

        +
        public static byte[] extendArray​(byte[] array,
        +                                 int size)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        ensureArraySize

        +
        public static byte[] ensureArraySize​(byte[] array,
        +                                     int size,
        +                                     byte initialValue)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        initialValue - the initial value of the elements.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        add

        +
        public static char[] add​(char[] array,
        +                         int size,
        +                         char element)
        +
        Adds the given element to the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        insert

        +
        public static char[] insert​(char[] array,
        +                            int size,
        +                            int index,
        +                            char element)
        +
        Inserts the given element in the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index at which the element is to be added.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public static void remove​(char[] array,
        +                          int size,
        +                          int index)
        +
        Removes the specified element from the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index of the element to be removed.
        +
        +
      • +
      + + + +
        +
      • +

        extendArray

        +
        public static char[] extendArray​(char[] array,
        +                                 int size)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        ensureArraySize

        +
        public static char[] ensureArraySize​(char[] array,
        +                                     int size,
        +                                     char initialValue)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        initialValue - the initial value of the elements.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        add

        +
        public static short[] add​(short[] array,
        +                          int size,
        +                          short element)
        +
        Adds the given element to the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        insert

        +
        public static short[] insert​(short[] array,
        +                             int size,
        +                             int index,
        +                             short element)
        +
        Inserts the given element in the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index at which the element is to be added.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public static void remove​(short[] array,
        +                          int size,
        +                          int index)
        +
        Removes the specified element from the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index of the element to be removed.
        +
        +
      • +
      + + + +
        +
      • +

        extendArray

        +
        public static short[] extendArray​(short[] array,
        +                                  int size)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        ensureArraySize

        +
        public static short[] ensureArraySize​(short[] array,
        +                                      int size,
        +                                      short initialValue)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        initialValue - the initial value of the elements.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        add

        +
        public static int[] add​(int[] array,
        +                        int size,
        +                        int element)
        +
        Adds the given element to the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        insert

        +
        public static int[] insert​(int[] array,
        +                           int size,
        +                           int index,
        +                           int element)
        +
        Inserts the given element in the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index at which the element is to be added.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public static void remove​(int[] array,
        +                          int size,
        +                          int index)
        +
        Removes the specified element from the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index of the element to be removed.
        +
        +
      • +
      + + + +
        +
      • +

        extendArray

        +
        public static int[] extendArray​(int[] array,
        +                                int size)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        ensureArraySize

        +
        public static int[] ensureArraySize​(int[] array,
        +                                    int size,
        +                                    int initialValue)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        initialValue - the initial value of the elements.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        add

        +
        public static long[] add​(long[] array,
        +                         int size,
        +                         long element)
        +
        Adds the given element to the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        insert

        +
        public static long[] insert​(long[] array,
        +                            int size,
        +                            int index,
        +                            long element)
        +
        Inserts the given element in the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index at which the element is to be added.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public static void remove​(long[] array,
        +                          int size,
        +                          int index)
        +
        Removes the specified element from the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index of the element to be removed.
        +
        +
      • +
      + + + +
        +
      • +

        extendArray

        +
        public static long[] extendArray​(long[] array,
        +                                 int size)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        ensureArraySize

        +
        public static long[] ensureArraySize​(long[] array,
        +                                     int size,
        +                                     long initialValue)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        initialValue - the initial value of the elements.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        add

        +
        public static float[] add​(float[] array,
        +                          int size,
        +                          float element)
        +
        Adds the given element to the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        insert

        +
        public static float[] insert​(float[] array,
        +                             int size,
        +                             int index,
        +                             float element)
        +
        Inserts the given element in the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index at which the element is to be added.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public static void remove​(float[] array,
        +                          int size,
        +                          int index)
        +
        Removes the specified element from the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index of the element to be removed.
        +
        +
      • +
      + + + +
        +
      • +

        extendArray

        +
        public static float[] extendArray​(float[] array,
        +                                  int size)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        ensureArraySize

        +
        public static float[] ensureArraySize​(float[] array,
        +                                      int size,
        +                                      float initialValue)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        initialValue - the initial value of the elements.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        add

        +
        public static double[] add​(double[] array,
        +                           int size,
        +                           double element)
        +
        Adds the given element to the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        insert

        +
        public static double[] insert​(double[] array,
        +                              int size,
        +                              int index,
        +                              double element)
        +
        Inserts the given element in the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index at which the element is to be added.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public static void remove​(double[] array,
        +                          int size,
        +                          int index)
        +
        Removes the specified element from the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index of the element to be removed.
        +
        +
      • +
      + + + +
        +
      • +

        extendArray

        +
        public static double[] extendArray​(double[] array,
        +                                   int size)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        ensureArraySize

        +
        public static double[] ensureArraySize​(double[] array,
        +                                       int size,
        +                                       double initialValue)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        initialValue - the initial value of the elements.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + + + +
        +
      • +

        add

        +
        public static <T> T[] add​(T[] array,
        +                          int size,
        +                          T element)
        +
        Adds the given element to the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + + + +
        +
      • +

        insert

        +
        public static <T> T[] insert​(T[] array,
        +                             int size,
        +                             int index,
        +                             T element)
        +
        Inserts the given element in the given array. The array is extended if necessary.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index at which the element is to be added.
        +
        element - the element to be added.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + +
        +
      • +

        remove

        +
        public static void remove​(java.lang.Object[] array,
        +                          int size,
        +                          int index)
        +
        Removes the specified element from the given array.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the original size of the array.
        +
        index - the index of the element to be removed.
        +
        +
      • +
      + + + + + +
        +
      • +

        extendArray

        +
        public static <T> T[] extendArray​(T[] array,
        +                                  int size)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + + + +
        +
      • +

        ensureArraySize

        +
        public static <T> T[] ensureArraySize​(T[] array,
        +                                      int size,
        +                                      T initialValue)
        +
        Ensures the given array has a given size.
        +
        +
        Parameters:
        +
        array - the array.
        +
        size - the target size of the array.
        +
        initialValue - the initial value of the elements.
        +
        Returns:
        +
        the original array, or a copy if it had to be extended.
        +
        +
      • +
      + + + + + +
        +
      • +

        concat

        +
        public static <T> T[] concat​(T[] first,
        +                             T[] second)
        +
        Concatenates two arrays into a single one.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/Base64Util.html b/api/proguard/util/Base64Util.html new file mode 100644 index 000000000..8f3946080 --- /dev/null +++ b/api/proguard/util/Base64Util.html @@ -0,0 +1,308 @@ + + + + + +Base64Util (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class Base64Util

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.Base64Util
    • +
    +
  • +
+
+
    +
  • +
    +
    public class Base64Util
    +extends java.lang.Object
    +
    Utility class for Base64 encoding.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Base64Util() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static java.lang.Stringencode​(byte[] bytes) +
      Encodes the given array of bytes as a Base64 string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Base64Util

        +
        public Base64Util()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        encode

        +
        public static java.lang.String encode​(byte[] bytes)
        +
        Encodes the given array of bytes as a Base64 string.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/BasicHierarchyProvider.html b/api/proguard/util/BasicHierarchyProvider.html new file mode 100644 index 000000000..d4fd8fcf1 --- /dev/null +++ b/api/proguard/util/BasicHierarchyProvider.html @@ -0,0 +1,345 @@ + + + + + +BasicHierarchyProvider (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class BasicHierarchyProvider

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.BasicHierarchyProvider
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    HierarchyProvider
    +
    +
    +
    public class BasicHierarchyProvider
    +extends java.lang.Object
    +implements HierarchyProvider
    +
    Basic implementation of HierarchyProvider, walking the class pools every time the + sub-classes of a class are needed. If there is need to compute the hierarchy for a class multiple + times and performance is a concern, rely on an implementation precomputing or caching the class + hierarchy.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      ClazzgetClazz​(java.lang.String className) 
      java.util.Set<java.lang.String>getSubClasses​(java.lang.String className) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BasicHierarchyProvider

        +
        public BasicHierarchyProvider​(ClassPool programClassPool,
        +                              ClassPool libraryClassPool)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getClazz

        +
        public Clazz getClazz​(java.lang.String className)
        +
        +
        Specified by:
        +
        getClazz in interface HierarchyProvider
        +
        Parameters:
        +
        className - name of the Clazz.
        +
        Returns:
        +
        The Clazz object.
        +
        +
      • +
      + + + +
        +
      • +

        getSubClasses

        +
        public java.util.Set<java.lang.String> getSubClasses​(java.lang.String className)
        +
        +
        Specified by:
        +
        getSubClasses in interface HierarchyProvider
        +
        Parameters:
        +
        className - name of the parent Clazz.
        +
        Returns:
        +
        A set of names of the subclasses, not including the parent Clazz's.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/CallGraphWalker.html b/api/proguard/util/CallGraphWalker.html new file mode 100644 index 000000000..481dbd53c --- /dev/null +++ b/api/proguard/util/CallGraphWalker.html @@ -0,0 +1,673 @@ + + + + + +CallGraphWalker (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class CallGraphWalker

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.CallGraphWalker
    • +
    +
  • +
+
+
    +
  • +
    +
    public class CallGraphWalker
    +extends java.lang.Object
    +
    Generic utilities to traverse the call graph.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        MAX_DEPTH_DEFAULT

        +
        public static final int MAX_DEPTH_DEFAULT
        +
        Call graph strands are no longer explored after a maximum distance from the original root.
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      + + + +
        +
      • +

        MAX_WIDTH_DEFAULT

        +
        public static final int MAX_WIDTH_DEFAULT
        +
        Once the call graph reaches a maximum width, no more nodes are added to the worklist of the + next level. E.g. suppose this limit is 5 and we have already discovered the following call + graph: + +
        +     
        +         level2_0 <-- level1_0 <-- root
        +         level2_1 <------|          |
        +         level2_2 <------|          |
        +                                    |
        +         level2_3 <-- level1_1 <----|
        +         level2_4 <------|
        +     
        + 
        + + If level1_1 has any more known predecessors, level 2 of the call graph would have + width 6, which is more than the 5 allowed nodes. Thus, level1_1 is marked as + truncated and its other predecessors are discarded.
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CallGraphWalker

        +
        public CallGraphWalker()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getSuccessors

        +
        public static java.util.Set<MethodSignature> getSuccessors​(CallGraph callGraph,
        +                                                           MethodSignature start,
        +                                                           int maxDepth,
        +                                                           int maxWidth)
        +
        Analogous to Soot's getReachableMethods(): Starting from one particular method, + all methods that are transitively reachable are collected in a single set. The exploration + stops after no more reachable methods have been found, or the reachable call graph exceeds + MAX_DEPTH_DEFAULT and MAX_WIDTH_DEFAULT.
        +
        +
        Parameters:
        +
        callGraph - The CallGraph to use as the basis for this exploration
        +
        start - The method that is to be used as the exploration root
        +
        maxDepth - See MAX_DEPTH_DEFAULT
        +
        maxWidth - See MAX_WIDTH_DEFAULT
        +
        Returns:
        +
        A set of all transitively reachable methods
        +
        +
      • +
      + + + + + + + +
        +
      • +

        getPredecessors

        +
        public static java.util.Set<MethodSignature> getPredecessors​(CallGraph callGraph,
        +                                                             MethodSignature start,
        +                                                             int maxDepth,
        +                                                             int maxWidth)
        +
        Inverse of getSuccessors(CallGraph, MethodSignature): Starting from one particular + method, all methods that can transitively reach it are collected in a single set. The + exploration stops after no more incoming methods have been found, or the inversely-reachable + call graph exceeds MAX_DEPTH_DEFAULT and MAX_WIDTH_DEFAULT.
        +
        +
        Parameters:
        +
        callGraph - The CallGraph to use as the basis for this exploration
        +
        start - The method that is to be used as the exploration root
        +
        maxDepth - See MAX_DEPTH_DEFAULT
        +
        maxWidth - See MAX_WIDTH_DEFAULT
        +
        Returns:
        +
        A set of all methods that can transitively reach the root
        +
        +
      • +
      + + + + + + + +
        +
      • +

        successorPathsAccept

        +
        public static Node successorPathsAccept​(CallGraph callGraph,
        +                                        MethodSignature start,
        +                                        java.util.function.Predicate<Node> handler,
        +                                        int maxDepth,
        +                                        int maxWidth)
        +
        Interactively explore the outgoing call graph (breadth-first) of a specific method. + +

        Outgoing call graph edges are transitively visited, one level of the call graph at a time. + E.g. if we have the following graph: + +

        +     
        +         level2_0 <-- level1_0 <-- root
        +         level2_1 <------|          |
        +         level2_2 <------|          |
        +                                    |
        +         level2_3 <-- level1_1 <----|
        +         level2_4 <------|
        +     
        + 
        + + In this case, level1_0 and level1_1 are visited first, then + level2_* and so on. The user of this method provides a callback that will be executed + for every newly visited path. This handler receives a Node that represents e.g. + level2_1 and contains references to all its predecessors that have been visited in this + particular path. Like this, the user can evaluate the whole call chain that led to any specific + method being reachable from the starting point. Graph limits MAX_DEPTH_DEFAULT and + MAX_WIDTH_DEFAULT are applicable. Any paths that are truncated due to any limit being + reached, are marked with Node.isTruncated + +

        If you are only interested in which methods are reachable from a start method, but do not + care about the individual paths that make this possible, you should use getSuccessors(CallGraph, MethodSignature) instead.

        +
        +
        Parameters:
        +
        callGraph - The CallGraph to use as the basis of this exploration
        +
        start - The method that is to be used as the exploration root
        +
        handler - The callback function that is invoked for newly visited paths. If this returns + false, this specific path is not explored any further, without marking it as truncated.
        +
        maxDepth - See MAX_DEPTH_DEFAULT
        +
        maxWidth - See MAX_WIDTH_DEFAULT
        +
        Returns:
        +
        The Node representing the start method and all its successors
        +
        +
      • +
      + + + +
        +
      • +

        successorPathsAccept

        +
        public static Node successorPathsAccept​(CallGraph callGraph,
        +                                        MethodSignature start,
        +                                        java.util.function.Predicate<Node> handler)
        +
        Like successorPathsAccept(CallGraph, MethodSignature, Predicate, int, int) but using + default values for max depth and max width.
        +
        +
        Parameters:
        +
        callGraph - The CallGraph to use as the basis of this exploration
        +
        start - The method that is to be used as the exploration root
        +
        handler - The callback function that is invoked for newly visited paths. If this returns + false, this specific path is not explored any further, without marking it as truncated.
        +
        Returns:
        +
        The Node representing the start method and all its successors
        +
        +
      • +
      + + + +
        +
      • +

        predecessorPathsAccept

        +
        public static Node predecessorPathsAccept​(CallGraph callGraph,
        +                                          MethodSignature start,
        +                                          java.util.function.Predicate<Node> handler,
        +                                          int maxDepth,
        +                                          int maxWidth)
        +
        Interactively explore the incoming call graph (breadth-first) of a specific method. + +

        Inverse of successorPathsAccept(CallGraph, MethodSignature, Predicate): Explores + all methods that can reach the starting point and notifies the user's handler of newly found + paths.

        +
        +
        Parameters:
        +
        callGraph - The CallGraph to use as the basis of this exploration
        +
        start - The method that is to be used as the exploration root
        +
        handler - The callback function that is invoked for newly visited paths. If this returns + false, this specific path is not explored any further, without marking it as truncated.
        +
        maxDepth - See MAX_DEPTH_DEFAULT
        +
        maxWidth - See MAX_WIDTH_DEFAULT
        +
        Returns:
        +
        The Node representing the start method and all its predecessors
        +
        +
      • +
      + + + +
        +
      • +

        predecessorPathsAccept

        +
        public static Node predecessorPathsAccept​(CallGraph callGraph,
        +                                          MethodSignature start,
        +                                          java.util.function.Predicate<Node> handler)
        +
        Like predecessorPathsAccept(CallGraph, MethodSignature, Predicate, int, int) but using + default values for max depth and max width.
        +
        +
        Parameters:
        +
        callGraph - The CallGraph to use as the basis of this exploration
        +
        start - The method that is to be used as the exploration root
        +
        handler - The callback function that is invoked for newly visited paths. If this returns + false, this specific path is not explored any further, without marking it as truncated.
        +
        Returns:
        +
        The Node representing the start method and all its predecessors
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/CircularIntBuffer.html b/api/proguard/util/CircularIntBuffer.html new file mode 100644 index 000000000..14881d33a --- /dev/null +++ b/api/proguard/util/CircularIntBuffer.html @@ -0,0 +1,362 @@ + + + + + +CircularIntBuffer (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class CircularIntBuffer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.CircularIntBuffer
    • +
    +
  • +
+
+
    +
  • +
    +
    public class CircularIntBuffer
    +extends java.lang.Object
    +
    A circular buffer over the primitive integer type.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      CircularIntBuffer​(int maxSize) +
      Create a new CircularIntBuffer that can grow to a given maxSize.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      intpeek() +
      Get the head value.
      +
      intpeek​(int offset) +
      Get the element at an offset of the head.
      +
      voidpush​(int value) +
      Push a value into the buffer overriding the oldest element when exceeding max size.
      +
      intsize() +
      Get current size of the buffer.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CircularIntBuffer

        +
        public CircularIntBuffer​(int maxSize)
        +
        Create a new CircularIntBuffer that can grow to a given maxSize.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        push

        +
        public void push​(int value)
        +
        Push a value into the buffer overriding the oldest element when exceeding max size.
        +
      • +
      + + + +
        +
      • +

        peek

        +
        public int peek​(int offset)
        +
        Get the element at an offset of the head.
        +
      • +
      + + + +
        +
      • +

        peek

        +
        public int peek()
        +
        Get the head value.
        +
      • +
      + + + +
        +
      • +

        size

        +
        public int size()
        +
        Get current size of the buffer.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ClassNameParser.html b/api/proguard/util/ClassNameParser.html new file mode 100644 index 000000000..e4328c9ea --- /dev/null +++ b/api/proguard/util/ClassNameParser.html @@ -0,0 +1,365 @@ + + + + + +ClassNameParser (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ClassNameParser

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ClassNameParser
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringParser
    +
    +
    +
    public class ClassNameParser
    +extends java.lang.Object
    +implements StringParser
    +
    This StringParser can create StringMatcher instances for regular expressions + matching internal class names (or descriptors containing class names). The regular expressions + can contain the following wildcards: '%' for a single internal primitive type character (V, Z, B, + C, S, I, F, J, or D), '?' for a single regular class name character, '*' for any number of + regular class name characters, '**' for any number of regular class name characters or package + separator characters ('/'), 'L***;' for a single internal type (class name or primitive type, + array or non-array), 'L///;' for any number of internal types (class names and primitive types), + and '' for a reference to an earlier wildcard (n = 1, 2, ...)
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassNameParser() +
      Creates a new ClassNameParser.
      +
      ClassNameParser​(WildcardManager wildcardManager) +
      Creates a new ClassNameParser that supports references to earlier wildcards.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) +
      A main method for testing class name matching.
      +
      StringMatcherparse​(java.lang.String regularExpression) +
      Creates a StringMatcher for the given regular expression.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassNameParser

        +
        public ClassNameParser()
        +
        Creates a new ClassNameParser.
        +
      • +
      + + + +
        +
      • +

        ClassNameParser

        +
        public ClassNameParser​(WildcardManager wildcardManager)
        +
        Creates a new ClassNameParser that supports references to earlier wildcards.
        +
        +
        Parameters:
        +
        wildcardManager - an optional scope for StringMatcher instances that match wildcards.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        parse

        +
        public StringMatcher parse​(java.lang.String regularExpression)
        +
        Description copied from interface: StringParser
        +
        Creates a StringMatcher for the given regular expression.
        +
        +
        Specified by:
        +
        parse in interface StringParser
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        A main method for testing class name matching.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ClassPoolFeatureNameFunction.html b/api/proguard/util/ClassPoolFeatureNameFunction.html new file mode 100644 index 000000000..82d935854 --- /dev/null +++ b/api/proguard/util/ClassPoolFeatureNameFunction.html @@ -0,0 +1,358 @@ + + + + + +ClassPoolFeatureNameFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ClassPoolFeatureNameFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ClassPoolFeatureNameFunction
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringFunction
    +
    +
    +
    public class ClassPoolFeatureNameFunction
    +extends java.lang.Object
    +implements StringFunction
    +
    This StringFunction transforms class names to feature names, based on a given class pool.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ClassPoolFeatureNameFunction​(ClassPool classPool) +
      Creates a new ClassPoolNameFunction based on the given class pool.
      +
      ClassPoolFeatureNameFunction​(ClassPool classPool, + java.lang.String defaultFeatureName) +
      Creates a new ClassPoolNameFunction based on the given class pool, with a default string for + classes that are not in the class pool.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassPoolFeatureNameFunction

        +
        public ClassPoolFeatureNameFunction​(ClassPool classPool)
        +
        Creates a new ClassPoolNameFunction based on the given class pool.
        +
      • +
      + + + +
        +
      • +

        ClassPoolFeatureNameFunction

        +
        public ClassPoolFeatureNameFunction​(ClassPool classPool,
        +                                    java.lang.String defaultFeatureName)
        +
        Creates a new ClassPoolNameFunction based on the given class pool, with a default string for + classes that are not in the class pool.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/CollectionMatcher.html b/api/proguard/util/CollectionMatcher.html new file mode 100644 index 000000000..b5b99aa6b --- /dev/null +++ b/api/proguard/util/CollectionMatcher.html @@ -0,0 +1,374 @@ + + + + + +CollectionMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class CollectionMatcher

+
+
+ +
+
    +
  • +
    +
    public class CollectionMatcher
    +extends StringMatcher
    +
    This matcher tests whether strings match with a String in a given Set.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      CollectionMatcher​(java.lang.String... strings) 
      CollectionMatcher​(java.util.Set<java.lang.String> set) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanmatches​(java.lang.String string) +
      Checks whether the given string matches.
      +
      protected booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CollectionMatcher

        +
        public CollectionMatcher​(java.util.Set<java.lang.String> set)
        +
      • +
      + + + +
        +
      • +

        CollectionMatcher

        +
        public CollectionMatcher​(java.lang.String... strings)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        matches

        +
        public boolean matches​(java.lang.String string)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given string matches.
        +
        +
        Overrides:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        Returns:
        +
        a boolean indicating whether the string matches the criterion.
        +
        +
      • +
      + + + +
        +
      • +

        matches

        +
        protected boolean matches​(java.lang.String string,
        +                          int beginOffset,
        +                          int endOffset)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given substring matches.
        +
        +
        Specified by:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/CollectionParser.html b/api/proguard/util/CollectionParser.html new file mode 100644 index 000000000..dcfa40202 --- /dev/null +++ b/api/proguard/util/CollectionParser.html @@ -0,0 +1,347 @@ + + + + + +CollectionParser (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class CollectionParser

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.CollectionParser
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringParser
    +
    +
    +
    public class CollectionParser
    +extends java.lang.Object
    +implements StringParser
    +
    This StringParser can create a CollectionMatcher instance for regular + expressions. The regular expressions are either presented as a list, or they are interpreted as + comma-separated lists. These lists should contain strings that need to be literally matched + meaning that wildcards, negations,... are not interpreted by the StringParser.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      CollectionParser() +
      Creates a new ListParser that parses individual elements in the comma-separated list with the + given StringParser.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      StringMatcherparse​(java.lang.String regularExpression) +
      Creates a StringMatcher for the given regular expression.
      +
      StringMatcherparse​(java.util.List<java.lang.String> regularExpressions) +
      Creates a StringMatcher for the given regular expression, which can be a list of optionally + negated simple entries.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        CollectionParser

        +
        public CollectionParser()
        +
        Creates a new ListParser that parses individual elements in the comma-separated list with the + given StringParser.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        parse

        +
        public StringMatcher parse​(java.lang.String regularExpression)
        +
        Description copied from interface: StringParser
        +
        Creates a StringMatcher for the given regular expression.
        +
        +
        Specified by:
        +
        parse in interface StringParser
        +
        +
      • +
      + + + +
        +
      • +

        parse

        +
        public StringMatcher parse​(java.util.List<java.lang.String> regularExpressions)
        +
        Creates a StringMatcher for the given regular expression, which can be a list of optionally + negated simple entries. + +

        An empty list results in a StringMatcher that matches any string.

        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ConcatenatingStringFunction.html b/api/proguard/util/ConcatenatingStringFunction.html new file mode 100644 index 000000000..90f7614b5 --- /dev/null +++ b/api/proguard/util/ConcatenatingStringFunction.html @@ -0,0 +1,340 @@ + + + + + +ConcatenatingStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ConcatenatingStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ConcatenatingStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConcatenatingStringFunction

        +
        public ConcatenatingStringFunction​(StringFunction stringFunction1,
        +                                   StringFunction stringFunction2)
        +
        Creates a new ConcatenatingStringFunction with the two given string functions.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ConstantMatcher.html b/api/proguard/util/ConstantMatcher.html new file mode 100644 index 000000000..731b948d8 --- /dev/null +++ b/api/proguard/util/ConstantMatcher.html @@ -0,0 +1,361 @@ + + + + + +ConstantMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ConstantMatcher

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ConstantMatcher​(boolean matches) +
      Creates a new ConstantMatcher that always returns the given result.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      java.lang.Stringprefix() +
      Returns a common prefix of all strings matched by this StringMatcher.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConstantMatcher

        +
        public ConstantMatcher​(boolean matches)
        +
        Creates a new ConstantMatcher that always returns the given result.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        prefix

        +
        public java.lang.String prefix()
        +
        Description copied from class: StringMatcher
        +
        Returns a common prefix of all strings matched by this StringMatcher. If the returned + value is null, then this StringMatcher does not match any string.
        +
        +
        Overrides:
        +
        prefix in class StringMatcher
        +
        +
      • +
      + + + +
        +
      • +

        matches

        +
        protected boolean matches​(java.lang.String string,
        +                          int beginOffset,
        +                          int endOffset)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given substring matches.
        +
        +
        Specified by:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ConstantStringFunction.html b/api/proguard/util/ConstantStringFunction.html new file mode 100644 index 000000000..10e92eb6b --- /dev/null +++ b/api/proguard/util/ConstantStringFunction.html @@ -0,0 +1,338 @@ + + + + + +ConstantStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ConstantStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ConstantStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ConstantStringFunction​(java.lang.String string) +
      Creates a new MapStringFunction based on the given map.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ConstantStringFunction

        +
        public ConstantStringFunction​(java.lang.String string)
        +
        Creates a new MapStringFunction based on the given map.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/Counter.html b/api/proguard/util/Counter.html new file mode 100644 index 000000000..442ebf238 --- /dev/null +++ b/api/proguard/util/Counter.html @@ -0,0 +1,256 @@ + + + + + +Counter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Interface Counter

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getCount

        +
        int getCount()
        +
        Returns the current value of the counter.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/util/EmptyStringMatcher.html b/api/proguard/util/EmptyStringMatcher.html new file mode 100644 index 000000000..8210b1cc0 --- /dev/null +++ b/api/proguard/util/EmptyStringMatcher.html @@ -0,0 +1,335 @@ + + + + + +EmptyStringMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class EmptyStringMatcher

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      EmptyStringMatcher() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        EmptyStringMatcher

        +
        public EmptyStringMatcher()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        matches

        +
        protected boolean matches​(java.lang.String string,
        +                          int beginOffset,
        +                          int endOffset)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given substring matches.
        +
        +
        Specified by:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ExtensionMatcher.html b/api/proguard/util/ExtensionMatcher.html new file mode 100644 index 000000000..8ae2c5236 --- /dev/null +++ b/api/proguard/util/ExtensionMatcher.html @@ -0,0 +1,342 @@ + + + + + +ExtensionMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ExtensionMatcher

+
+
+ +
+
    +
  • +
    +
    public class ExtensionMatcher
    +extends StringMatcher
    +
    This StringMatcher tests whether strings end in a given extension, ignoring its case.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ExtensionMatcher​(java.lang.String extension) +
      Creates a new StringMatcher.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExtensionMatcher

        +
        public ExtensionMatcher​(java.lang.String extension)
        +
        Creates a new StringMatcher.
        +
        +
        Parameters:
        +
        extension - the extension against which strings will be matched.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        matches

        +
        protected boolean matches​(java.lang.String string,
        +                          int beginOffset,
        +                          int endOffset)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given substring matches.
        +
        +
        Specified by:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/FeatureNamed.html b/api/proguard/util/FeatureNamed.html new file mode 100644 index 000000000..e3ca988a1 --- /dev/null +++ b/api/proguard/util/FeatureNamed.html @@ -0,0 +1,345 @@ + + + + + +FeatureNamed (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Interface FeatureNamed

+
+
+
+
    +
  • +
    +
    All Known Subinterfaces:
    +
    Clazz
    +
    +
    +
    All Known Implementing Classes:
    +
    KotlinModule, LibraryClass, ProgramClass, ResourceFile, SimpleFeatureNamedProcessable
    +
    +
    +
    public interface FeatureNamed
    +
    Base interface for entities that are part of a feature, as indicated by a feature name. + +

    The entities can for example be classes and resource files, and the feature can be a dynamic + feature in an Android app. + +

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      voidaddExtraFeatureName​(java.lang.String featureName) +
      Adds the feature name to the set of features this entity is part of.
      +
      java.util.Set<java.lang.String>getExtraFeatureNames() +
      Returns the set of feature names for this entity.
      +
      java.lang.StringgetFeatureName() +
      Returns the feature name for this entity.
      +
      booleanisInFeature​(java.lang.String featureName) +
      Returns whether the entity is part of the given feature.
      +
      voidsetFeatureName​(java.lang.String featureName) +
      Sets the feature name for this entity.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getFeatureName

        +
        java.lang.String getFeatureName()
        +
        Returns the feature name for this entity.
        +
      • +
      + + + +
        +
      • +

        setFeatureName

        +
        void setFeatureName​(java.lang.String featureName)
        +
        Sets the feature name for this entity.
        +
        +
        Parameters:
        +
        featureName - the feature Name to be set.
        +
        +
      • +
      + + + +
        +
      • +

        addExtraFeatureName

        +
        void addExtraFeatureName​(java.lang.String featureName)
        +
        Adds the feature name to the set of features this entity is part of.
        +
        +
        Parameters:
        +
        featureName - the feature name to add.
        +
        +
      • +
      + + + +
        +
      • +

        getExtraFeatureNames

        +
        java.util.Set<java.lang.String> getExtraFeatureNames()
        +
        Returns the set of feature names for this entity.
        +
      • +
      + + + +
        +
      • +

        isInFeature

        +
        boolean isInFeature​(java.lang.String featureName)
        +
        Returns whether the entity is part of the given feature.
        +
        +
        Parameters:
        +
        featureName - the name of the feature to check.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/util/FileNameParser.html b/api/proguard/util/FileNameParser.html new file mode 100644 index 000000000..c39ac1622 --- /dev/null +++ b/api/proguard/util/FileNameParser.html @@ -0,0 +1,362 @@ + + + + + +FileNameParser (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class FileNameParser

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.FileNameParser
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringParser
    +
    +
    +
    public class FileNameParser
    +extends java.lang.Object
    +implements StringParser
    +
    This StringParser can create StringMatcher instances for regular expressions + matching file names. The regular expressions can contain the following wildcards: '?' for a + single regular file name character, '*' for any number of regular file name characters, and '**' + for any number of regular file name characters or directory separator characters (always + including '/').
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      FileNameParser() +
      Creates a new FileNameParser.
      +
      FileNameParser​(WildcardManager wildcardManager) +
      Creates a new FileNameParser that supports references to earlier wildcards.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) +
      A main method for testing file name matching.
      +
      StringMatcherparse​(java.lang.String regularExpression) +
      Creates a StringMatcher for the given regular expression.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FileNameParser

        +
        public FileNameParser()
        +
        Creates a new FileNameParser.
        +
      • +
      + + + +
        +
      • +

        FileNameParser

        +
        public FileNameParser​(WildcardManager wildcardManager)
        +
        Creates a new FileNameParser that supports references to earlier wildcards.
        +
        +
        Parameters:
        +
        wildcardManager - an optional scope for StringMatcher instances that match wildcards.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        parse

        +
        public StringMatcher parse​(java.lang.String regularExpression)
        +
        Description copied from interface: StringParser
        +
        Creates a StringMatcher for the given regular expression.
        +
        +
        Specified by:
        +
        parse in interface StringParser
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        A main method for testing file name matching.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/FilteredStringFunction.html b/api/proguard/util/FilteredStringFunction.html new file mode 100644 index 000000000..c2c061069 --- /dev/null +++ b/api/proguard/util/FilteredStringFunction.html @@ -0,0 +1,357 @@ + + + + + +FilteredStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class FilteredStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.FilteredStringFunction
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringFunction
    +
    +
    +
    public class FilteredStringFunction
    +extends java.lang.Object
    +implements StringFunction
    +
    This StringFunction delegates a given String to one of two other StringFunction + instances, depending on whether it matches the given filter.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String fileName)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/FixedStringMatcher.html b/api/proguard/util/FixedStringMatcher.html new file mode 100644 index 000000000..1354b2518 --- /dev/null +++ b/api/proguard/util/FixedStringMatcher.html @@ -0,0 +1,389 @@ + + + + + +FixedStringMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class FixedStringMatcher

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      FixedStringMatcher​(java.lang.String fixedString) +
      Creates a new FixedStringMatcher.
      +
      FixedStringMatcher​(java.lang.String fixedString, + StringMatcher nextMatcher) +
      Creates a new FixedStringMatcher.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      java.lang.Stringprefix() +
      Returns a common prefix of all strings matched by this StringMatcher.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FixedStringMatcher

        +
        public FixedStringMatcher​(java.lang.String fixedString)
        +
        Creates a new FixedStringMatcher.
        +
        +
        Parameters:
        +
        fixedString - the string to match.
        +
        +
      • +
      + + + +
        +
      • +

        FixedStringMatcher

        +
        public FixedStringMatcher​(java.lang.String fixedString,
        +                          StringMatcher nextMatcher)
        +
        Creates a new FixedStringMatcher.
        +
        +
        Parameters:
        +
        fixedString - the string prefix to match.
        +
        nextMatcher - an optional string matcher to match the remainder of the string.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        prefix

        +
        public java.lang.String prefix()
        +
        Description copied from class: StringMatcher
        +
        Returns a common prefix of all strings matched by this StringMatcher. If the returned + value is null, then this StringMatcher does not match any string.
        +
        +
        Overrides:
        +
        prefix in class StringMatcher
        +
        +
      • +
      + + + +
        +
      • +

        matches

        +
        protected boolean matches​(java.lang.String string,
        +                          int beginOffset,
        +                          int endOffset)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given substring matches.
        +
        +
        Specified by:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/HierarchyProvider.html b/api/proguard/util/HierarchyProvider.html new file mode 100644 index 000000000..0de855772 --- /dev/null +++ b/api/proguard/util/HierarchyProvider.html @@ -0,0 +1,284 @@ + + + + + +HierarchyProvider (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Interface HierarchyProvider

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    BasicHierarchyProvider
    +
    +
    +
    public interface HierarchyProvider
    +
    And interface to be implemented by classes that are able to provide information on the hierarchy + of classes. + +

    For example implementations could simply use a ClassHierarchyTraveler or provide faster access by pre-computing the + class hierarchy.

    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getClazz

        +
        @Nullable
        +@Nullable Clazz getClazz​(java.lang.String className)
        +
        +
        Parameters:
        +
        className - name of the Clazz.
        +
        Returns:
        +
        The Clazz object.
        +
        +
      • +
      + + + +
        +
      • +

        getSubClasses

        +
        java.util.Set<java.lang.String> getSubClasses​(java.lang.String className)
        +
        +
        Parameters:
        +
        className - name of the parent Clazz.
        +
        Returns:
        +
        A set of names of the subclasses, not including the parent Clazz's.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/util/IdentityStringFunction.html b/api/proguard/util/IdentityStringFunction.html new file mode 100644 index 000000000..0fecdeeb5 --- /dev/null +++ b/api/proguard/util/IdentityStringFunction.html @@ -0,0 +1,335 @@ + + + + + +IdentityStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class IdentityStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.IdentityStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        IdentityStringFunction

        +
        public IdentityStringFunction()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ListFunctionParser.html b/api/proguard/util/ListFunctionParser.html new file mode 100644 index 000000000..e5f7a01d6 --- /dev/null +++ b/api/proguard/util/ListFunctionParser.html @@ -0,0 +1,365 @@ + + + + + +ListFunctionParser (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ListFunctionParser

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ListFunctionParser
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringFunctionParser
    +
    +
    +
    public class ListFunctionParser
    +extends java.lang.Object
    +implements StringFunctionParser
    +
    This StringFunctionParser can create StringFunction instances for regular + expressions. The created function returns a String, or null if it doesn't match. The regular + expressions are either presented as a list, or they are interpreted as comma-separated lists, + optionally prefixed with '!' negators. If an entry with a negator matches, a negative match is + returned, without considering any subsequent entries in the list. The creation of StringFunction instances for the entries is delegated to the given StringFunctionParser.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ListFunctionParser​(StringFunctionParser stringFunctionParser) +
      Creates a new ListFunctionParser that parses individual elements in the comma-separated list + with the given StringFunctionParser.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) +
      A main method for testing name matching and replacement.
      +
      StringFunctionparse​(java.lang.String regularExpression) +
      Creates a StringFunction for the given regular expression.
      +
      StringFunctionparse​(java.util.List regularExpressions) +
      Creates a StringFunction for the given regular expression, which can be a list of optionally + negated simple entries.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ListFunctionParser

        +
        public ListFunctionParser​(StringFunctionParser stringFunctionParser)
        +
        Creates a new ListFunctionParser that parses individual elements in the comma-separated list + with the given StringFunctionParser.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        parse

        +
        public StringFunction parse​(java.util.List regularExpressions)
        +
        Creates a StringFunction for the given regular expression, which can be a list of optionally + negated simple entries. + +

        An empty list results in a StringFunction that matches any string.

        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        A main method for testing name matching and replacement.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ListMatcher.html b/api/proguard/util/ListMatcher.html new file mode 100644 index 000000000..9e58212d2 --- /dev/null +++ b/api/proguard/util/ListMatcher.html @@ -0,0 +1,352 @@ + + + + + +ListMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ListMatcher

+
+
+ +
+
    +
  • +
    +
    public class ListMatcher
    +extends StringMatcher
    +
    This StringMatcher tests whether strings match a given list of StringMatcher + instances. The instances are considered sequentially. Each instance in the list can optionally be + negated, meaning that a match makes the entire remaining match fail.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ListMatcher

        +
        public ListMatcher​(StringMatcher... matchers)
        +
      • +
      + + + +
        +
      • +

        ListMatcher

        +
        public ListMatcher​(StringMatcher[] matchers,
        +                   boolean[] negate)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        matches

        +
        protected boolean matches​(java.lang.String string,
        +                          int beginOffset,
        +                          int endOffset)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given substring matches.
        +
        +
        Specified by:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ListParser.html b/api/proguard/util/ListParser.html new file mode 100644 index 000000000..7eb9b16de --- /dev/null +++ b/api/proguard/util/ListParser.html @@ -0,0 +1,368 @@ + + + + + +ListParser (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ListParser

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ListParser
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringParser
    +
    +
    +
    public class ListParser
    +extends java.lang.Object
    +implements StringParser
    +
    This StringParser can create StringMatcher instances for regular expressions. The + regular expressions are either presented as a list, or they are interpreted as comma-separated + lists, optionally prefixed with '!' negators. If an entry with a negator matches, a negative + match is returned, without considering any subsequent entries in the list. The creation of StringMatcher instances for the entries is delegated to the given StringParser. + +

    For example, "*.xml,*.jpg" matches all strings with the given extensions; "!dummy" matches all + strings except "dummy"; "!dummy.xml,*.xml" matches all strings with .xml, except "dummy.xml"; + "special.xml,!*.xml" matches "special.xml" and all other non-.xml strings.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ListParser​(StringParser stringParser) +
      Creates a new ListParser that parses individual elements in the comma-separated list with the + given StringParser.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) +
      A main method for testing name matching.
      +
      StringMatcherparse​(java.lang.String regularExpression) +
      Creates a StringMatcher for the given regular expression.
      +
      StringMatcherparse​(java.util.List regularExpressions) +
      Creates a StringMatcher for the given regular expression, which can be a list of optionally + negated simple entries.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ListParser

        +
        public ListParser​(StringParser stringParser)
        +
        Creates a new ListParser that parses individual elements in the comma-separated list with the + given StringParser.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        parse

        +
        public StringMatcher parse​(java.lang.String regularExpression)
        +
        Description copied from interface: StringParser
        +
        Creates a StringMatcher for the given regular expression.
        +
        +
        Specified by:
        +
        parse in interface StringParser
        +
        +
      • +
      + + + +
        +
      • +

        parse

        +
        public StringMatcher parse​(java.util.List regularExpressions)
        +
        Creates a StringMatcher for the given regular expression, which can be a list of optionally + negated simple entries. + +

        An empty list results in a StringMatcher that matches any string.

        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        A main method for testing name matching.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ListUtil.html b/api/proguard/util/ListUtil.html new file mode 100644 index 000000000..fc2bc3604 --- /dev/null +++ b/api/proguard/util/ListUtil.html @@ -0,0 +1,403 @@ + + + + + +ListUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ListUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ListUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ListUtil
    +extends java.lang.Object
    +
    This class provides some utility methods for working with java.util.List instances.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ListUtil() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static java.util.List<java.lang.String>commaSeparatedList​(java.lang.String string) +
      Creates a List of String objects from the given comma-separated String.
      +
      static java.lang.StringcommaSeparatedString​(java.util.List<java.lang.String> list, + boolean quoteStrings) +
      Creates a comma-separated String from the given List of String objects.
      +
      static <T> java.util.List<T>concatenate​(java.util.List<T> list1, + java.util.List<T> list2) +
      Returns a List instance that contains the elements of the two given List instances.
      +
      static java.util.List<java.lang.String>filter​(java.util.Collection<java.lang.String> list, + StringMatcher filter) +
      Returns the subset of the given list, containing all strings that match the given filter.
      +
      static voidmain​(java.lang.String[] args) 
      static int[]toIntArray​(java.util.List<java.lang.Integer> integerList) +
      Converts a List of Integers to an int array.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ListUtil

        +
        public ListUtil()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        concatenate

        +
        public static <T> java.util.List<T> concatenate​(java.util.List<T> list1,
        +                                                java.util.List<T> list2)
        +
        Returns a List instance that contains the elements of the two given List instances. The + instances may be null. If both instances are null, the result is null too.
        +
      • +
      + + + +
        +
      • +

        filter

        +
        public static java.util.List<java.lang.String> filter​(java.util.Collection<java.lang.String> list,
        +                                                      StringMatcher filter)
        +
        Returns the subset of the given list, containing all strings that match the given filter.
        +
      • +
      + + + +
        +
      • +

        commaSeparatedString

        +
        public static java.lang.String commaSeparatedString​(java.util.List<java.lang.String> list,
        +                                                    boolean quoteStrings)
        +
        Creates a comma-separated String from the given List of String objects.
        +
      • +
      + + + +
        +
      • +

        commaSeparatedList

        +
        public static java.util.List<java.lang.String> commaSeparatedList​(java.lang.String string)
        +
        Creates a List of String objects from the given comma-separated String.
        +
      • +
      + + + +
        +
      • +

        toIntArray

        +
        public static int[] toIntArray​(java.util.List<java.lang.Integer> integerList)
        +
        Converts a List of Integers to an int array.
        +
        +
        Parameters:
        +
        integerList - the List of Integers to convert.
        +
        Returns:
        +
        the corresponding int array.
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/MapStringFunction.html b/api/proguard/util/MapStringFunction.html new file mode 100644 index 000000000..c5dfa7e87 --- /dev/null +++ b/api/proguard/util/MapStringFunction.html @@ -0,0 +1,358 @@ + + + + + +MapStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class MapStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.MapStringFunction
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringFunction
    +
    +
    +
    public class MapStringFunction
    +extends java.lang.Object
    +implements StringFunction
    +
    This StringFunction gets its transformed strings from a given map.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      MapStringFunction​(java.util.Map map) +
      Creates a new MapStringFunction based on the given map.
      +
      MapStringFunction​(java.util.Map map, + java.lang.String defaultString) +
      Creates a new MapStringFunction based on the given map, with a default string for strings that + are not in the map.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MapStringFunction

        +
        public MapStringFunction​(java.util.Map map)
        +
        Creates a new MapStringFunction based on the given map.
        +
      • +
      + + + +
        +
      • +

        MapStringFunction

        +
        public MapStringFunction​(java.util.Map map,
        +                         java.lang.String defaultString)
        +
        Creates a new MapStringFunction based on the given map, with a default string for strings that + are not in the map.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/MatchedStringFunction.html b/api/proguard/util/MatchedStringFunction.html new file mode 100644 index 000000000..e75b0d51c --- /dev/null +++ b/api/proguard/util/MatchedStringFunction.html @@ -0,0 +1,338 @@ + + + + + +MatchedStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class MatchedStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.MatchedStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      MatchedStringFunction​(VariableStringMatcher variableStringMatcher) +
      Creates a new MatchedStringFunction with the given variable string matcher.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MatchedStringFunction

        +
        public MatchedStringFunction​(VariableStringMatcher variableStringMatcher)
        +
        Creates a new MatchedStringFunction with the given variable string matcher.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/MatchedStringMatcher.html b/api/proguard/util/MatchedStringMatcher.html new file mode 100644 index 000000000..a3b341de2 --- /dev/null +++ b/api/proguard/util/MatchedStringMatcher.html @@ -0,0 +1,373 @@ + + + + + +MatchedStringMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class MatchedStringMatcher

+
+
+ +
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      java.lang.Stringprefix() +
      Returns a common prefix of all strings matched by this StringMatcher.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MatchedStringMatcher

        +
        public MatchedStringMatcher​(VariableStringMatcher variableStringMatcher,
        +                            StringMatcher nextMatcher)
        +
        Creates a new MatchedStringMatcher
        +
        +
        Parameters:
        +
        variableStringMatcher - the variable string matcher that can provide the string to match.
        +
        nextMatcher - an optional string matcher to match the remainder of the string.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        prefix

        +
        public java.lang.String prefix()
        +
        Description copied from class: StringMatcher
        +
        Returns a common prefix of all strings matched by this StringMatcher. If the returned + value is null, then this StringMatcher does not match any string.
        +
        +
        Overrides:
        +
        prefix in class StringMatcher
        +
        +
      • +
      + + + +
        +
      • +

        matches

        +
        protected boolean matches​(java.lang.String string,
        +                          int beginOffset,
        +                          int endOffset)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given substring matches.
        +
        +
        Specified by:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/MatchingStringFunction.html b/api/proguard/util/MatchingStringFunction.html new file mode 100644 index 000000000..37cdefcc6 --- /dev/null +++ b/api/proguard/util/MatchingStringFunction.html @@ -0,0 +1,340 @@ + + + + + +MatchingStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class MatchingStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.MatchingStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      MatchingStringFunction​(StringMatcher stringMatcher) +
      Creates a new MatchingStringFunction with the given string matcher.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MatchingStringFunction

        +
        public MatchingStringFunction​(StringMatcher stringMatcher)
        +
        Creates a new MatchingStringFunction with the given string matcher.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/MultiValueMap.html b/api/proguard/util/MultiValueMap.html new file mode 100644 index 000000000..bde61249e --- /dev/null +++ b/api/proguard/util/MultiValueMap.html @@ -0,0 +1,521 @@ + + + + + +MultiValueMap (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class MultiValueMap<K,​V>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.MultiValueMap<K,​V>
    • +
    +
  • +
+
+
    +
  • +
    +
    Type Parameters:
    +
    K - the key type
    +
    V - the value type
    +
    +
    +
    public class MultiValueMap<K,​V>
    +extends java.lang.Object
    +
    A key-values map that can have multiple values associated with each key. + +

    There is an efficient lookup method to retrieve all values of all keys.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      MultiValueMap() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclear() 
      protected java.util.Map<K,​java.util.Set<V>>createKeyMap() 
      protected java.util.Set<V>createValueSet() 
      java.util.Set<java.util.Map.Entry<K,​java.util.Set<V>>>entrySet() 
      java.util.Set<V>get​(K key) 
      java.util.Set<V>getValues() +
      Returns a Set with all values of all keys.
      +
      java.util.Set<K>keySet() 
      voidput​(K key, + V value) 
      voidputAll​(java.util.Set<K> keys, + java.util.Set<V> values) 
      voidputAll​(java.util.Set<K> key, + V value) 
      voidputAll​(K key, + java.util.Set<V> values) 
      booleanremove​(K key, + V value) 
      intsize() 
      java.util.Collection<java.util.Set<V>>values() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MultiValueMap

        +
        public MultiValueMap()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        createValueSet

        +
        protected java.util.Set<V> createValueSet()
        +
      • +
      + + + +
        +
      • +

        createKeyMap

        +
        protected java.util.Map<K,​java.util.Set<V>> createKeyMap()
        +
      • +
      + + + +
        +
      • +

        size

        +
        public int size()
        +
      • +
      + + + +
        +
      • +

        keySet

        +
        public java.util.Set<K> keySet()
        +
      • +
      + + + +
        +
      • +

        values

        +
        public java.util.Collection<java.util.Set<V>> values()
        +
      • +
      + + + +
        +
      • +

        entrySet

        +
        public java.util.Set<java.util.Map.Entry<K,​java.util.Set<V>>> entrySet()
        +
      • +
      + + + + + +
        +
      • +

        put

        +
        public void put​(K key,
        +                V value)
        +
      • +
      + + + + + +
        +
      • +

        putAll

        +
        public void putAll​(java.util.Set<K> key,
        +                   V value)
        +
      • +
      + + + +
        +
      • +

        putAll

        +
        public void putAll​(java.util.Set<K> keys,
        +                   java.util.Set<V> values)
        +
      • +
      + + + + + +
        +
      • +

        putAll

        +
        public void putAll​(K key,
        +                   java.util.Set<V> values)
        +
      • +
      + + + + + +
        +
      • +

        remove

        +
        public boolean remove​(K key,
        +                      V value)
        +
      • +
      + + + + + +
        +
      • +

        get

        +
        public java.util.Set<V> get​(K key)
        +
      • +
      + + + +
        +
      • +

        getValues

        +
        public java.util.Set<V> getValues()
        +
        Returns a Set with all values of all keys.
        +
        +
        Returns:
        +
        a Set with all values of all keys.
        +
        +
      • +
      + + + +
        +
      • +

        clear

        +
        public void clear()
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/NameParser.html b/api/proguard/util/NameParser.html new file mode 100644 index 000000000..d405e6cc7 --- /dev/null +++ b/api/proguard/util/NameParser.html @@ -0,0 +1,363 @@ + + + + + +NameParser (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class NameParser

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.NameParser
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringParser
    +
    +
    +
    public class NameParser
    +extends java.lang.Object
    +implements StringParser
    +
    This StringParser can create StringMatcher instances for regular expressions + matching names. The regular expressions are interpreted as comma-separated lists of names, + optionally prefixed with '!' negators. If a name with a negator matches, a negative match is + returned, without considering any subsequent entries in the list. The regular expressions can + contain the following wildcards: '?' for a single character, '*' for any number of characters, + and '' for a reference to an earlier wildcard (n = 1, 2, ...)
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      NameParser() +
      Creates a new NameParser.
      +
      NameParser​(WildcardManager wildcardManager) +
      Creates a new NameParser that supports references to earlier wildcards.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) +
      A main method for testing name matching.
      +
      StringMatcherparse​(java.lang.String regularExpression) +
      Creates a StringMatcher for the given regular expression.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NameParser

        +
        public NameParser()
        +
        Creates a new NameParser.
        +
      • +
      + + + +
        +
      • +

        NameParser

        +
        public NameParser​(WildcardManager wildcardManager)
        +
        Creates a new NameParser that supports references to earlier wildcards.
        +
        +
        Parameters:
        +
        wildcardManager - an optional scope for StringMatcher instances that match wildcards.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        parse

        +
        public StringMatcher parse​(java.lang.String regularExpression)
        +
        Description copied from interface: StringParser
        +
        Creates a StringMatcher for the given regular expression.
        +
        +
        Specified by:
        +
        parse in interface StringParser
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        A main method for testing name matching.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/NotMatcher.html b/api/proguard/util/NotMatcher.html new file mode 100644 index 000000000..84d1a3877 --- /dev/null +++ b/api/proguard/util/NotMatcher.html @@ -0,0 +1,335 @@ + + + + + +NotMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class NotMatcher

+
+
+ +
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        matches

        +
        protected boolean matches​(java.lang.String string,
        +                          int beginOffset,
        +                          int endOffset)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given substring matches.
        +
        +
        Specified by:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/NotStringFunction.html b/api/proguard/util/NotStringFunction.html new file mode 100644 index 000000000..b09aff030 --- /dev/null +++ b/api/proguard/util/NotStringFunction.html @@ -0,0 +1,339 @@ + + + + + +NotStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class NotStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.NotStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      NotStringFunction​(StringFunction stringFunction) +
      Creates a new NotStringFunction with the two given string functions.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        NotStringFunction

        +
        public NotStringFunction​(StringFunction stringFunction)
        +
        Creates a new NotStringFunction with the two given string functions.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ObjectUtil.html b/api/proguard/util/ObjectUtil.html new file mode 100644 index 000000000..d8c0e7468 --- /dev/null +++ b/api/proguard/util/ObjectUtil.html @@ -0,0 +1,368 @@ + + + + + +ObjectUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ObjectUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ObjectUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ObjectUtil
    +extends java.lang.Object
    +
    This class contains utility methods operating on instances.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      ObjectUtil() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static intcompare​(java.lang.Comparable object1, + java.lang.Comparable object2) +
      Returns a comparison of the two given objects.
      +
      static booleanequal​(java.lang.Object object1, + java.lang.Object object2) +
      Returns whether the given objects are the same.
      +
      static inthashCode​(java.lang.Object object) +
      Returns the hash code of the given object, or 0 if it is null.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ObjectUtil

        +
        public ObjectUtil()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        equal

        +
        public static boolean equal​(java.lang.Object object1,
        +                            java.lang.Object object2)
        +
        Returns whether the given objects are the same.
        +
        +
        Parameters:
        +
        object1 - the first object, may be null.
        +
        object2 - the second object, may be null.
        +
        Returns:
        +
        whether the objects are the same.
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public static int hashCode​(java.lang.Object object)
        +
        Returns the hash code of the given object, or 0 if it is null.
        +
        +
        Parameters:
        +
        object - the object, may be null.
        +
        Returns:
        +
        the hash code.
        +
        +
      • +
      + + + +
        +
      • +

        compare

        +
        public static int compare​(java.lang.Comparable object1,
        +                          java.lang.Comparable object2)
        +
        Returns a comparison of the two given objects.
        +
        +
        Parameters:
        +
        object1 - the first object, may be null.
        +
        object2 - the second object, may be null.
        +
        Returns:
        +
        -1, 0, or 1.
        +
        See Also:
        +
        Comparable.compareTo(Object)
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/OrMatcher.html b/api/proguard/util/OrMatcher.html new file mode 100644 index 000000000..7f65f3987 --- /dev/null +++ b/api/proguard/util/OrMatcher.html @@ -0,0 +1,361 @@ + + + + + +OrMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class OrMatcher

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      OrMatcher​(StringMatcher... matchers) +
      Creates a new OrMatcher with the given string matchers.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      java.lang.Stringprefix() +
      Returns a common prefix of all strings matched by this StringMatcher.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        OrMatcher

        +
        public OrMatcher​(StringMatcher... matchers)
        +
        Creates a new OrMatcher with the given string matchers.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        prefix

        +
        public java.lang.String prefix()
        +
        Description copied from class: StringMatcher
        +
        Returns a common prefix of all strings matched by this StringMatcher. If the returned + value is null, then this StringMatcher does not match any string.
        +
        +
        Overrides:
        +
        prefix in class StringMatcher
        +
        +
      • +
      + + + +
        +
      • +

        matches

        +
        protected boolean matches​(java.lang.String string,
        +                          int beginOffset,
        +                          int endOffset)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given substring matches.
        +
        +
        Specified by:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/OrStringFunction.html b/api/proguard/util/OrStringFunction.html new file mode 100644 index 000000000..86ff3dbb1 --- /dev/null +++ b/api/proguard/util/OrStringFunction.html @@ -0,0 +1,341 @@ + + + + + +OrStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class OrStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.OrStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      OrStringFunction​(StringFunction stringFunction1, + StringFunction stringFunction2) +
      Creates a new AndStringFunction with the two given string functions.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        OrStringFunction

        +
        public OrStringFunction​(StringFunction stringFunction1,
        +                        StringFunction stringFunction2)
        +
        Creates a new AndStringFunction with the two given string functions.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/PartialEvaluatorUtils.html b/api/proguard/util/PartialEvaluatorUtils.html new file mode 100644 index 000000000..50879684b --- /dev/null +++ b/api/proguard/util/PartialEvaluatorUtils.html @@ -0,0 +1,315 @@ + + + + + +PartialEvaluatorUtils (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class PartialEvaluatorUtils

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.PartialEvaluatorUtils
    • +
    +
  • +
+
+
    +
  • +
    +
    public class PartialEvaluatorUtils
    +extends java.lang.Object
    +
    Helper functions to access PartialEvaluator results more conveniently.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static java.lang.ObjectgetIdFromSpecificReferenceValue​(ReferenceValue value) +
      Returns the identifier of a reference value for which Value.isSpecific() is true (i.e., + the reference is identified by a unique number).
      +
      static ValuegetStackBefore​(PartialEvaluator partialEvaluator, + int offset, + int index) +
      Returns the value from the before stack at offset, counting from the top.
      +
      static ValuegetStackValue​(Stack stack, + int indexFromTop) +
      Returns the value from the stack, counting from the top of the stack.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getStackValue

        +
        public static Value getStackValue​(Stack stack,
        +                                  int indexFromTop)
        +
        Returns the value from the stack, counting from the top of the stack. If the stack does not + contain that many elements, returns null.
        +
      • +
      + + + +
        +
      • +

        getStackBefore

        +
        public static Value getStackBefore​(PartialEvaluator partialEvaluator,
        +                                   int offset,
        +                                   int index)
        +
        Returns the value from the before stack at offset, counting from the top. If the stack does not + contain that many elements, returns null.
        +
      • +
      + + + +
        +
      • +

        getIdFromSpecificReferenceValue

        +
        public static java.lang.Object getIdFromSpecificReferenceValue​(ReferenceValue value)
        +
        Returns the identifier of a reference value for which Value.isSpecific() is true (i.e., + the reference is identified by a unique number). + +

        This helper method is needed because IdentifiedReferenceValue and IdentifiedArrayReferenceValue do not share the relevant portion of the class hierarchy, but a + better solution should be implemented in the future.

        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/util/PrefixAddingStringFunction.html b/api/proguard/util/PrefixAddingStringFunction.html new file mode 100644 index 000000000..11429ac80 --- /dev/null +++ b/api/proguard/util/PrefixAddingStringFunction.html @@ -0,0 +1,357 @@ + + + + + +PrefixAddingStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class PrefixAddingStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.PrefixAddingStringFunction
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringFunction
    +
    +
    +
    public class PrefixAddingStringFunction
    +extends java.lang.Object
    +implements StringFunction
    +
    This StringFunction adds a prefix in front of each transformed String.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PrefixAddingStringFunction

        +
        public PrefixAddingStringFunction​(java.lang.String prefix)
        +
        Creates a new PrefixAddingStringFunction.
        +
        +
        Parameters:
        +
        prefix - the prefix to add in front of each string.
        +
        +
      • +
      + + + +
        +
      • +

        PrefixAddingStringFunction

        +
        public PrefixAddingStringFunction​(java.lang.String prefix,
        +                                  StringFunction delegateFunction)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/PrefixRemovingStringFunction.html b/api/proguard/util/PrefixRemovingStringFunction.html new file mode 100644 index 000000000..c3ac04e4f --- /dev/null +++ b/api/proguard/util/PrefixRemovingStringFunction.html @@ -0,0 +1,391 @@ + + + + + +PrefixRemovingStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class PrefixRemovingStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.PrefixRemovingStringFunction
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringFunction
    +
    +
    +
    public class PrefixRemovingStringFunction
    +extends java.lang.Object
    +implements StringFunction
    +
    This StringFunction removes a given prefix from each transformed String, if present.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PrefixRemovingStringFunction

        +
        public PrefixRemovingStringFunction​(java.lang.String prefix)
        +
        Creates a new PrefixRemovingStringFunction.
        +
        +
        Parameters:
        +
        prefix - the prefix to remove from each string.
        +
        +
      • +
      + + + +
        +
      • +

        PrefixRemovingStringFunction

        +
        public PrefixRemovingStringFunction​(java.lang.String prefix,
        +                                    StringFunction stringFunction)
        +
        Creates a new PrefixRemovingStringFunction.
        +
        +
        Parameters:
        +
        prefix - the prefix to remove from each string.
        +
        stringFunction - the function to subsequently apply to all strings.
        +
        +
      • +
      + + + +
        +
      • +

        PrefixRemovingStringFunction

        +
        public PrefixRemovingStringFunction​(java.lang.String prefix,
        +                                    StringFunction successStringFunction,
        +                                    StringFunction failStringFunction)
        +
        Creates a new PrefixRemovingStringFunction.
        +
        +
        Parameters:
        +
        prefix - the prefix to remove from each string.
        +
        successStringFunction - the function to subsequently apply to prefixed strings.
        +
        failStringFunction - the function to subsequently apply to other strings.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/Processable.html b/api/proguard/util/Processable.html new file mode 100644 index 000000000..d05e4ccf5 --- /dev/null +++ b/api/proguard/util/Processable.html @@ -0,0 +1,323 @@ + + + + + +Processable (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Interface Processable

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setProcessingFlags

        +
        void setProcessingFlags​(int processingFlags)
        +
        Sets the processing flags.
        +
      • +
      + + + +
        +
      • +

        getProcessingFlags

        +
        int getProcessingFlags()
        +
        Returns the processing flags.
        +
      • +
      + + + +
        +
      • +

        setProcessingInfo

        +
        void setProcessingInfo​(java.lang.Object processingInfo)
        +
        Sets the processing information.
        +
      • +
      + + + +
        +
      • +

        getProcessingInfo

        +
        java.lang.Object getProcessingInfo()
        +
        Gets the processing information.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/util/ProcessableVisitor.html b/api/proguard/util/ProcessableVisitor.html new file mode 100644 index 000000000..dad23438c --- /dev/null +++ b/api/proguard/util/ProcessableVisitor.html @@ -0,0 +1,421 @@ + + + + + +ProcessableVisitor (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Interface ProcessableVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyProcessable

        +
        default void visitAnyProcessable​(Processable processable)
        +
        Visits any Processable instance. The more specific default implementations of this interface + delegate to this method.
        +
      • +
      + + + +
        +
      • +

        visitAnyClass

        +
        default void visitAnyClass​(Clazz clazz)
        +
        Description copied from interface: ClassVisitor
        +
        Visits any Clazz instance. The more specific default implementations of this interface delegate + to this method.
        +
        +
        Specified by:
        +
        visitAnyClass in interface ClassVisitor
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyMember

        +
        default void visitAnyMember​(Clazz clazz,
        +                            Member member)
        +
        Description copied from interface: MemberVisitor
        +
        Visits any Member instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyMember in interface MemberVisitor
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyAttribute

        +
        default void visitAnyAttribute​(Clazz clazz,
        +                               Attribute attribute)
        +
        Description copied from interface: AttributeVisitor
        +
        Visits any Attribute instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyAttribute in interface AttributeVisitor
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyResourceFile

        +
        default void visitAnyResourceFile​(ResourceFile resourceFile)
        +
        Description copied from interface: ResourceFileVisitor
        +
        Visits any ResourceFile instance. The more specific default implementations of this interface + delegate to this method. + +

        Unlike most other visitor interfaces, this default implementation is empty, because most + implementations only care about one type of resource file.

        +
        +
        Specified by:
        +
        visitAnyResourceFile in interface ResourceFileVisitor
        +
        +
      • +
      + + + +
        +
      • +

        visitAnyConstant

        +
        default void visitAnyConstant​(Clazz clazz,
        +                              Constant constant)
        +
        Description copied from interface: ConstantVisitor
        +
        Visits any Constant instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyConstant in interface ConstantVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/util/ProcessingFlagCleaner.html b/api/proguard/util/ProcessingFlagCleaner.html new file mode 100644 index 000000000..f2346f313 --- /dev/null +++ b/api/proguard/util/ProcessingFlagCleaner.html @@ -0,0 +1,369 @@ + + + + + +ProcessingFlagCleaner (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ProcessingFlagCleaner

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ProcessingFlagCleaner
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ProcessingFlagCleaner

        +
        public ProcessingFlagCleaner​(int processingFlags)
        +
        Creates a new ProcessingFlagCleaner.
        +
        +
        Parameters:
        +
        processingFlags - the processing flags to be set.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyProcessable

        +
        public void visitAnyProcessable​(Processable processable)
        +
        Description copied from interface: ProcessableVisitor
        +
        Visits any Processable instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyProcessable in interface ProcessableVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ProcessingFlagSetter.html b/api/proguard/util/ProcessingFlagSetter.html new file mode 100644 index 000000000..ee63a944f --- /dev/null +++ b/api/proguard/util/ProcessingFlagSetter.html @@ -0,0 +1,369 @@ + + + + + +ProcessingFlagSetter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ProcessingFlagSetter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ProcessingFlagSetter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ProcessingFlagSetter

        +
        public ProcessingFlagSetter​(int processingFlags)
        +
        Creates a new ProcessingFlagSetter.
        +
        +
        Parameters:
        +
        processingFlags - the processing flags to be set.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        visitAnyProcessable

        +
        public void visitAnyProcessable​(Processable processable)
        +
        Description copied from interface: ProcessableVisitor
        +
        Visits any Processable instance. The more specific default implementations of this interface + delegate to this method.
        +
        +
        Specified by:
        +
        visitAnyProcessable in interface ProcessableVisitor
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/ProcessingFlags.html b/api/proguard/util/ProcessingFlags.html new file mode 100644 index 000000000..57efa79a7 --- /dev/null +++ b/api/proguard/util/ProcessingFlags.html @@ -0,0 +1,620 @@ + + + + + +ProcessingFlags (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class ProcessingFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ProcessingFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    public class ProcessingFlags
    +extends java.lang.Object
    +
    Constants used by ProGuard for marking entities (classes, class members, resource files, ...) + during processing.
    +
  • +
+
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/util/SettableMatcher.html b/api/proguard/util/SettableMatcher.html new file mode 100644 index 000000000..7bfbe6d99 --- /dev/null +++ b/api/proguard/util/SettableMatcher.html @@ -0,0 +1,373 @@ + + + + + +SettableMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class SettableMatcher

+
+
+ +
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SettableMatcher() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      java.lang.Stringprefix() +
      Returns a common prefix of all strings matched by this StringMatcher.
      +
      voidsetMatcher​(StringMatcher matcher) 
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SettableMatcher

        +
        public SettableMatcher()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setMatcher

        +
        public void setMatcher​(StringMatcher matcher)
        +
      • +
      + + + +
        +
      • +

        prefix

        +
        public java.lang.String prefix()
        +
        Description copied from class: StringMatcher
        +
        Returns a common prefix of all strings matched by this StringMatcher. If the returned + value is null, then this StringMatcher does not match any string.
        +
        +
        Overrides:
        +
        prefix in class StringMatcher
        +
        +
      • +
      + + + +
        +
      • +

        matches

        +
        protected boolean matches​(java.lang.String string,
        +                          int beginOffset,
        +                          int endOffset)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given substring matches.
        +
        +
        Specified by:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/SimpleFeatureNamedProcessable.html b/api/proguard/util/SimpleFeatureNamedProcessable.html new file mode 100644 index 000000000..ce0042df6 --- /dev/null +++ b/api/proguard/util/SimpleFeatureNamedProcessable.html @@ -0,0 +1,518 @@ + + + + + +SimpleFeatureNamedProcessable (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class SimpleFeatureNamedProcessable

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        featureName

        +
        public java.lang.String featureName
        +
      • +
      + + + +
        +
      • +

        extraFeatureNames

        +
        public java.util.Set<java.lang.String> extraFeatureNames
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SimpleFeatureNamedProcessable

        +
        public SimpleFeatureNamedProcessable()
        +
        Creates an uninitialized SimpleFeatureNamedProcessable.
        +
      • +
      + + + +
        +
      • +

        SimpleFeatureNamedProcessable

        +
        public SimpleFeatureNamedProcessable​(java.lang.String featureName,
        +                                     int processingFlags,
        +                                     java.lang.Object processingInfo)
        +
        Creates an initialized SimpleFeatureNamedProcessable.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getFeatureName

        +
        public java.lang.String getFeatureName()
        +
        Description copied from interface: FeatureNamed
        +
        Returns the feature name for this entity.
        +
        +
        Specified by:
        +
        getFeatureName in interface FeatureNamed
        +
        +
      • +
      + + + +
        +
      • +

        setFeatureName

        +
        public void setFeatureName​(java.lang.String featureName)
        +
        Description copied from interface: FeatureNamed
        +
        Sets the feature name for this entity.
        +
        +
        Specified by:
        +
        setFeatureName in interface FeatureNamed
        +
        Parameters:
        +
        featureName - the feature Name to be set.
        +
        +
      • +
      + + + +
        +
      • +

        addExtraFeatureName

        +
        public void addExtraFeatureName​(java.lang.String featureName)
        +
        Description copied from interface: FeatureNamed
        +
        Adds the feature name to the set of features this entity is part of.
        +
        +
        Specified by:
        +
        addExtraFeatureName in interface FeatureNamed
        +
        Parameters:
        +
        featureName - the feature name to add.
        +
        +
      • +
      + + + +
        +
      • +

        getExtraFeatureNames

        +
        public java.util.Set<java.lang.String> getExtraFeatureNames()
        +
        Description copied from interface: FeatureNamed
        +
        Returns the set of feature names for this entity.
        +
        +
        Specified by:
        +
        getExtraFeatureNames in interface FeatureNamed
        +
        +
      • +
      + + + +
        +
      • +

        isInFeature

        +
        public boolean isInFeature​(java.lang.String featureName)
        +
        Description copied from interface: FeatureNamed
        +
        Returns whether the entity is part of the given feature.
        +
        +
        Specified by:
        +
        isInFeature in interface FeatureNamed
        +
        Parameters:
        +
        featureName - the name of the feature to check.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/SimpleProcessable.html b/api/proguard/util/SimpleProcessable.html new file mode 100644 index 000000000..060a24cf4 --- /dev/null +++ b/api/proguard/util/SimpleProcessable.html @@ -0,0 +1,520 @@ + + + + + +SimpleProcessable (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class SimpleProcessable

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.SimpleProcessable
    • +
    +
  • +
+ +
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SimpleProcessable() +
      Creates an uninitialized SimpleProcessable.
      +
      SimpleProcessable​(int processingFlags, + java.lang.Object processingInfo) +
      Creates an initialized SimpleProcessable.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidaddProcessingFlags​(int... flags) +
      Adds all given flags to this processable.
      +
      intgetProcessingFlags() +
      Returns the processing flags.
      +
      java.lang.ObjectgetProcessingInfo() +
      Gets the processing information.
      +
      booleanhasProcessingFlags​(int... flags) +
      Checks whether all the given flags are set on this processable.
      +
      voidremoveProcessingFlags​(int... flags) +
      Removes all given flags from this processable.
      +
      voidsetProcessingFlags​(int processingFlags) +
      Sets the processing flags.
      +
      voidsetProcessingInfo​(java.lang.Object processingInfo) +
      Sets the processing information.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        processingFlags

        +
        public int processingFlags
        +
      • +
      + + + +
        +
      • +

        processingInfo

        +
        public java.lang.Object processingInfo
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SimpleProcessable

        +
        public SimpleProcessable()
        +
        Creates an uninitialized SimpleProcessable.
        +
      • +
      + + + +
        +
      • +

        SimpleProcessable

        +
        public SimpleProcessable​(int processingFlags,
        +                         java.lang.Object processingInfo)
        +
        Creates an initialized SimpleProcessable.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getProcessingFlags

        +
        public int getProcessingFlags()
        +
        Description copied from interface: Processable
        +
        Returns the processing flags.
        +
        +
        Specified by:
        +
        getProcessingFlags in interface Processable
        +
        +
      • +
      + + + +
        +
      • +

        setProcessingFlags

        +
        public void setProcessingFlags​(int processingFlags)
        +
        Description copied from interface: Processable
        +
        Sets the processing flags.
        +
        +
        Specified by:
        +
        setProcessingFlags in interface Processable
        +
        +
      • +
      + + + +
        +
      • +

        addProcessingFlags

        +
        public void addProcessingFlags​(int... flags)
        +
        Adds all given flags to this processable.
        +
      • +
      + + + +
        +
      • +

        removeProcessingFlags

        +
        public void removeProcessingFlags​(int... flags)
        +
        Removes all given flags from this processable.
        +
      • +
      + + + +
        +
      • +

        hasProcessingFlags

        +
        public boolean hasProcessingFlags​(int... flags)
        +
        Checks whether all the given flags are set on this processable.
        +
      • +
      + + + +
        +
      • +

        getProcessingInfo

        +
        public java.lang.Object getProcessingInfo()
        +
        Description copied from interface: Processable
        +
        Gets the processing information.
        +
        +
        Specified by:
        +
        getProcessingInfo in interface Processable
        +
        +
      • +
      + + + +
        +
      • +

        setProcessingInfo

        +
        public void setProcessingInfo​(java.lang.Object processingInfo)
        +
        Description copied from interface: Processable
        +
        Sets the processing information.
        +
        +
        Specified by:
        +
        setProcessingInfo in interface Processable
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/SingleFunctionParser.html b/api/proguard/util/SingleFunctionParser.html new file mode 100644 index 000000000..d9f2c80da --- /dev/null +++ b/api/proguard/util/SingleFunctionParser.html @@ -0,0 +1,341 @@ + + + + + +SingleFunctionParser (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class SingleFunctionParser

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.SingleFunctionParser
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidmain​(java.lang.String[] args) +
      A main method for testing name matching and replacement.
      +
      StringFunctionparse​(java.lang.String regularExpression) +
      Creates a StringFunction for the given regular expression.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SingleFunctionParser

        +
        public SingleFunctionParser​(StringParser stringParser,
        +                            WildcardManager wildcardManager)
        +
        Creates a new SingleFunctionParser.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + + + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        A main method for testing name matching and replacement.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/StringFunction.html b/api/proguard/util/StringFunction.html new file mode 100644 index 000000000..e9006c9b7 --- /dev/null +++ b/api/proguard/util/StringFunction.html @@ -0,0 +1,301 @@ + + + + + +StringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Interface StringFunction

+
+
+ +
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      static StringFunctionIDENTITY_FUNCTION +
      A StringFunction that returns the given string.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        IDENTITY_FUNCTION

        +
        static final StringFunction IDENTITY_FUNCTION
        +
        A StringFunction that returns the given string.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        java.lang.String transform​(java.lang.String string)
        +
        Transforms the given string into a new string.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/StringFunctionParser.html b/api/proguard/util/StringFunctionParser.html new file mode 100644 index 000000000..1dc183266 --- /dev/null +++ b/api/proguard/util/StringFunctionParser.html @@ -0,0 +1,257 @@ + + + + + +StringFunctionParser (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Interface StringFunctionParser

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        parse

        +
        StringFunction parse​(java.lang.String regularExpression)
        +
        Creates a StringFunction for the given regular expression.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/util/StringMatcher.html b/api/proguard/util/StringMatcher.html new file mode 100644 index 000000000..29fe0e596 --- /dev/null +++ b/api/proguard/util/StringMatcher.html @@ -0,0 +1,366 @@ + + + + + +StringMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class StringMatcher

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.StringMatcher
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      StringMatcher() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanmatches​(java.lang.String string) +
      Checks whether the given string matches.
      +
      protected abstract booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      java.lang.Stringprefix() +
      Returns a common prefix of all strings matched by this StringMatcher.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StringMatcher

        +
        public StringMatcher()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        matches

        +
        public boolean matches​(java.lang.String string)
        +
        Checks whether the given string matches.
        +
        +
        Parameters:
        +
        string - the string to match.
        +
        Returns:
        +
        a boolean indicating whether the string matches the criterion.
        +
        +
      • +
      + + + +
        +
      • +

        prefix

        +
        public java.lang.String prefix()
        +
        Returns a common prefix of all strings matched by this StringMatcher. If the returned + value is null, then this StringMatcher does not match any string.
        +
      • +
      + + + +
        +
      • +

        matches

        +
        protected abstract boolean matches​(java.lang.String string,
        +                                   int beginOffset,
        +                                   int endOffset)
        +
        Checks whether the given substring matches.
        +
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/StringParser.html b/api/proguard/util/StringParser.html new file mode 100644 index 000000000..5fbdbe1d1 --- /dev/null +++ b/api/proguard/util/StringParser.html @@ -0,0 +1,257 @@ + + + + + +StringParser (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Interface StringParser

+
+
+
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        parse

        +
        StringMatcher parse​(java.lang.String regularExpression)
        +
        Creates a StringMatcher for the given regular expression.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/util/StringUtil.html b/api/proguard/util/StringUtil.html new file mode 100644 index 000000000..156d3db95 --- /dev/null +++ b/api/proguard/util/StringUtil.html @@ -0,0 +1,465 @@ + + + + + +StringUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class StringUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.StringUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class StringUtil
    +extends java.lang.Object
    +
    This class contains utility methods for strings.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      StringUtil() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static java.lang.StringescapeControlCharacters​(java.lang.String input) +
      Escapes control characters (\n, \r, \b, \t, \f).
      +
      static byte[]getModifiedUtf8Bytes​(java.lang.String string) +
      Returns the modified UTF-8 byte array representation of the given string.
      +
      static intgetModifiedUtf8Length​(java.lang.String string) +
      Returns the length of the modified UTF-8 byte array representation of the given string.
      +
      static java.lang.StringgetString​(byte[] modifiedUtf8Bytes) +
      Returns the String representation of the given modified UTF-8 byte array.
      +
      static java.lang.StringgetString​(byte[] modifiedUtf8Bytes, + int startIndex, + int endIndex) +
      Returns the String representation of the given modified UTF-8 byte array.
      +
      static java.lang.Stringjoin​(java.lang.String separator, + java.lang.String... strings) +
      Joins the given strings using the provided separator.
      +
      static java.lang.StringlistToString​(java.util.List<java.lang.String> stringList) +
      Converts a List of Strings to a nicely readable format.
      +
      static java.lang.StringtoHexString​(byte[] bytes) +
      Returns the hexadecimal representation of the given byte array.
      +
      static java.lang.StringtoHexString​(byte[] bytes, + java.lang.String separator, + boolean upperCase) +
      Returns the hexadecimal representation of the given byte array.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StringUtil

        +
        public StringUtil()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getModifiedUtf8Length

        +
        public static int getModifiedUtf8Length​(java.lang.String string)
        +
        Returns the length of the modified UTF-8 byte array representation of the given string.
        +
      • +
      + + + +
        +
      • +

        getModifiedUtf8Bytes

        +
        public static byte[] getModifiedUtf8Bytes​(java.lang.String string)
        +
        Returns the modified UTF-8 byte array representation of the given string. + +

        Note: surrogate pairs are encoded separately as three byte values as requested by the + modified UTF-8 specification. This method is suited for encoding strings stored in class files, + dex files or native libraries.

        +
      • +
      + + + +
        +
      • +

        getString

        +
        public static java.lang.String getString​(byte[] modifiedUtf8Bytes)
        +
        Returns the String representation of the given modified UTF-8 byte array.
        +
      • +
      + + + +
        +
      • +

        getString

        +
        public static java.lang.String getString​(byte[] modifiedUtf8Bytes,
        +                                         int startIndex,
        +                                         int endIndex)
        +
        Returns the String representation of the given modified UTF-8 byte array.
        +
      • +
      + + + +
        +
      • +

        join

        +
        public static java.lang.String join​(java.lang.String separator,
        +                                    java.lang.String... strings)
        +
        Joins the given strings using the provided separator.
        +
        +
        Parameters:
        +
        separator - The separator to use.
        +
        strings - The strings to join.
        +
        Returns:
        +
        The input strings, concatenated together using the separator
        +
        +
      • +
      + + + +
        +
      • +

        toHexString

        +
        public static java.lang.String toHexString​(byte[] bytes)
        +
        Returns the hexadecimal representation of the given byte array.
        +
      • +
      + + + +
        +
      • +

        toHexString

        +
        public static java.lang.String toHexString​(byte[] bytes,
        +                                           java.lang.String separator,
        +                                           boolean upperCase)
        +
        Returns the hexadecimal representation of the given byte array.
        +
      • +
      + + + +
        +
      • +

        escapeControlCharacters

        +
        public static java.lang.String escapeControlCharacters​(java.lang.String input)
        +
        Escapes control characters (\n, \r, \b, \t, \f).
        +
      • +
      + + + +
        +
      • +

        listToString

        +
        public static java.lang.String listToString​(java.util.List<java.lang.String> stringList)
        +
        Converts a List of Strings to a nicely readable format. Example: ["foo", "bar", "baz"].
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/SuffixAddingStringFunction.html b/api/proguard/util/SuffixAddingStringFunction.html new file mode 100644 index 000000000..54cecaaf1 --- /dev/null +++ b/api/proguard/util/SuffixAddingStringFunction.html @@ -0,0 +1,342 @@ + + + + + +SuffixAddingStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class SuffixAddingStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.SuffixAddingStringFunction
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringFunction
    +
    +
    +
    public class SuffixAddingStringFunction
    +extends java.lang.Object
    +implements StringFunction
    +
    This StringFunction adds a given suffix to each transformed String.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SuffixAddingStringFunction​(java.lang.String suffix) +
      Creates a new SuffixAddingStringFunction.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SuffixAddingStringFunction

        +
        public SuffixAddingStringFunction​(java.lang.String suffix)
        +
        Creates a new SuffixAddingStringFunction.
        +
        +
        Parameters:
        +
        suffix - the suffix to add to each string.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/SuffixRemovingStringFunction.html b/api/proguard/util/SuffixRemovingStringFunction.html new file mode 100644 index 000000000..4715fa44f --- /dev/null +++ b/api/proguard/util/SuffixRemovingStringFunction.html @@ -0,0 +1,342 @@ + + + + + +SuffixRemovingStringFunction (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class SuffixRemovingStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.SuffixRemovingStringFunction
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringFunction
    +
    +
    +
    public class SuffixRemovingStringFunction
    +extends java.lang.Object
    +implements StringFunction
    +
    This StringFunction removes a given suffix from each transformed String, if present.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SuffixRemovingStringFunction​(java.lang.String suffix) +
      Creates a new SuffixRemovingStringFunction.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.Stringtransform​(java.lang.String string) +
      Transforms the given string into a new string.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SuffixRemovingStringFunction

        +
        public SuffixRemovingStringFunction​(java.lang.String suffix)
        +
        Creates a new SuffixRemovingStringFunction.
        +
        +
        Parameters:
        +
        suffix - the suffix to remove from each string.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        transform

        +
        public java.lang.String transform​(java.lang.String string)
        +
        Description copied from interface: StringFunction
        +
        Transforms the given string into a new string.
        +
        +
        Specified by:
        +
        transform in interface StringFunction
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/TransformedStringMatcher.html b/api/proguard/util/TransformedStringMatcher.html new file mode 100644 index 000000000..eb30558bf --- /dev/null +++ b/api/proguard/util/TransformedStringMatcher.html @@ -0,0 +1,372 @@ + + + + + +TransformedStringMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class TransformedStringMatcher

+
+
+ +
+
    +
  • +
    +
    public class TransformedStringMatcher
    +extends StringMatcher
    +
    This StringMatcher delegates its tests to another given StringMatcher, with strings that have + been transformed with a given function.
    +
  • +
+
+
+
    +
  • + +
    + +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanmatches​(java.lang.String string) +
      Checks whether the given string matches.
      +
      protected booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TransformedStringMatcher

        +
        public TransformedStringMatcher​(StringFunction stringFunction,
        +                                StringMatcher stringMatcher)
        +
        Creates a new TransformedStringMatcher.
        +
        +
        Parameters:
        +
        stringFunction - the function to transform strings.
        +
        stringMatcher - the string matcher to test the transformed strings.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        matches

        +
        public boolean matches​(java.lang.String string)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given string matches.
        +
        +
        Overrides:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        Returns:
        +
        a boolean indicating whether the string matches the criterion.
        +
        +
      • +
      + + + +
        +
      • +

        matches

        +
        protected boolean matches​(java.lang.String string,
        +                          int beginOffset,
        +                          int endOffset)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given substring matches.
        +
        +
        Specified by:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/VariableStringMatcher.html b/api/proguard/util/VariableStringMatcher.html new file mode 100644 index 000000000..4e073dd0e --- /dev/null +++ b/api/proguard/util/VariableStringMatcher.html @@ -0,0 +1,372 @@ + + + + + +VariableStringMatcher (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class VariableStringMatcher

+
+
+ +
+
    +
  • +
    +
    public class VariableStringMatcher
    +extends StringMatcher
    +
    This StringMatcher tests whether strings start with a specified variable string and then + match another optional given StringMatcher.
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      VariableStringMatcher​(char[] allowedCharacters, + char[] disallowedCharacters, + int minimumLength, + int maximumLength, + StringMatcher nextMatcher) +
      Creates a new VariableStringMatcher.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.lang.StringgetMatchingString() +
      Returns the string that has been matched most recently.
      +
      protected booleanmatches​(java.lang.String string, + int beginOffset, + int endOffset) +
      Checks whether the given substring matches.
      +
      + +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        VariableStringMatcher

        +
        public VariableStringMatcher​(char[] allowedCharacters,
        +                             char[] disallowedCharacters,
        +                             int minimumLength,
        +                             int maximumLength,
        +                             StringMatcher nextMatcher)
        +
        Creates a new VariableStringMatcher.
        +
        +
        Parameters:
        +
        allowedCharacters - an optional list of allowed characters.
        +
        disallowedCharacters - an optional list of disallowed characters.
        +
        minimumLength - the minimum length of te variable string.
        +
        maximumLength - the maximum length of te variable string.
        +
        nextMatcher - an optional next matcher for the remainder of the string.
        +
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getMatchingString

        +
        public java.lang.String getMatchingString()
        +
        Returns the string that has been matched most recently.
        +
      • +
      + + + +
        +
      • +

        matches

        +
        protected boolean matches​(java.lang.String string,
        +                          int beginOffset,
        +                          int endOffset)
        +
        Description copied from class: StringMatcher
        +
        Checks whether the given substring matches.
        +
        +
        Specified by:
        +
        matches in class StringMatcher
        +
        Parameters:
        +
        string - the string to match.
        +
        beginOffset - the start offset of the substring (inclusive).
        +
        endOffset - the end offset of the substring (exclusive).
        +
        Returns:
        +
        a boolean indicating whether the substring matches the criterion.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/WildcardManager.html b/api/proguard/util/WildcardManager.html new file mode 100644 index 000000000..685c7e0ab --- /dev/null +++ b/api/proguard/util/WildcardManager.html @@ -0,0 +1,467 @@ + + + + + +WildcardManager (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+
Package proguard.util
+

Class WildcardManager

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.WildcardManager
    • +
    +
  • +
+
+
    +
  • +
    +
    public class WildcardManager
    +extends java.lang.Object
    +
    This utility class creates and manages StringMatcher instances that (1) match wildcards, + and (2) refer back to matched wildcards. + +

    Each instance represents a scope in which wildcards can be specified and referenced.

    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      WildcardManager() +
      Creates a new WildcardManager.
      +
      WildcardManager​(WildcardManager wildcardManager) +
      Creates a new WildcardManager with the current list of string matchers of the given + WildcardManager.
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      StringFunctioncreateMatchedStringFunction​(java.lang.String expression) +
      Creates new StringFunction that transforms the given expression with possible references to + wildcards, based on the list of string matchers.
      +
      MatchedStringMatchercreateMatchedStringMatcher​(int index, + StringMatcher nextMatcher) +
      Creates new MatchedStringMatcher to match the the specified variable string matcher from the + list of string matchers.
      +
      VariableStringMatchercreateVariableStringMatcher​(char[] allowedCharacters, + char[] disallowedCharacters, + int minimumLength, + int maximumLength, + StringMatcher nextMatcher) +
      Creates a new VariableStringMatcher and remembers it as a next element in the list of string + matchers, so it can be referenced by its index later.
      +
      voidrememberVariableStringMatcher​(VariableStringMatcher variableStringMatcher) +
      Remembers the given VariableStringMatcher as a next element in the list of string matchers, so + it can be referenced by its index later.
      +
      voidreset() +
      Resets the list of string matchers.
      +
      intwildCardIndex​(java.lang.String regularExpression, + int index) +
      Parses a reference to a wildcard at a given index, if any.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        WildcardManager

        +
        public WildcardManager()
        +
        Creates a new WildcardManager.
        +
      • +
      + + + +
        +
      • +

        WildcardManager

        +
        public WildcardManager​(WildcardManager wildcardManager)
        +
        Creates a new WildcardManager with the current list of string matchers of the given + WildcardManager.
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        reset

        +
        public void reset()
        +
        Resets the list of string matchers.
        +
      • +
      + + + +
        +
      • +

        createVariableStringMatcher

        +
        public VariableStringMatcher createVariableStringMatcher​(char[] allowedCharacters,
        +                                                         char[] disallowedCharacters,
        +                                                         int minimumLength,
        +                                                         int maximumLength,
        +                                                         StringMatcher nextMatcher)
        +
        Creates a new VariableStringMatcher and remembers it as a next element in the list of string + matchers, so it can be referenced by its index later.
        +
        +
        Parameters:
        +
        allowedCharacters - an optional list of allowed characters.
        +
        disallowedCharacters - an optional list of disallowed characters.
        +
        minimumLength - the minimum length of te variable string.
        +
        maximumLength - the maximum length of te variable string.
        +
        nextMatcher - an optional next matcher for the remainder of the string.
        +
        +
      • +
      + + + +
        +
      • +

        rememberVariableStringMatcher

        +
        public void rememberVariableStringMatcher​(VariableStringMatcher variableStringMatcher)
        +
        Remembers the given VariableStringMatcher as a next element in the list of string matchers, so + it can be referenced by its index later.
        +
      • +
      + + + +
        +
      • +

        createMatchedStringMatcher

        +
        public MatchedStringMatcher createMatchedStringMatcher​(int index,
        +                                                       StringMatcher nextMatcher)
        +
        Creates new MatchedStringMatcher to match the the specified variable string matcher from the + list of string matchers.
        +
        +
        Parameters:
        +
        index - the 0-based index of previously created and remembered VariableStringMatcher + instances.
        +
        nextMatcher - an optional next matcher for the remainder of the string.
        +
        +
      • +
      + + + +
        +
      • +

        createMatchedStringFunction

        +
        public StringFunction createMatchedStringFunction​(java.lang.String expression)
        +
        Creates new StringFunction that transforms the given expression with possible references to + wildcards, based on the list of string matchers. + +

        For example: "foo<1>" returns a string function that prepends "foo" to the first wildcard of + the recently matched string.

        +
      • +
      + + + +
        +
      • +

        wildCardIndex

        +
        public int wildCardIndex​(java.lang.String regularExpression,
        +                         int index)
        +                  throws java.lang.IllegalArgumentException
        +
        Parses a reference to a wildcard at a given index, if any. + +

        For example: "foo<1>" at index 0 returns -1, "foo<1>" at index 3 returns 0. "foo<8>" at + index 3 returns 7.

        +
        +
        Parameters:
        +
        regularExpression - the regular expression.
        +
        index - the index at which the regular expression is to be checked for a reference.
        +
        Returns:
        +
        the 0-based index of the back reference, or -1 otherwise.
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if the reference is malformed.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/AssertUtil.html b/api/proguard/util/kotlin/asserter/AssertUtil.html new file mode 100644 index 000000000..6daa0b34d --- /dev/null +++ b/api/proguard/util/kotlin/asserter/AssertUtil.html @@ -0,0 +1,394 @@ + + + + + +AssertUtil (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AssertUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.kotlin.asserter.AssertUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    public class AssertUtil
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      AssertUtil​(java.lang.String parentElement, + Reporter reporter, + ClassPool programClassPool, + ClassPool libraryClassPool) 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidreportIfClassDangling​(java.lang.String checkedElementName, + Clazz clazz) 
      voidreportIfFieldDangling​(java.lang.String checkedElementName, + Clazz checkedClass, + Field field) 
      voidreportIfMethodDangling​(java.lang.String checkedElementName, + Clazz checkedClass, + Method method) 
      voidreportIfNull​(java.lang.String checkedElementName, + java.lang.Object... checkedElement) 
      voidreportIfNullReference​(java.lang.String checkedElementName, + java.lang.Object checkedElement) 
      voidsetParentElement​(java.lang.String parentElement) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AssertUtil

        +
        public AssertUtil​(java.lang.String parentElement,
        +                  Reporter reporter,
        +                  ClassPool programClassPool,
        +                  ClassPool libraryClassPool)
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setParentElement

        +
        public void setParentElement​(java.lang.String parentElement)
        +
      • +
      + + + +
        +
      • +

        reportIfNull

        +
        public void reportIfNull​(java.lang.String checkedElementName,
        +                         java.lang.Object... checkedElement)
        +
      • +
      + + + +
        +
      • +

        reportIfNullReference

        +
        public void reportIfNullReference​(java.lang.String checkedElementName,
        +                                  java.lang.Object checkedElement)
        +
      • +
      + + + +
        +
      • +

        reportIfClassDangling

        +
        public void reportIfClassDangling​(java.lang.String checkedElementName,
        +                                  Clazz clazz)
        +
      • +
      + + + +
        +
      • +

        reportIfFieldDangling

        +
        public void reportIfFieldDangling​(java.lang.String checkedElementName,
        +                                  Clazz checkedClass,
        +                                  Field field)
        +
      • +
      + + + +
        +
      • +

        reportIfMethodDangling

        +
        public void reportIfMethodDangling​(java.lang.String checkedElementName,
        +                                   Clazz checkedClass,
        +                                   Method method)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/KotlinMetadataAsserter.html b/api/proguard/util/kotlin/asserter/KotlinMetadataAsserter.html new file mode 100644 index 000000000..ee757a072 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/KotlinMetadataAsserter.html @@ -0,0 +1,311 @@ + + + + + +KotlinMetadataAsserter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinMetadataAsserter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.kotlin.asserter.KotlinMetadataAsserter
    • +
    +
  • +
+
+
    +
  • +
    +
    public class KotlinMetadataAsserter
    +extends java.lang.Object
    +
    Performs a series of checks to see whether the kotlin metadata is intact.
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        KotlinMetadataAsserter

        +
        public KotlinMetadataAsserter()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/Reporter.html b/api/proguard/util/kotlin/asserter/Reporter.html new file mode 100644 index 000000000..b487fe661 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/Reporter.html @@ -0,0 +1,307 @@ + + + + + +Reporter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Reporter

+
+
+
+
    +
  • +
    +
    public interface Reporter
    +
    Interface for reporting errors.
    +
  • +
+
+
+
    +
  • + +
    + +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setErrorMessage

        +
        void setErrorMessage​(java.lang.String message)
        +
      • +
      + + + +
        +
      • +

        report

        +
        void report​(java.lang.String error)
        +
      • +
      + + + +
        +
      • +

        resetCounter

        +
        void resetCounter​(java.lang.String contextName)
        +
      • +
      + + + +
        +
      • +

        getCount

        +
        int getCount()
        +
      • +
      + + + +
        +
      • +

        print

        +
        void print​(java.lang.String className,
        +           java.lang.String s)
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ +
+ +
+ + diff --git a/api/proguard/util/kotlin/asserter/constraint/AbstractKotlinMetadataConstraint.html b/api/proguard/util/kotlin/asserter/constraint/AbstractKotlinMetadataConstraint.html new file mode 100644 index 000000000..7620ebb79 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/AbstractKotlinMetadataConstraint.html @@ -0,0 +1,442 @@ + + + + + +AbstractKotlinMetadataConstraint (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AbstractKotlinMetadataConstraint

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.kotlin.asserter.constraint.AbstractKotlinMetadataConstraint
    • +
    +
  • +
+ +
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/ClassIntegrity.html b/api/proguard/util/kotlin/asserter/constraint/ClassIntegrity.html new file mode 100644 index 000000000..f3f67b89f --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/ClassIntegrity.html @@ -0,0 +1,347 @@ + + + + + +ClassIntegrity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClassIntegrity

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ClassIntegrity

        +
        public ClassIntegrity()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/ConstructorIntegrity.html b/api/proguard/util/kotlin/asserter/constraint/ConstructorIntegrity.html new file mode 100644 index 000000000..6b5887567 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/ConstructorIntegrity.html @@ -0,0 +1,375 @@ + + + + + +ConstructorIntegrity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ConstructorIntegrity

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/DeclarationContainerIntegrity.html b/api/proguard/util/kotlin/asserter/constraint/DeclarationContainerIntegrity.html new file mode 100644 index 000000000..aa5e9fbf2 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/DeclarationContainerIntegrity.html @@ -0,0 +1,351 @@ + + + + + +DeclarationContainerIntegrity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DeclarationContainerIntegrity

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/FileFacadeIntegrity.html b/api/proguard/util/kotlin/asserter/constraint/FileFacadeIntegrity.html new file mode 100644 index 000000000..00fe7311a --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/FileFacadeIntegrity.html @@ -0,0 +1,346 @@ + + + + + +FileFacadeIntegrity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FileFacadeIntegrity

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FileFacadeIntegrity

        +
        public FileFacadeIntegrity()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/FunctionIntegrity.html b/api/proguard/util/kotlin/asserter/constraint/FunctionIntegrity.html new file mode 100644 index 000000000..84e274eeb --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/FunctionIntegrity.html @@ -0,0 +1,383 @@ + + + + + +FunctionIntegrity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class FunctionIntegrity

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/KmAnnotationIntegrity.html b/api/proguard/util/kotlin/asserter/constraint/KmAnnotationIntegrity.html new file mode 100644 index 000000000..cc56f126d --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/KmAnnotationIntegrity.html @@ -0,0 +1,544 @@ + + + + + +KmAnnotationIntegrity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KmAnnotationIntegrity

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/KotlinAsserterConstraint.html b/api/proguard/util/kotlin/asserter/constraint/KotlinAsserterConstraint.html new file mode 100644 index 000000000..a11a16af5 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/KotlinAsserterConstraint.html @@ -0,0 +1,280 @@ + + + + + +KotlinAsserterConstraint (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface KotlinAsserterConstraint

+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + diff --git a/api/proguard/util/kotlin/asserter/constraint/KotlinModuleIntegrity.html b/api/proguard/util/kotlin/asserter/constraint/KotlinModuleIntegrity.html new file mode 100644 index 000000000..f680f7208 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/KotlinModuleIntegrity.html @@ -0,0 +1,386 @@ + + + + + +KotlinModuleIntegrity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class KotlinModuleIntegrity

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.kotlin.asserter.constraint.KotlinModuleIntegrity
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/MultiFileFacadeIntegrity.html b/api/proguard/util/kotlin/asserter/constraint/MultiFileFacadeIntegrity.html new file mode 100644 index 000000000..5b52a69db --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/MultiFileFacadeIntegrity.html @@ -0,0 +1,346 @@ + + + + + +MultiFileFacadeIntegrity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiFileFacadeIntegrity

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MultiFileFacadeIntegrity

        +
        public MultiFileFacadeIntegrity()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/MultiFilePartIntegrity.html b/api/proguard/util/kotlin/asserter/constraint/MultiFilePartIntegrity.html new file mode 100644 index 000000000..2f91baa9b --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/MultiFilePartIntegrity.html @@ -0,0 +1,346 @@ + + + + + +MultiFilePartIntegrity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultiFilePartIntegrity

+
+
+ +
+ +
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MultiFilePartIntegrity

        +
        public MultiFilePartIntegrity()
        +
      • +
      +
    • +
    +
    + +
    + +
    +
  • +
+
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/PropertyIntegrity.html b/api/proguard/util/kotlin/asserter/constraint/PropertyIntegrity.html new file mode 100644 index 000000000..3d5caee61 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/PropertyIntegrity.html @@ -0,0 +1,383 @@ + + + + + +PropertyIntegrity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PropertyIntegrity

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/SyntheticClassIntegrity.html b/api/proguard/util/kotlin/asserter/constraint/SyntheticClassIntegrity.html new file mode 100644 index 000000000..29381b761 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/SyntheticClassIntegrity.html @@ -0,0 +1,351 @@ + + + + + +SyntheticClassIntegrity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SyntheticClassIntegrity

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/TypeIntegrity.html b/api/proguard/util/kotlin/asserter/constraint/TypeIntegrity.html new file mode 100644 index 000000000..1b7958cfd --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/TypeIntegrity.html @@ -0,0 +1,381 @@ + + + + + +TypeIntegrity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TypeIntegrity

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/ValueParameterIntegrity.html b/api/proguard/util/kotlin/asserter/constraint/ValueParameterIntegrity.html new file mode 100644 index 000000000..6fefed05c --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/ValueParameterIntegrity.html @@ -0,0 +1,449 @@ + + + + + +ValueParameterIntegrity (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ValueParameterIntegrity

+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/package-summary.html b/api/proguard/util/kotlin/asserter/constraint/package-summary.html new file mode 100644 index 000000000..cf04f2263 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/package-summary.html @@ -0,0 +1,243 @@ + + + + + +proguard.util.kotlin.asserter.constraint (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.util.kotlin.asserter.constraint

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/util/kotlin/asserter/constraint/package-tree.html b/api/proguard/util/kotlin/asserter/constraint/package-tree.html new file mode 100644 index 000000000..5435cb426 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/package-tree.html @@ -0,0 +1,183 @@ + + + + + +proguard.util.kotlin.asserter.constraint Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.util.kotlin.asserter.constraint

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/proguard/util/kotlin/asserter/package-summary.html b/api/proguard/util/kotlin/asserter/package-summary.html new file mode 100644 index 000000000..c803af48d --- /dev/null +++ b/api/proguard/util/kotlin/asserter/package-summary.html @@ -0,0 +1,187 @@ + + + + + +proguard.util.kotlin.asserter (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.util.kotlin.asserter

+
+
+
    +
  • + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    Reporter +
    Interface for reporting errors.
    +
    +
  • +
  • + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    AssertUtil 
    KotlinMetadataAsserter +
    Performs a series of checks to see whether the kotlin metadata is intact.
    +
    +
  • +
+
+
+
+ +
+ + diff --git a/api/proguard/util/kotlin/asserter/package-tree.html b/api/proguard/util/kotlin/asserter/package-tree.html new file mode 100644 index 000000000..aca0d4c9d --- /dev/null +++ b/api/proguard/util/kotlin/asserter/package-tree.html @@ -0,0 +1,168 @@ + + + + + +proguard.util.kotlin.asserter Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.util.kotlin.asserter

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+
    +
  • proguard.util.kotlin.asserter.Reporter
  • +
+
+
+
+ + + diff --git a/api/proguard/util/package-summary.html b/api/proguard/util/package-summary.html new file mode 100644 index 000000000..feac279a5 --- /dev/null +++ b/api/proguard/util/package-summary.html @@ -0,0 +1,566 @@ + + + + + +proguard.util (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Package proguard.util

+
+
+ +
+
+
+ +
+ + diff --git a/api/proguard/util/package-tree.html b/api/proguard/util/package-tree.html new file mode 100644 index 000000000..9a01bf4cf --- /dev/null +++ b/api/proguard/util/package-tree.html @@ -0,0 +1,264 @@ + + + + + +proguard.util Class Hierarchy (ProGuardCORE) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package proguard.util

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + + diff --git a/api/resources/glass.png b/api/resources/glass.png new file mode 100644 index 000000000..a7f591f46 Binary files /dev/null and b/api/resources/glass.png differ diff --git a/api/resources/x.png b/api/resources/x.png new file mode 100644 index 000000000..30548a756 Binary files /dev/null and b/api/resources/x.png differ diff --git a/api/script.js b/api/script.js new file mode 100644 index 000000000..7dc93c48e --- /dev/null +++ b/api/script.js @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2013, 2018, 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. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'jquery/jszip/dist/jszip.js'); + createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils.js'); + if (window.navigator.userAgent.indexOf('MSIE ') > 0 || window.navigator.userAgent.indexOf('Trident/') > 0 || + window.navigator.userAgent.indexOf('Edge/') > 0) { + createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils-ie.js'); + } + createElem(doc, tag, 'search.js'); + + $.get(pathtoroot + "module-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "module-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("module-search-index.json").async("text").then(function(content){ + moduleSearchIndex = JSON.parse(content); + }); + }); + }); + }); + $.get(pathtoroot + "package-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "package-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("package-search-index.json").async("text").then(function(content){ + packageSearchIndex = JSON.parse(content); + }); + }); + }); + }); + $.get(pathtoroot + "type-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "type-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("type-search-index.json").async("text").then(function(content){ + typeSearchIndex = JSON.parse(content); + }); + }); + }); + }); + $.get(pathtoroot + "member-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "member-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("member-search-index.json").async("text").then(function(content){ + memberSearchIndex = JSON.parse(content); + }); + }); + }); + }); + $.get(pathtoroot + "tag-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "tag-search-index.zip", function(e, data) { + JSZip.loadAsync(data).then(function(zip){ + zip.file("tag-search-index.json").async("text").then(function(content){ + tagSearchIndex = JSON.parse(content); + }); + }); + }); + }); + if (!moduleSearchIndex) { + createElem(doc, tag, 'module-search-index.js'); + } + if (!packageSearchIndex) { + createElem(doc, tag, 'package-search-index.js'); + } + if (!typeSearchIndex) { + createElem(doc, tag, 'type-search-index.js'); + } + if (!memberSearchIndex) { + createElem(doc, tag, 'member-search-index.js'); + } + if (!tagSearchIndex) { + createElem(doc, tag, 'tag-search-index.js'); + } + $(window).resize(function() { + $('.navPadding').css('padding-top', $('.fixedNav').css("height")); + }); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(type) { + count = 0; + for (var key in data) { + var row = document.getElementById(key); + if ((data[key] & type) !== 0) { + row.style.display = ''; + row.className = (count++ % 2) ? rowColor : altColor; + } + else + row.style.display = 'none'; + } + updateTabs(type); +} + +function updateTabs(type) { + for (var value in tabs) { + var sNode = document.getElementById(tabs[value][0]); + var spanNode = sNode.firstChild; + if (value == type) { + sNode.className = activeTableTab; + spanNode.innerHTML = tabs[value][1]; + } + else { + sNode.className = tableTab; + spanNode.innerHTML = "" + tabs[value][1] + ""; + } + } +} + +function updateModuleFrame(pFrame, cFrame) { + top.packageFrame.location = pFrame; + top.classFrame.location = cFrame; +} diff --git a/api/search.js b/api/search.js new file mode 100644 index 000000000..8492271e7 --- /dev/null +++ b/api/search.js @@ -0,0 +1,326 @@ +/* + * Copyright (c) 2015, 2018, 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. + */ + +var noResult = {l: "No results found"}; +var catModules = "Modules"; +var catPackages = "Packages"; +var catTypes = "Types"; +var catMembers = "Members"; +var catSearchTags = "SearchTags"; +var highlight = "$&"; +var camelCaseRegexp = ""; +var secondaryMatcher = ""; +function getHighlightedText(item) { + var ccMatcher = new RegExp(camelCaseRegexp); + var label = item.replace(ccMatcher, highlight); + if (label === item) { + label = item.replace(secondaryMatcher, highlight); + } + return label; +} +function getURLPrefix(ui) { + var urlPrefix=""; + if (useModuleDirectories) { + var slash = "/"; + if (ui.item.category === catModules) { + return ui.item.l + slash; + } else if (ui.item.category === catPackages && ui.item.m) { + return ui.item.m + slash; + } else if ((ui.item.category === catTypes && ui.item.p) || ui.item.category === catMembers) { + $.each(packageSearchIndex, function(index, item) { + if (item.m && ui.item.p == item.l) { + urlPrefix = item.m + slash; + } + }); + return urlPrefix; + } else { + return urlPrefix; + } + } + return urlPrefix; +} +var watermark = 'Search'; +$(function() { + $("#search").val(''); + $("#search").prop("disabled", false); + $("#reset").prop("disabled", false); + $("#search").val(watermark).addClass('watermark'); + $("#search").blur(function() { + if ($(this).val().length == 0) { + $(this).val(watermark).addClass('watermark'); + } + }); + $("#search").on('click keydown', function() { + if ($(this).val() == watermark) { + $(this).val('').removeClass('watermark'); + } + }); + $("#reset").click(function() { + $("#search").val(''); + $("#search").focus(); + }); + $("#search").focus(); + $("#search")[0].setSelectionRange(0, 0); +}); +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); + }, + _renderMenu: function(ul, items) { + var rMenu = this, + currentCategory = ""; + rMenu.menu.bindings = $(); + $.each(items, function(index, item) { + var li; + if (item.l !== noResult.l && item.category !== currentCategory) { + ul.append("
  • " + item.category + "
  • "); + currentCategory = item.category; + } + li = rMenu._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", item.category + " : " + item.l); + li.attr("class", "resultItem"); + } else { + li.attr("aria-label", item.l); + li.attr("class", "resultItem"); + } + }); + }, + _renderItem: function(ul, item) { + var label = ""; + if (item.category === catModules) { + label = getHighlightedText(item.l); + } else if (item.category === catPackages) { + label = (item.m) + ? getHighlightedText(item.m + "/" + item.l) + : getHighlightedText(item.l); + } else if (item.category === catTypes) { + label = (item.p) + ? getHighlightedText(item.p + "." + item.l) + : getHighlightedText(item.l); + } else if (item.category === catMembers) { + label = getHighlightedText(item.p + "." + (item.c + "." + item.l)); + } else if (item.category === catSearchTags) { + label = getHighlightedText(item.l); + } else { + label = item.l; + } + var li = $("
  • ").appendTo(ul); + var div = $("
    ").appendTo(li); + if (item.category === catSearchTags) { + if (item.d) { + div.html(label + " (" + item.h + ")
    " + + item.d + "
    "); + } else { + div.html(label + " (" + item.h + ")"); + } + } else { + div.html(label); + } + return li; + } +}); +$(function() { + $("#search").catcomplete({ + minLength: 1, + delay: 100, + source: function(request, response) { + var result = new Array(); + var presult = new Array(); + var tresult = new Array(); + var mresult = new Array(); + var tgresult = new Array(); + var secondaryresult = new Array(); + var displayCount = 0; + var exactMatcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term) + "$", "i"); + camelCaseRegexp = ($.ui.autocomplete.escapeRegex(request.term)).split(/(?=[A-Z])/).join("([a-z0-9_$]*?)"); + var camelCaseMatcher = new RegExp("^" + camelCaseRegexp); + secondaryMatcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i"); + + // Return the nested innermost name from the specified object + function nestedName(e) { + return e.l.substring(e.l.lastIndexOf(".") + 1); + } + + function concatResults(a1, a2) { + a1 = a1.concat(a2); + a2.length = 0; + return a1; + } + + if (moduleSearchIndex) { + var mdleCount = 0; + $.each(moduleSearchIndex, function(index, item) { + item.category = catModules; + if (exactMatcher.test(item.l)) { + result.push(item); + mdleCount++; + } else if (camelCaseMatcher.test(item.l)) { + result.push(item); + } else if (secondaryMatcher.test(item.l)) { + secondaryresult.push(item); + } + }); + displayCount = mdleCount; + result = concatResults(result, secondaryresult); + } + if (packageSearchIndex) { + var pCount = 0; + var pkg = ""; + $.each(packageSearchIndex, function(index, item) { + item.category = catPackages; + pkg = (item.m) + ? (item.m + "/" + item.l) + : item.l; + if (exactMatcher.test(item.l)) { + presult.push(item); + pCount++; + } else if (camelCaseMatcher.test(pkg)) { + presult.push(item); + } else if (secondaryMatcher.test(pkg)) { + secondaryresult.push(item); + } + }); + result = result.concat(concatResults(presult, secondaryresult)); + displayCount = (pCount > displayCount) ? pCount : displayCount; + } + if (typeSearchIndex) { + var tCount = 0; + $.each(typeSearchIndex, function(index, item) { + item.category = catTypes; + var s = nestedName(item); + if (exactMatcher.test(s)) { + tresult.push(item); + tCount++; + } else if (camelCaseMatcher.test(s)) { + tresult.push(item); + } else if (secondaryMatcher.test(item.p + "." + item.l)) { + secondaryresult.push(item); + } + }); + result = result.concat(concatResults(tresult, secondaryresult)); + displayCount = (tCount > displayCount) ? tCount : displayCount; + } + if (memberSearchIndex) { + var mCount = 0; + $.each(memberSearchIndex, function(index, item) { + item.category = catMembers; + var s = nestedName(item); + if (exactMatcher.test(s)) { + mresult.push(item); + mCount++; + } else if (camelCaseMatcher.test(s)) { + mresult.push(item); + } else if (secondaryMatcher.test(item.c + "." + item.l)) { + secondaryresult.push(item); + } + }); + result = result.concat(concatResults(mresult, secondaryresult)); + displayCount = (mCount > displayCount) ? mCount : displayCount; + } + if (tagSearchIndex) { + var tgCount = 0; + $.each(tagSearchIndex, function(index, item) { + item.category = catSearchTags; + if (exactMatcher.test(item.l)) { + tgresult.push(item); + tgCount++; + } else if (secondaryMatcher.test(item.l)) { + secondaryresult.push(item); + } + }); + result = result.concat(concatResults(tgresult, secondaryresult)); + displayCount = (tgCount > displayCount) ? tgCount : displayCount; + } + displayCount = (displayCount > 500) ? displayCount : 500; + var counter = function() { + var count = {Modules: 0, Packages: 0, Types: 0, Members: 0, SearchTags: 0}; + var f = function(item) { + count[item.category] += 1; + return (count[item.category] <= displayCount); + }; + return f; + }(); + response(result.filter(counter)); + }, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push(noResult); + } else { + $("#search").empty(); + } + }, + autoFocus: true, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.l !== noResult.l) { + var url = getURLPrefix(ui); + if (ui.item.category === catModules) { + if (useModuleDirectories) { + url += "module-summary.html"; + } else { + url = ui.item.l + "-summary.html"; + } + } else if (ui.item.category === catPackages) { + if (ui.item.url) { + url = ui.item.url; + } else { + url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (ui.item.category === catTypes) { + if (ui.item.url) { + url = ui.item.url; + } else if (ui.item.p === "") { + url += ui.item.l + ".html"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; + } + } else if (ui.item.category === catMembers) { + if (ui.item.p === "") { + url += ui.item.c + ".html" + "#"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; + } + if (ui.item.url) { + url += ui.item.url; + } else { + url += ui.item.l; + } + } else if (ui.item.category === catSearchTags) { + url += ui.item.u; + } + if (top !== window) { + parent.classFrame.location = pathtoroot + url; + } else { + window.location.href = pathtoroot + url; + } + $("#search").focus(); + } + } + }); +}); diff --git a/api/serialized-form.html b/api/serialized-form.html new file mode 100644 index 000000000..2925cb325 --- /dev/null +++ b/api/serialized-form.html @@ -0,0 +1,3597 @@ + + + + + +Serialized Form (ProGuardCORE) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Serialized Form

    +
    +
    + +
    +
    +
    + +
    + + diff --git a/api/stylesheet.css b/api/stylesheet.css new file mode 100644 index 000000000..de945eda2 --- /dev/null +++ b/api/stylesheet.css @@ -0,0 +1,910 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +a[name]:before, a[name]:target, a[id]:before, a[id]:target { + content:""; + display:inline-block; + position:relative; + padding-top:129px; + margin-top:-129px; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; + font-style:italic; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +table tr td dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} + +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:11px; + z-index:200; + margin-top:-9px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.navPadding { + padding-top: 107px; +} +.fixedNav { + position:fixed; + width:100%; + z-index:999; + background-color:#ffffff; +} +.topNav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.bottomNav { + margin-top:10px; + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.subNav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +ul.navListSearch { + float:right; + margin:0 0 0 0; + padding:0; +} +ul.navListSearch li { + list-style:none; + float:right; + padding: 5px 6px; + text-transform:uppercase; +} +ul.navListSearch li label { + position:relative; + right:-16px; +} +ul.subNavList li { + list-style:none; + float:left; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.navBarCell1Rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skipNav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Styles for page header and footer. + */ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexNav { + position:relative; + font-size:12px; + background-color:#dee3e9; +} +.indexNav ul { + margin-top:0; + padding:5px; +} +.indexNav ul li { + display:inline; + list-style-type:none; + padding-right:10px; + text-transform:uppercase; +} +.indexNav h1 { + font-size:13px; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* + * Styles for page layout containers. + */ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer, +.allClassesContainer, .allPackagesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:12px; +} +.indexContainer h2 { + font-size:13px; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; + padding-top:2px; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #ededed; + background-color:#f8f8f8; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* + * Styles for tables. + */ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary, +.requiresSummary, .packagesSummary, .providesSummary, .usesSummary { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary, .requiresSummary, .packagesSummary, .providesSummary, .usesSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption, +.requiresSummary caption, .packagesSummary caption, .providesSummary caption, .usesSummary caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.constantsSummary caption a:link, .constantsSummary caption a:visited, +.useSummary caption a:link, .useSummary caption a:visited { + color:#1f389c; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.deprecatedSummary caption a:link, +.requiresSummary caption a:link, .packagesSummary caption a:link, .providesSummary caption a:link, +.usesSummary caption a:link, +.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, +.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.requiresSummary caption a:hover, .packagesSummary caption a:hover, .providesSummary caption a:hover, +.usesSummary caption a:hover, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, +.requiresSummary caption a:active, .packagesSummary caption a:active, .providesSummary caption a:active, +.usesSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.deprecatedSummary caption a:visited, +.requiresSummary caption a:visited, .packagesSummary caption a:visited, .providesSummary caption a:visited, +.usesSummary caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span, +.requiresSummary caption span, .packagesSummary caption span, .providesSummary caption span, +.usesSummary caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +.memberSummary caption span.activeTableTab span, .packagesSummary caption span.activeTableTab span, +.overviewSummary caption span.activeTableTab span, .typeSummary caption span.activeTableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#F8981D; + height:16px; +} +.memberSummary caption span.tableTab span, .packagesSummary caption span.tableTab span, +.overviewSummary caption span.tableTab span, .typeSummary caption span.tableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#4D7A97; + height:16px; +} +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab, +.packagesSummary caption span.tableTab, .packagesSummary caption span.activeTableTab, +.overviewSummary caption span.tableTab, .overviewSummary caption span.activeTableTab, +.typeSummary caption span.tableTab, .typeSummary caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + padding-right:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd, +.requiresSummary .tabEnd, .packagesSummary .tabEnd, .providesSummary .tabEnd, .usesSummary .tabEnd { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd, .packagesSummary .activeTableTab .tabEnd, +.overviewSummary .activeTableTab .tabEnd, .typeSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd, .packagesSummary .tableTab .tabEnd, +.overviewSummary .tableTab .tabEnd, .typeSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; +} +.rowColor th, .altColor th { + font-weight:normal; +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td, +.requiresSummary td, .packagesSummary td, .providesSummary td, .usesSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .useSummary th, +.constantsSummary th, .packagesSummary th, td.colFirst, td.colSecond, td.colLast, .useSummary td, +.constantsSummary td { + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .constantsSummary th, +.packagesSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + font-size:13px; +} +td.colSecond, th.colSecond, td.colLast, th.colConstructorName, th.colDeprecatedItemName, th.colLast { + font-size:13px; +} +.constantsSummary th, .packagesSummary th { + font-size:13px; +} +.providesSummary th.colFirst, .providesSummary th.colLast, .providesSummary td.colFirst, +.providesSummary td.colLast { + white-space:normal; + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.requiresSummary td.colFirst, .requiresSummary th.colFirst, +.packagesSummary td.colFirst, .packagesSummary td.colSecond, .packagesSummary th.colFirst, .packagesSummary th, +.usesSummary td.colFirst, .usesSummary th.colFirst, +.providesSummary td.colFirst, .providesSummary th.colFirst, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colSecond, .memberSummary th.colSecond, .memberSummary th.colConstructorName, +.typeSummary td.colFirst, .typeSummary th.colFirst { + vertical-align:top; +} +.packagesSummary th.colLast, .packagesSummary td.colLast { + white-space:normal; +} +td.colFirst a:link, td.colFirst a:visited, +td.colSecond a:link, td.colSecond a:visited, +th.colFirst a:link, th.colFirst a:visited, +th.colSecond a:link, th.colSecond a:visited, +th.colConstructorName a:link, th.colConstructorName a:visited, +th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited, +.constantValuesContainer td a:link, .constantValuesContainer td a:visited, +.allClassesContainer td a:link, .allClassesContainer td a:visited, +.allPackagesContainer td a:link, .allPackagesContainer td a:visited { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor, .altColor th { + background-color:#FFFFFF; +} +.rowColor, .rowColor th { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +td.colLast div { + padding-top:0px; +} +td.colLast a { + padding-bottom:3px; +} +/* + * Styles for formatting effect. + */ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:3px 10px 2px 0px; + color:#474747; +} +.deprecatedLabel, .descfrmTypeLabel, .implementationLabel, .memberNameLabel, .memberNameLink, +.moduleLabelInPackage, .moduleLabelInType, .overrideSpecifyLabel, .packageLabelInType, +.packageHierarchyLabel, .paramLabel, .returnLabel, .seeLabel, .simpleTagLabel, +.throwsLabel, .typeNameLabel, .typeNameLink, .searchTagLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} +.deprecationBlock { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} +div.contentContainer ul.blockList li.blockList h2 { + padding-bottom:0px; +} +/* + * Styles for IFRAME. + */ +.mainContainer { + margin:0 auto; + padding:0; + height:100%; + width:100%; + position:fixed; + top:0; + left:0; +} +.leftContainer { + height:100%; + position:fixed; + width:320px; +} +.leftTop { + position:relative; + float:left; + width:315px; + top:0; + left:0; + height:30%; + border-right:6px solid #ccc; + border-bottom:6px solid #ccc; +} +.leftBottom { + position:relative; + float:left; + width:315px; + bottom:0; + left:0; + height:70%; + border-right:6px solid #ccc; + border-top:1px solid #000; +} +.rightContainer { + position:absolute; + left:320px; + top:0; + bottom:0; + height:100%; + right:0; + border-left:1px solid #000; +} +.rightIframe { + margin:0; + padding:0; + height:100%; + right:30px; + width:100%; + overflow:visible; + margin-bottom:30px; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.resultItem { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; + background-color: #FFFFFF; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.resultHighlight { + font-weight:bold; +} +.ui-autocomplete .result-item { + font-size: inherit; +} +#search { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; +} +#reset { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:17px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.searchTagDescResult { + font-style:italic; + font-size:11px; +} +.searchTagHolderResult { + font-style:italic; + font-size:12px; +} +.searchTagResult:before, .searchTagResult:target { + color:red; +} +.moduleGraph span { + display:none; + position:absolute; +} +.moduleGraph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.methodSignature { + white-space:normal; +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} diff --git a/api/type-search-index.js b/api/type-search-index.js new file mode 100644 index 000000000..0bd7d8211 --- /dev/null +++ b/api/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"p":"proguard.analysis.cpa.interfaces","l":"AbortOperator"},{"p":"proguard.analysis.cpa.interfaces","l":"AbstractDomain"},{"p":"proguard.dexfile.ir.expr","l":"AbstractInvokeExpr"},{"p":"proguard.util.kotlin.asserter.constraint","l":"AbstractKotlinMetadataConstraint"},{"p":"proguard.dexfile.reader.node.insn","l":"AbstractMethodStmtNode"},{"p":"proguard.analysis.cpa.defaults","l":"AbstractSingleWrapperState"},{"p":"proguard.analysis.cpa.interfaces","l":"AbstractState"},{"p":"proguard.analysis.cpa.defaults","l":"AbstractWaitlist"},{"p":"proguard.analysis.cpa.defaults","l":"AbstractWrapperState"},{"p":"proguard.classfile","l":"AccessConstants"},{"p":"proguard.classfile.editor","l":"AccessFixer"},{"p":"proguard.classfile.util","l":"AccessUtil"},{"p":"proguard.examples.instrument","l":"AddMethodInvocationLogging"},{"p":"proguard.dexfile.ir.ts","l":"AggTransformer"},{"p":"proguard.analysis.cpa.interfaces","l":"Algorithm"},{"p":"proguard.classfile.attribute.annotation.visitor","l":"AllAnnotationVisitor"},{"p":"proguard.classfile.attribute.visitor","l":"AllAttributeVisitor"},{"p":"proguard.classfile.constant.visitor","l":"AllBootstrapMethodArgumentVisitor"},{"p":"proguard.classfile.attribute.visitor","l":"AllBootstrapMethodInfoVisitor"},{"l":"All Classes","url":"allclasses-index.html"},{"p":"proguard.classfile.visitor","l":"AllClassVisitor"},{"p":"proguard.classfile.constant.visitor","l":"AllConstantVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"AllConstructorVisitor"},{"p":"proguard.classfile.attribute.annotation.visitor","l":"AllElementValueVisitor"},{"p":"proguard.classfile.attribute.visitor","l":"AllExceptionInfoVisitor"},{"p":"proguard.classfile.attribute.module.visitor","l":"AllExportsInfoVisitor"},{"p":"proguard.classfile.visitor","l":"AllFieldVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"AllFunctionVisitor"},{"p":"proguard.classfile.attribute.visitor","l":"AllInnerClassesInfoVisitor"},{"p":"proguard.classfile.instruction.visitor","l":"AllInstructionVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"AllKotlinAnnotationArgumentVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"AllKotlinAnnotationVisitor"},{"p":"proguard.classfile.attribute.visitor","l":"AllLineNumberInfoVisitor"},{"p":"proguard.classfile.visitor","l":"AllMemberVisitor"},{"p":"proguard.classfile.visitor","l":"AllMethodVisitor"},{"p":"proguard.classfile.attribute.module.visitor","l":"AllOpensInfoVisitor"},{"p":"proguard.classfile.util","l":"AllParameterVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"AllPropertyVisitor"},{"p":"proguard.classfile.attribute.module.visitor","l":"AllProvidesInfoVisitor"},{"p":"proguard.classfile.attribute.visitor","l":"AllRecordComponentInfoVisitor"},{"p":"proguard.classfile.attribute.module.visitor","l":"AllRequiresInfoVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"AllTypeAliasVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"AllTypeParameterVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"AllTypeVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"AllValueParameterVisitor"},{"p":"proguard.evaluation.value.object","l":"AnalyzedObject"},{"p":"proguard.evaluation.value.object","l":"AnalyzedObjectFactory"},{"p":"proguard.examples","l":"AnalyzeTaints"},{"p":"proguard.dexfile.ir.ts.an","l":"AnalyzeValue"},{"p":"proguard.util","l":"AndMatcher"},{"p":"proguard.util","l":"AndNotStringFunction"},{"p":"proguard.dexfile","l":"AndroidConstants"},{"p":"proguard.util","l":"AndStringFunction"},{"p":"proguard.classfile.attribute.annotation","l":"Annotation"},{"p":"proguard.classfile.editor","l":"AnnotationAdder"},{"p":"proguard.classfile.attribute.annotation","l":"AnnotationDefaultAttribute"},{"p":"proguard.classfile.attribute.annotation","l":"AnnotationElementValue"},{"p":"proguard.classfile.attribute.annotation","l":"AnnotationsAttribute"},{"p":"proguard.classfile.editor","l":"AnnotationsAttributeEditor"},{"p":"proguard.classfile.attribute.annotation.visitor","l":"AnnotationToAnnotatedClassVisitor"},{"p":"proguard.classfile.attribute.annotation.visitor","l":"AnnotationToAnnotatedMemberVisitor"},{"p":"proguard.classfile.attribute.annotation.visitor","l":"AnnotationTypeFilter"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.AnnotationValue"},{"p":"proguard.classfile.attribute.annotation.visitor","l":"AnnotationVisitor"},{"p":"proguard.classfile.constant","l":"AnyMethodrefConstant"},{"p":"proguard.examples","l":"ApplyPeepholeOptimizations"},{"p":"proguard.classfile.attribute.annotation","l":"ArrayElementValue"},{"p":"proguard.dexfile.ir.expr","l":"ArrayExpr"},{"p":"proguard.evaluation.exception","l":"ArrayIndexOutOfBounds"},{"p":"proguard.classfile.util","l":"ArrayInitializationMatcher"},{"p":"proguard.classfile.util","l":"ArrayInitializationReplacer"},{"p":"proguard.evaluation.value.object.model","l":"ArrayModel"},{"p":"proguard.evaluation.value","l":"ArrayReferenceValue"},{"p":"proguard.evaluation.value","l":"ArrayReferenceValueFactory"},{"p":"proguard.evaluation.exception","l":"ArrayStoreTypeException"},{"p":"proguard.util","l":"ArrayUtil"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.ArrayValue"},{"p":"proguard.util.kotlin.asserter","l":"AssertUtil"},{"p":"proguard.dexfile.ir.stmt","l":"AssignStmt"},{"p":"proguard.classfile.attribute","l":"Attribute"},{"p":"proguard.classfile.editor","l":"AttributeAdder"},{"p":"proguard.classfile.attribute.visitor","l":"AttributeConstantVisitor"},{"p":"proguard.classfile.attribute.visitor","l":"AttributeCounter"},{"p":"proguard.classfile.attribute.visitor","l":"AttributeNameFilter"},{"p":"proguard.classfile.attribute.visitor","l":"AttributeProcessingFlagFilter"},{"p":"proguard.classfile.editor","l":"AttributesEditor"},{"p":"proguard.classfile.editor","l":"AttributeSorter"},{"p":"proguard.classfile.attribute.visitor","l":"AttributeToClassVisitor"},{"p":"proguard.classfile.attribute.visitor","l":"AttributeVisitor"},{"p":"proguard.analysis.cpa.bam","l":"BamCache"},{"p":"proguard.analysis.cpa.bam","l":"BamCacheImpl"},{"p":"proguard.analysis.cpa.bam","l":"BamCpa"},{"p":"proguard.analysis.cpa.defaults","l":"BamCpaRun"},{"p":"proguard.analysis.cpa.bam","l":"BamLocationDependent"},{"p":"proguard.analysis.cpa.jvm.domain.memory","l":"BamLocationDependentJvmMemoryLocation"},{"p":"proguard.analysis.cpa.bam","l":"BamTransferRelation"},{"p":"proguard.util","l":"Base64Util"},{"p":"proguard.dexfile.ir.ts.an","l":"BaseAnalyze"},{"p":"proguard.dexfile.reader","l":"BaseDexFileReader"},{"p":"proguard.dexfile.ir.stmt","l":"BaseSwitchStmt"},{"p":"proguard.dexfile.reader.node.insn","l":"BaseSwitchStmtNode"},{"p":"proguard.evaluation","l":"BasicBranchUnit"},{"p":"proguard.util","l":"BasicHierarchyProvider"},{"p":"proguard.evaluation","l":"BasicInvocationUnit"},{"p":"proguard.classfile","l":"BasicMethodInfo"},{"p":"proguard.evaluation.value","l":"BasicRangeValueFactory"},{"p":"proguard.evaluation.value","l":"BasicValueFactory"},{"p":"proguard.dexfile.ir.expr","l":"BinopExpr"},{"p":"proguard.analysis.cpa.bam","l":"BlockAbstraction"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.BooleanValue"},{"p":"proguard.classfile.constant.visitor","l":"BootstrapMethodHandleTraveler"},{"p":"proguard.classfile.attribute","l":"BootstrapMethodInfo"},{"p":"proguard.classfile.editor","l":"BootstrapMethodInfoAdder"},{"p":"proguard.classfile.attribute.visitor","l":"BootstrapMethodInfoVisitor"},{"p":"proguard.classfile.editor","l":"BootstrapMethodRemapper"},{"p":"proguard.classfile.attribute","l":"BootstrapMethodsAttribute"},{"p":"proguard.classfile.editor","l":"BootstrapMethodsAttributeAdder"},{"p":"proguard.classfile.editor","l":"BootstrapMethodsAttributeEditor"},{"p":"proguard.classfile.editor","l":"BootstrapMethodsAttributeShrinker"},{"p":"proguard.classfile.visitor","l":"BottomClassFilter"},{"p":"proguard.classfile.instruction","l":"BranchInstruction"},{"p":"proguard.classfile.util","l":"BranchTargetFinder"},{"p":"proguard.evaluation","l":"BranchUnit"},{"p":"proguard.analysis.cpa.defaults","l":"BreadthFirstWaitlist"},{"p":"proguard.classfile.editor","l":"BridgeMethodFixer"},{"p":"proguard.analysis","l":"CallResolver.Builder"},{"p":"proguard.analysis.cpa.defaults","l":"BamCpaRun.Builder"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmInvokeTaintSink.Builder"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmTaintBamCpaRun.Builder"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmTaintMemoryLocationBamCpaRun.Builder"},{"p":"proguard.analysis.cpa.jvm.domain.value","l":"JvmValueBamCpaRun.Builder"},{"p":"proguard.analysis.cpa.jvm.util","l":"JvmBamCpaRun.Builder"},{"p":"proguard.evaluation","l":"ExecutingInvocationUnit.Builder"},{"p":"proguard.evaluation","l":"MethodResult.Builder"},{"p":"proguard.evaluation","l":"PartialEvaluator.Builder"},{"p":"proguard.evaluation.executor","l":"Executor.Builder"},{"p":"proguard.evaluation.executor","l":"JavaReflectionApiExecutor.Builder"},{"p":"proguard.evaluation.executor","l":"ReflectiveModelExecutor.Builder"},{"p":"proguard.evaluation.executor","l":"StringReflectionExecutor.Builder"},{"p":"proguard.exception","l":"ProguardCoreException.Builder"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.ByteValue"},{"p":"proguard.analysis.datastructure.callgraph","l":"Call"},{"p":"proguard.classfile.kotlin.reflect","l":"CallableReferenceInfo"},{"p":"proguard.classfile.kotlin.reflect.visitor","l":"CallableReferenceInfoToOwnerVisitor"},{"p":"proguard.classfile.kotlin.reflect.visitor","l":"CallableReferenceInfoVisitor"},{"p":"proguard.analysis.cpa.interfaces","l":"CallEdge"},{"p":"proguard.analysis.datastructure.callgraph","l":"CallGraph"},{"p":"proguard.util","l":"CallGraphWalker"},{"p":"proguard.analysis","l":"CallHandler"},{"p":"proguard.analysis","l":"CallResolver"},{"p":"proguard.analysis","l":"CallUtil"},{"p":"proguard.io","l":"CascadingDataEntryWriter"},{"p":"proguard.dexfile.ir.expr","l":"CastExpr"},{"p":"proguard.classfile.attribute.annotation.target","l":"CatchTargetInfo"},{"p":"proguard.evaluation.value","l":"Category1Value"},{"p":"proguard.evaluation.value","l":"Category2Value"},{"p":"proguard.analysis.cpa.defaults","l":"Cfa"},{"p":"proguard.analysis.cpa.interfaces","l":"CfaEdge"},{"p":"proguard.analysis.cpa.interfaces","l":"CfaNode"},{"p":"proguard.analysis.cpa.jvm.util","l":"CfaUtil"},{"p":"proguard.dexfile.ir.ts","l":"Cfg"},{"p":"proguard.dexfile.reader","l":"CFG"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.CharValue"},{"p":"proguard.util","l":"CircularIntBuffer"},{"p":"proguard.classfile.visitor","l":"ClassAccessFilter"},{"p":"proguard.classfile.editor","l":"ClassBuilder"},{"p":"proguard.classfile.visitor","l":"ClassCleaner"},{"p":"proguard.classfile.visitor","l":"ClassCollector"},{"p":"proguard.classfile.constant","l":"ClassConstant"},{"p":"proguard.classfile.visitor","l":"ClassConstantClassFilter"},{"p":"proguard.classfile","l":"ClassConstants"},{"p":"proguard.evaluation","l":"ClassConstantValueFactory"},{"p":"proguard.classfile.visitor","l":"ClassCounter"},{"p":"proguard.io","l":"ClassDataEntryWriter"},{"p":"proguard.classfile.editor","l":"ClassEditor"},{"p":"proguard.classfile.editor","l":"ClassElementSorter"},{"p":"proguard.classfile.attribute.annotation","l":"ClassElementValue"},{"p":"proguard.classfile.editor","l":"ClassEstimates"},{"p":"proguard.classfile.visitor","l":"ClassFeatureNameCollector"},{"p":"proguard.io","l":"ClassFilter"},{"p":"proguard.classfile.visitor","l":"ClassHierarchyTraveler"},{"p":"proguard.classfile.util","l":"ClassInitializer"},{"p":"proguard.util.kotlin.asserter.constraint","l":"ClassIntegrity"},{"p":"proguard.io","l":"ClassMapDataEntryWriter"},{"p":"proguard.classfile.editor","l":"ClassMemberSorter"},{"p":"proguard.evaluation.value.object.model","l":"ClassModel"},{"p":"proguard.classfile.visitor","l":"ClassNameCollector"},{"p":"proguard.classfile.visitor","l":"ClassNameFilter"},{"p":"proguard.util","l":"ClassNameParser"},{"p":"proguard.io","l":"ClassPath"},{"p":"proguard.io","l":"ClassPathDataEntry"},{"p":"proguard.io","l":"ClassPathEntry"},{"p":"proguard.io.util","l":"ClassPathUtil"},{"p":"proguard.classfile","l":"ClassPool"},{"p":"proguard.classfile.util","l":"ClassPoolClassLoader"},{"p":"proguard.classfile.visitor","l":"ClassPoolClassVisitor"},{"p":"proguard.util","l":"ClassPoolFeatureNameFunction"},{"p":"proguard.classfile.visitor","l":"ClassPoolFiller"},{"p":"proguard.classfile.visitor","l":"ClassPoolRemover"},{"p":"proguard.classfile.visitor","l":"ClassPoolVisitor"},{"p":"proguard.classfile.visitor","l":"ClassPresenceFilter"},{"p":"proguard.classfile.visitor","l":"ClassPrinter"},{"p":"proguard.classfile.visitor","l":"ClassProcessingFlagFilter"},{"p":"proguard.classfile.visitor","l":"ClassProcessingInfoFilter"},{"p":"proguard.io","l":"ClassReader"},{"p":"proguard.classfile.editor","l":"ClassReferenceFixer"},{"p":"proguard.classfile.util","l":"ClassReferenceInitializer"},{"p":"proguard.classfile.util","l":"ClassRenamer"},{"p":"proguard.classfile","l":"ClassSignature"},{"p":"proguard.classfile.util","l":"ClassSubHierarchyInitializer"},{"p":"proguard.classfile.util","l":"ClassSuperHierarchyInitializer"},{"p":"proguard.classfile.util","l":"ClassUtil"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.ClassValue"},{"p":"proguard.classfile.visitor","l":"ClassVersionFilter"},{"p":"proguard.classfile.visitor","l":"ClassVersionSetter"},{"p":"proguard.classfile.util.renderer","l":"ClassViewModel"},{"p":"proguard.classfile.visitor","l":"ClassVisitor"},{"p":"proguard.classfile.visitor","l":"ParallelAllClassVisitor.ClassVisitorFactory"},{"p":"proguard.classfile","l":"Clazz"},{"p":"proguard.dexfile.ir.ts","l":"CleanLabel"},{"p":"proguard.classfile.attribute","l":"CodeAttribute"},{"p":"proguard.classfile.editor","l":"CodeAttributeComposer"},{"p":"proguard.classfile.editor","l":"CodeAttributeEditor"},{"p":"proguard.classfile.editor","l":"CodeAttributeEditorResetter"},{"p":"proguard.classfile.attribute.visitor","l":"CodeAttributeToMethodVisitor"},{"p":"proguard.classfile.editor","l":"ClassBuilder.CodeBuilder"},{"p":"proguard.classfile.editor","l":"InitializerEditor.CodeBuilder"},{"p":"proguard.analysis.datastructure","l":"CodeLocation"},{"p":"proguard.preverify","l":"CodePreverifier"},{"p":"proguard.preverify","l":"CodeSubroutineInliner"},{"p":"proguard.util","l":"CollectionMatcher"},{"p":"proguard.util","l":"CollectionParser"},{"p":"proguard.classfile.editor","l":"CompactCodeAttributeComposer"},{"p":"proguard.evaluation.value","l":"ComparisonValue"},{"p":"proguard.evaluation.value","l":"CompositeDoubleValue"},{"p":"proguard.evaluation.value","l":"CompositeFloatValue"},{"p":"proguard.evaluation.value","l":"CompositeIntegerValue"},{"p":"proguard.evaluation.value","l":"CompositeLongValue"},{"p":"proguard.util","l":"ConcatenatingStringFunction"},{"p":"proguard.analysis.datastructure.callgraph","l":"ConcreteCall"},{"p":"proguard.classfile.visitor","l":"ConcreteClassDownTraveler"},{"p":"proguard.analysis.cpa.interfaces","l":"ConfigurableProgramAnalysis"},{"p":"proguard.classfile.constant","l":"Constant"},{"p":"proguard.dexfile.ir.expr","l":"Constant"},{"p":"proguard.classfile.editor","l":"ConstantAdder"},{"p":"proguard.classfile.constant.visitor","l":"ConstantCounter"},{"p":"proguard.classfile.attribute.annotation","l":"ConstantElementValue"},{"p":"proguard.classfile.instruction","l":"ConstantInstruction"},{"p":"proguard.analysis.cpa.jvm.util","l":"ConstantLookupVisitor"},{"p":"proguard.util","l":"ConstantMatcher"},{"p":"proguard.classfile.editor","l":"ConstantPoolEditor"},{"p":"proguard.classfile.editor","l":"ConstantPoolRemapper"},{"p":"proguard.classfile.editor","l":"ConstantPoolShrinker"},{"p":"proguard.classfile.editor","l":"ConstantPoolSorter"},{"p":"proguard.classfile.visitor","l":"ConstantProcessingFlagFilter"},{"p":"proguard.classfile.constant.visitor","l":"ConstantStringBuilder"},{"p":"proguard.util","l":"ConstantStringFunction"},{"p":"proguard.classfile.constant.visitor","l":"ConstantTagFilter"},{"p":"proguard.classfile.attribute","l":"ConstantValueAttribute"},{"p":"proguard.evaluation","l":"ConstantValueFactory"},{"p":"proguard.classfile.util.renderer","l":"ConstantViewModel"},{"p":"proguard.classfile.constant.visitor","l":"ConstantVisitor"},{"p":"proguard.util.kotlin.asserter.constraint","l":"ConstructorIntegrity"},{"p":"proguard.classfile.visitor","l":"ConstructorMethodFilter"},{"p":"proguard.dexfile.reader.node.insn","l":"ConstStmtNode"},{"p":"proguard.analysis.cpa.defaults","l":"ControllableAbortOperator"},{"p":"proguard.evaluation.value","l":"ConvertedByteValue"},{"p":"proguard.evaluation.value","l":"ConvertedCharacterValue"},{"p":"proguard.evaluation.value","l":"ConvertedDoubleValue"},{"p":"proguard.evaluation.value","l":"ConvertedFloatValue"},{"p":"proguard.evaluation.value","l":"ConvertedIntegerValue"},{"p":"proguard.evaluation.value","l":"ConvertedLongValue"},{"p":"proguard.evaluation.value","l":"ConvertedShortValue"},{"p":"proguard.util","l":"Counter"},{"p":"proguard.classfile.visitor","l":"CounterConditionalClassVisitor"},{"p":"proguard.analysis.cpa.algorithms","l":"CpaAlgorithm"},{"p":"proguard.analysis.cpa.defaults","l":"CpaRun"},{"p":"proguard.analysis.cpa.bam","l":"CpaWithBamOperators"},{"p":"proguard.examples","l":"CreateHelloWorldClass"},{"p":"proguard.examples","l":"CyclomaticComplexity"},{"p":"proguard.io","l":"D8BasedDexDataEntryWriter"},{"p":"proguard.io","l":"D8ClassConverter"},{"p":"proguard.io","l":"D8ClassConverter.D8DexFile"},{"p":"proguard.io","l":"DataEntry"},{"p":"proguard.io","l":"DataEntryClassInfoFilter"},{"p":"proguard.io","l":"DataEntryClassWriter"},{"p":"proguard.io","l":"DataEntryCopier"},{"p":"proguard.io","l":"DataEntryDirectoryFilter"},{"p":"proguard.io","l":"DataEntryFilter"},{"p":"proguard.io","l":"DataEntryNameFilter"},{"p":"proguard.io","l":"DataEntryParentFilter"},{"p":"proguard.io","l":"DataEntryReader"},{"p":"proguard.io","l":"DataEntryReaderFactory"},{"p":"proguard.io","l":"DataEntryRewriter"},{"p":"proguard.io","l":"DataEntrySource"},{"p":"proguard.io","l":"DataEntryToken"},{"p":"proguard.io","l":"DataEntryTokenizer"},{"p":"proguard.io","l":"DataEntryTokenType"},{"p":"proguard.io","l":"DataEntryWriter"},{"p":"proguard.io","l":"DataEntryWriterFactory"},{"p":"proguard.classfile.attribute.visitor","l":"DebugAttributeVisitor"},{"p":"proguard.evaluation.util","l":"DebugPrinter"},{"p":"proguard.examples.instrument","l":"DebugStackTop"},{"p":"proguard.examples.instrument","l":"DebugStackTopExample"},{"p":"proguard.util.kotlin.asserter.constraint","l":"DeclarationContainerIntegrity"},{"p":"proguard.analysis.cpa.defaults","l":"DefaultReachedSet"},{"p":"proguard.analysis.cpa.defaults","l":"DelegateAbstractDomain"},{"p":"proguard.classfile.attribute","l":"DeprecatedAttribute"},{"p":"proguard.analysis.cpa.defaults","l":"DepthFirstWaitlist"},{"p":"proguard.classfile.util","l":"DescriptorClassEnumeration"},{"p":"proguard.evaluation.value","l":"DetailedArrayReferenceValue"},{"p":"proguard.evaluation.value","l":"DetailedArrayValueFactory"},{"p":"proguard.dexfile.converter","l":"Dex2IRConverter"},{"p":"proguard.dexfile.converter","l":"Dex2Pro"},{"p":"proguard.dexfile.reader.visitors","l":"DexAnnotationAble"},{"p":"proguard.dexfile.reader.node","l":"DexAnnotationNode"},{"p":"proguard.dexfile.reader.visitors","l":"DexAnnotationVisitor"},{"p":"proguard.dexfile.reader.node","l":"DexClassNode"},{"p":"proguard.io","l":"DexClassReader"},{"p":"proguard.dexfile.reader.visitors","l":"DexClassVisitor"},{"p":"proguard.dexfile.reader.node","l":"DexCodeNode"},{"p":"proguard.dexfile.reader.visitors","l":"DexCodeVisitor"},{"p":"proguard.dexfile.reader","l":"DexConstants"},{"p":"proguard.dexfile.reader","l":"DexContainerReader"},{"p":"proguard.io","l":"DexDataEntryWriter"},{"p":"proguard.io","l":"DexDataEntryWriterFactory"},{"p":"proguard.dexfile.reader.node","l":"DexDebugNode"},{"p":"proguard.dexfile.reader.node","l":"DexDebugNode.DexDebugOpNode"},{"p":"proguard.dexfile.reader.visitors","l":"DexDebugVisitor"},{"p":"proguard.dexfile.reader","l":"DexException"},{"p":"proguard.dexfile.reader.node","l":"DexFieldNode"},{"p":"proguard.dexfile.reader.visitors","l":"DexFieldVisitor"},{"p":"proguard.dexfile.reader.node","l":"DexFileNode"},{"p":"proguard.dexfile.reader","l":"DexFileReader"},{"p":"proguard.dexfile.reader.visitors","l":"DexFileVisitor"},{"p":"proguard.dexfile.converter","l":"DexFix"},{"p":"proguard.dexfile.reader","l":"DexLabel"},{"p":"proguard.dexfile.reader.node.insn","l":"DexLabelStmtNode"},{"p":"proguard.dexfile.reader.node","l":"DexMethodNode"},{"p":"proguard.dexfile.reader.visitors","l":"DexMethodVisitor"},{"p":"proguard.dexfile.reader","l":"DexReaderFactory"},{"p":"proguard.dexfile.reader.node.insn","l":"DexStmtNode"},{"p":"proguard.dexfile.reader","l":"DexType"},{"p":"proguard.dexfile.ir.ts","l":"Cfg.DfsVisitor"},{"p":"proguard.analysis.cpa.defaults","l":"DifferentialMap"},{"p":"proguard.analysis.cpa.defaults","l":"DifferentialMapAbstractState"},{"p":"proguard.analysis.cpa.state","l":"DifferentialMapAbstractStateFactory"},{"p":"proguard.io","l":"DirectoryFilter"},{"p":"proguard.io","l":"DirectorySource"},{"p":"proguard.io","l":"DirectoryWriter"},{"p":"proguard.analysis","l":"DominatorCalculator"},{"p":"proguard.classfile.visitor","l":"DotClassClassVisitor"},{"p":"proguard.classfile.constant","l":"DoubleConstant"},{"p":"proguard.classfile.attribute.preverification","l":"DoubleType"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.DoubleValue"},{"p":"proguard.evaluation.value","l":"DoubleValue"},{"p":"proguard.io","l":"DummyDataEntry"},{"p":"proguard.dexfile.reader.node.analysis","l":"DvmFrame"},{"p":"proguard.dexfile.reader.node.analysis","l":"DvmInterpreter"},{"p":"proguard.classfile.util","l":"DynamicClassReferenceInitializer"},{"p":"proguard.classfile.constant","l":"DynamicConstant"},{"p":"proguard.classfile.util","l":"DynamicMemberReferenceInitializer"},{"p":"proguard.classfile.visitor","l":"DynamicReturnedClassVisitor"},{"p":"proguard.dexfile.ir.expr","l":"Value.E0Expr"},{"p":"proguard.dexfile.ir.stmt","l":"Stmt.E0Stmt"},{"p":"proguard.dexfile.ir.expr","l":"Value.E1Expr"},{"p":"proguard.dexfile.ir.stmt","l":"Stmt.E1Stmt"},{"p":"proguard.dexfile.ir.expr","l":"Value.E2Expr"},{"p":"proguard.dexfile.ir.stmt","l":"Stmt.E2Stmt"},{"p":"proguard.examples.modify","l":"EditClass"},{"p":"proguard.classfile.attribute.annotation","l":"ElementValue"},{"p":"proguard.classfile.editor","l":"ElementValueAdder"},{"p":"proguard.classfile.editor","l":"ElementValuesEditor"},{"p":"proguard.classfile.attribute.annotation.visitor","l":"ElementValueVisitor"},{"p":"proguard.evaluation.exception","l":"EmptyCodeAttributeException"},{"p":"proguard.util","l":"EmptyStringMatcher"},{"p":"proguard.classfile.attribute.annotation.target","l":"EmptyTargetInfo"},{"p":"proguard.classfile.attribute","l":"EnclosingMethodAttribute"},{"p":"proguard.dexfile.reader.node","l":"DexDebugNode.DexDebugOpNode.EndLocal"},{"p":"proguard.dexfile.ir.expr","l":"Value.EnExpr"},{"p":"proguard.classfile.attribute.annotation","l":"EnumConstantElementValue"},{"p":"proguard.classfile.util","l":"EnumFieldReferenceInitializer"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.EnumValue"},{"p":"proguard.dexfile.reader.node","l":"DexDebugNode.DexDebugOpNode.Epiogue"},{"p":"proguard.exception","l":"ErrorId"},{"p":"proguard.dexfile.ir","l":"ET"},{"p":"proguard.examples","l":"EvaluateCode"},{"p":"proguard.examples.util","l":"ExampleUtil"},{"p":"proguard.classfile.constant.visitor","l":"ExceptClassConstantFilter"},{"p":"proguard.classfile.visitor","l":"ExceptClassesFilter"},{"p":"proguard.classfile.visitor","l":"ExceptClassFilter"},{"p":"proguard.classfile.editor","l":"ExceptionAdder"},{"p":"proguard.classfile.visitor","l":"ExceptionCounter"},{"p":"proguard.classfile.visitor","l":"ExceptionExcludedOffsetFilter"},{"p":"proguard.classfile.visitor","l":"ExceptionHandlerConstantVisitor"},{"p":"proguard.classfile.visitor","l":"ExceptionHandlerFilter"},{"p":"proguard.dexfile.ir.ts","l":"ExceptionHandlerTrim"},{"p":"proguard.classfile.attribute","l":"ExceptionInfo"},{"p":"proguard.classfile.editor","l":"ExceptionInfoAdder"},{"p":"proguard.classfile.editor","l":"ExceptionInfoEditor"},{"p":"proguard.classfile.attribute.visitor","l":"ExceptionInfoVisitor"},{"p":"proguard.classfile.visitor","l":"ExceptionOffsetFilter"},{"p":"proguard.classfile.visitor","l":"ExceptionRangeFilter"},{"p":"proguard.classfile.attribute","l":"ExceptionsAttribute"},{"p":"proguard.classfile.editor","l":"ExceptionsAttributeEditor"},{"p":"proguard.evaluation.exception","l":"ExcessiveComplexityException"},{"p":"proguard.evaluation","l":"ExecutingInvocationUnit"},{"p":"proguard.evaluation.executor","l":"Executor"},{"p":"proguard.evaluation.executor.instancehandler","l":"ExecutorInstanceHandler"},{"p":"proguard.evaluation.executor.instancehandler","l":"ExecutorMethodInstanceHandler"},{"p":"proguard.analysis.cpa.bam","l":"ExpandOperator"},{"p":"proguard.classfile.attribute.module","l":"ExportsInfo"},{"p":"proguard.classfile.attribute.module.visitor","l":"ExportsInfoVisitor"},{"p":"proguard.dexfile.ir.expr","l":"Exprs"},{"p":"proguard.classfile.attribute","l":"ExtendedLineNumberInfo"},{"p":"proguard.util","l":"ExtensionMatcher"},{"p":"proguard.classfile.util","l":"ExternalTypeEnumeration"},{"p":"proguard.util","l":"FeatureNamed"},{"p":"proguard.classfile","l":"Field"},{"p":"proguard.dexfile.reader","l":"Field"},{"p":"proguard.dexfile.ir.expr","l":"FieldExpr"},{"p":"proguard.classfile.constant","l":"FieldrefConstant"},{"p":"proguard.classfile","l":"FieldSignature"},{"p":"proguard.dexfile.reader.node.insn","l":"FieldStmtNode"},{"p":"proguard.classfile.util.renderer","l":"FieldViewModel"},{"p":"proguard.io","l":"FileDataEntry"},{"p":"proguard.util.kotlin.asserter.constraint","l":"FileFacadeIntegrity"},{"p":"proguard.analysis.datastructure","l":"FileLocation"},{"p":"proguard.util","l":"FileNameParser"},{"p":"proguard.resources.file","l":"FilePool"},{"p":"proguard.resources.file.util","l":"FilePoolNameFunction"},{"p":"proguard.io","l":"FileSource"},{"p":"proguard.dexfile.reader.node.insn","l":"FillArrayDataStmtNode"},{"p":"proguard.dexfile.ir.expr","l":"FilledArrayExpr"},{"p":"proguard.dexfile.reader.node.insn","l":"FilledNewArrayStmtNode"},{"p":"proguard.classfile.visitor","l":"FilteredClassVisitor"},{"p":"proguard.io","l":"FilteredDataEntryReader"},{"p":"proguard.io","l":"FilteredDataEntryWriter"},{"p":"proguard.util","l":"FilteredStringFunction"},{"p":"proguard.examples","l":"FindBranches"},{"p":"proguard.io","l":"Finisher"},{"p":"proguard.io","l":"FixedFileWriter"},{"p":"proguard.util","l":"FixedStringMatcher"},{"p":"proguard.classfile.kotlin","l":"KotlinSyntheticClassKindMetadata.Flavor"},{"p":"proguard.classfile.constant","l":"FloatConstant"},{"p":"proguard.classfile.attribute.preverification","l":"FloatType"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.FloatValue"},{"p":"proguard.evaluation.value","l":"FloatValue"},{"p":"proguard.classfile.attribute.annotation.target","l":"FormalParameterTargetInfo"},{"p":"proguard.dexfile.ir.ts","l":"Cfg.FrameVisitor"},{"p":"proguard.classfile.attribute.preverification","l":"FullFrame"},{"p":"proguard.classfile.visitor","l":"FunctionalInterfaceFilter"},{"p":"proguard.util.kotlin.asserter.constraint","l":"FunctionIntegrity"},{"p":"proguard.classfile.kotlin.reflect","l":"FunctionReferenceInfo"},{"p":"proguard.dexfile.ir.stmt","l":"GotoStmt"},{"p":"proguard.analysis.cpa.defaults","l":"HashMapAbstractState"},{"p":"proguard.analysis.cpa.state","l":"HashMapAbstractStateFactory"},{"p":"proguard.analysis.cpa.jvm.state.heap","l":"HeapModel"},{"p":"proguard.util","l":"HierarchyProvider"},{"p":"proguard.evaluation.value","l":"IdentifiedArrayReferenceValue"},{"p":"proguard.evaluation.value","l":"IdentifiedDoubleValue"},{"p":"proguard.evaluation.value","l":"IdentifiedFloatValue"},{"p":"proguard.evaluation.value","l":"IdentifiedIntegerValue"},{"p":"proguard.evaluation.value","l":"IdentifiedLongValue"},{"p":"proguard.evaluation.value","l":"IdentifiedReferenceValue"},{"p":"proguard.evaluation.value","l":"IdentifiedValueFactory"},{"p":"proguard.util","l":"IdentityStringFunction"},{"p":"proguard.io","l":"IdleRewriter"},{"p":"proguard.dexfile.ir.stmt","l":"IfStmt"},{"p":"proguard.classfile.visitor","l":"ImplementedClassConstantFilter"},{"p":"proguard.classfile.visitor","l":"ImplementedClassFilter"},{"p":"proguard.classfile.visitor","l":"ImplementingClassConstantFilter"},{"p":"proguard.evaluation","l":"IncompleteClassHierarchyException"},{"p":"proguard.evaluation.exception","l":"IncompleteClassHierarchyException"},{"p":"proguard.evaluation","l":"InitializationFinder"},{"p":"proguard.classfile.util","l":"InitializationUtil"},{"p":"proguard.classfile.util","l":"InitializedClassUtil"},{"p":"proguard.classfile.editor","l":"InitializerEditor"},{"p":"proguard.classfile.visitor","l":"InitializerMethodFilter"},{"p":"proguard.evaluation.value","l":"InitialValueFactory"},{"p":"proguard.classfile.editor","l":"InnerClassesAccessFixer"},{"p":"proguard.classfile.attribute","l":"InnerClassesAttribute"},{"p":"proguard.classfile.editor","l":"InnerClassesAttributeEditor"},{"p":"proguard.classfile.attribute","l":"InnerClassesInfo"},{"p":"proguard.classfile.attribute.visitor","l":"InnerClassesInfoVisitor"},{"p":"proguard.dexfile.reader.util","l":"InputStreams"},{"p":"proguard.evaluation.executor","l":"ReflectionExecutor.InstanceCopyResult"},{"p":"proguard.classfile.instruction","l":"Instruction"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmTaintTransferRelation.InstructionAbstractInterpreter"},{"p":"proguard.analysis.cpa.jvm.transfer","l":"JvmTransferRelation.InstructionAbstractInterpreter"},{"p":"proguard.classfile.editor","l":"InstructionAdder"},{"p":"proguard.evaluation","l":"PartialEvaluator.InstructionBlock"},{"p":"proguard.analysis.cpa.jvm.util","l":"InstructionClassifier"},{"p":"proguard.classfile.instruction.visitor","l":"InstructionConstantVisitor"},{"p":"proguard.classfile.instruction.visitor","l":"InstructionCounter"},{"p":"proguard.exception","l":"InstructionExceptionFormatter"},{"p":"proguard.classfile.instruction","l":"InstructionFactory"},{"p":"proguard.dexfile.reader","l":"InstructionFormat"},{"p":"proguard.dexfile.reader","l":"InstructionIndexType"},{"p":"proguard.evaluation.value","l":"InstructionOffsetValue"},{"p":"proguard.classfile.instruction.visitor","l":"InstructionOpCodeFilter"},{"p":"proguard.classfile.editor","l":"InstructionSequenceBuilder"},{"p":"proguard.classfile.util","l":"InstructionSequenceMatcher"},{"p":"proguard.classfile.editor","l":"InstructionSequenceReplacer"},{"p":"proguard.classfile.editor","l":"InstructionSequencesReplacer"},{"p":"proguard.classfile.attribute.visitor","l":"InstructionToAttributeVisitor"},{"p":"proguard.classfile.instruction","l":"InstructionUtil"},{"p":"proguard.classfile.instruction.visitor","l":"InstructionVisitor"},{"p":"proguard.classfile.editor","l":"InstructionWriter"},{"p":"proguard.classfile.constant","l":"IntegerConstant"},{"p":"proguard.classfile.attribute.preverification","l":"IntegerType"},{"p":"proguard.evaluation.value","l":"IntegerValue"},{"p":"proguard.classfile.editor","l":"InterfaceAdder"},{"p":"proguard.classfile.editor","l":"InterfaceDeleter"},{"p":"proguard.classfile.constant","l":"InterfaceMethodrefConstant"},{"p":"proguard.classfile.editor","l":"InterfacesEditor"},{"p":"proguard.classfile.editor","l":"InterfaceSorter"},{"p":"proguard.classfile.util","l":"InternalTypeEnumeration"},{"p":"proguard.classfile.util","l":"InternalTypeIterable"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.IntValue"},{"p":"proguard.classfile.util","l":"InvalidClassReferenceVisitor"},{"p":"proguard.classfile.util","l":"InvalidMemberReferenceVisitor"},{"p":"proguard.classfile.util","l":"InvalidReferenceVisitor"},{"p":"proguard.evaluation","l":"InvocationUnit"},{"p":"proguard.dexfile.ir.expr","l":"InvokeCustomExpr"},{"p":"proguard.classfile.constant","l":"InvokeDynamicConstant"},{"p":"proguard.dexfile.ir.expr","l":"InvokeExpr"},{"p":"proguard.dexfile.ir.expr","l":"InvokeNewExpr"},{"p":"proguard.dexfile.ir.expr","l":"InvokePolymorphicExpr"},{"p":"proguard.io.util","l":"IOUtil"},{"p":"proguard.dexfile.ir.ts","l":"Ir2JRegAssignTransformer"},{"p":"proguard.dexfile.converter","l":"IR2ProConverter"},{"p":"proguard.dexfile.ir","l":"IrMethod"},{"p":"proguard.dexfile.reader.node","l":"DexAnnotationNode.Item"},{"p":"proguard.io","l":"JarReader"},{"p":"proguard.examples","l":"JarUtil"},{"p":"proguard.io","l":"JarWriter"},{"p":"proguard.classfile","l":"JavaAccessConstants"},{"p":"proguard.classfile","l":"JavaConstants"},{"p":"proguard.classfile.kotlin.reflect","l":"JavaFieldReferenceInfo"},{"p":"proguard.classfile.kotlin.reflect","l":"JavaMethodReferenceInfo"},{"p":"proguard.classfile.kotlin.reflect","l":"JavaReferenceInfo"},{"p":"proguard.evaluation.executor","l":"JavaReflectionApiExecutor"},{"p":"proguard.classfile","l":"JavaTypeConstants"},{"p":"proguard.classfile","l":"JavaVersionConstants"},{"p":"proguard.evaluation.util.jsonprinter","l":"JsonPrinter"},{"p":"proguard.dexfile.ir.stmt","l":"JumpStmt"},{"p":"proguard.dexfile.reader.node.insn","l":"JumpStmtNode"},{"p":"proguard.analysis.cpa.jvm.state","l":"JvmAbstractState"},{"p":"proguard.analysis.cpa.jvm.state","l":"JvmAbstractStateFactory"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","l":"JvmAssumeCaseCfaEdge"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","l":"JvmAssumeCfaEdge"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","l":"JvmAssumeDefaultCfaEdge"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","l":"JvmAssumeExceptionCfaEdge"},{"p":"proguard.analysis.cpa.jvm.util","l":"JvmBamCpaRun"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","l":"JvmCallCfaEdge"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","l":"JvmCatchCfaNode"},{"p":"proguard.analysis.cpa.jvm.cfa","l":"JvmCfa"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","l":"JvmCfaEdge"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","l":"JvmCfaNode"},{"p":"proguard.analysis.cpa.jvm.domain.value","l":"JvmCfaReferenceValueFactory"},{"p":"proguard.analysis.cpa.jvm.operators","l":"JvmDefaultExpandOperator"},{"p":"proguard.analysis.cpa.jvm.operators","l":"JvmDefaultReduceOperator"},{"p":"proguard.analysis.cpa.jvm.state.heap","l":"JvmForgetfulHeapAbstractState"},{"p":"proguard.analysis.cpa.jvm.state","l":"JvmFrameAbstractState"},{"p":"proguard.analysis.cpa.jvm.state.heap","l":"JvmHeapAbstractState"},{"p":"proguard.analysis.cpa.jvm.witness","l":"JvmHeapLocation"},{"p":"proguard.analysis.cpa.jvm.cfa.edges","l":"JvmInstructionCfaEdge"},{"p":"proguard.analysis.cpa.jvm.cfa.visitors","l":"JvmIntraproceduralCfaFillerAllInstructionVisitor"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmInvokeTaintSink"},{"p":"proguard.analysis.cpa.jvm.witness","l":"JvmLocalVariableLocation"},{"p":"proguard.analysis.cpa.jvm.witness","l":"JvmMemoryLocation"},{"p":"proguard.analysis.cpa.jvm.domain.memory","l":"JvmMemoryLocationAbstractState"},{"p":"proguard.analysis.cpa.jvm.domain.memory","l":"JvmMemoryLocationBamCpaRun"},{"p":"proguard.analysis.cpa.jvm.domain.memory","l":"JvmMemoryLocationCpa"},{"p":"proguard.analysis.cpa.jvm.domain.memory","l":"JvmMemoryLocationMergeJoinOperator"},{"p":"proguard.analysis.cpa.jvm.domain.memory","l":"JvmMemoryLocationTransferRelation"},{"p":"proguard.analysis.cpa.jvm.domain.reference","l":"JvmReferenceAbstractState"},{"p":"proguard.analysis.cpa.jvm.domain.reference","l":"JvmReferenceExpandOperator"},{"p":"proguard.analysis.cpa.jvm.domain.reference","l":"JvmReferenceReduceOperator"},{"p":"proguard.analysis.cpa.jvm.domain.reference","l":"JvmReferenceTransferRelation"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmReturnTaintSink"},{"p":"proguard.analysis.cpa.jvm.state.heap.tree","l":"JvmShallowHeapAbstractState"},{"p":"proguard.analysis.cpa.jvm.witness","l":"JvmStackLocation"},{"p":"proguard.analysis.cpa.jvm.witness","l":"JvmStaticFieldLocation"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmTaintAbstractState"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmTaintBamCpaRun"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmTaintCpa"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmTaintExpandOperator"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmTaintMemoryLocationBamCpaRun"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmTaintReduceOperator"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmTaintSink"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmTaintSource"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmTaintTransferRelation"},{"p":"proguard.analysis.cpa.jvm.domain.taint","l":"JvmTaintTransformer"},{"p":"proguard.analysis.cpa.jvm.transfer","l":"JvmTransferRelation"},{"p":"proguard.analysis.cpa.jvm.cfa.nodes","l":"JvmUnknownCfaNode"},{"p":"proguard.analysis.cpa.jvm.domain.value","l":"JvmValueAbstractState"},{"p":"proguard.analysis.cpa.jvm.domain.value","l":"JvmValueBamCpaRun"},{"p":"proguard.analysis.cpa.jvm.domain.value","l":"JvmValueExpandOperator"},{"p":"proguard.analysis.cpa.jvm.domain.value","l":"JvmValueReduceOperator"},{"p":"proguard.analysis.cpa.jvm.domain.value","l":"JvmValueTransferRelation"},{"p":"proguard.util.kotlin.asserter.constraint","l":"KmAnnotationIntegrity"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotatable"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotation"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinAnnotationArgumentFilter"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinAnnotationArgumentVisitor"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinAnnotationFilter"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinAnnotationVisitor"},{"p":"proguard.util.kotlin.asserter.constraint","l":"KotlinAsserterConstraint"},{"p":"proguard.classfile.kotlin.reflect.util","l":"KotlinCallableReferenceInitializer"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinClassFilter"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinClassFlags"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinClassKindFilter"},{"p":"proguard.classfile.kotlin","l":"KotlinClassKindMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinClassToAnonymousObjectOriginClassVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinClassToDefaultImplsClassVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinClassToInlineOriginFunctionVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinClassVisitor"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinCommonFlags"},{"p":"proguard.classfile.kotlin","l":"KotlinConstants"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinConstructorFilter"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinConstructorFlags"},{"p":"proguard.classfile.kotlin","l":"KotlinConstructorMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinConstructorVisitor"},{"p":"proguard.classfile.kotlin","l":"KotlinContractMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinContractVisitor"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinDeclarationContainerFilter"},{"p":"proguard.classfile.kotlin","l":"KotlinDeclarationContainerMetadata"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinEffectExpressionFlags"},{"p":"proguard.classfile.kotlin","l":"KotlinEffectExpressionMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinEffectExprVisitor"},{"p":"proguard.classfile.kotlin","l":"KotlinEffectMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinEffectVisitor"},{"p":"proguard.classfile.kotlin","l":"KotlinFileFacadeKindMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinFileFacadeVisitor"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinFlags"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinFunctionFilter"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinFunctionFlags"},{"p":"proguard.classfile.kotlin","l":"KotlinFunctionMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinFunctionToDefaultMethodVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinFunctionToMethodVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinFunctionVisitor"},{"p":"proguard.classfile.kotlin","l":"KotlinMetadata"},{"p":"proguard.util.kotlin.asserter","l":"KotlinMetadataAsserter"},{"p":"proguard.classfile.io","l":"LibraryClassReader.KotlinMetadataElementValueConsumer"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinMetadataFilter"},{"p":"proguard.classfile.util.kotlin","l":"KotlinMetadataInitializer"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinMetadataPrinter"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinMetadataRemover"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinMetadataToClazzVisitor"},{"p":"proguard.resources.kotlinmodule.visitor","l":"KotlinMetadataToModuleVisitor"},{"p":"proguard.classfile.util.kotlin","l":"KotlinMetadataType"},{"p":"proguard.classfile.kotlin","l":"KotlinMetadataVersion"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinMetadataVersionFilter"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinMetadataVisitor"},{"p":"proguard.classfile.io.kotlin","l":"KotlinMetadataWriter"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinModalityFlags"},{"p":"proguard.resources.kotlinmodule","l":"KotlinModule"},{"p":"proguard.resources.kotlinmodule.io","l":"KotlinModuleDataEntryReader"},{"p":"proguard.resources.kotlinmodule.io","l":"KotlinModuleDataEntryWriter"},{"p":"proguard.util.kotlin.asserter.constraint","l":"KotlinModuleIntegrity"},{"p":"proguard.resources.kotlinmodule","l":"KotlinModulePackage"},{"p":"proguard.resources.kotlinmodule.visitor","l":"KotlinModulePackageVisitor"},{"p":"proguard.resources.kotlinmodule.visitor","l":"KotlinModulePrinter"},{"p":"proguard.resources.kotlinmodule.io","l":"KotlinModuleReader"},{"p":"proguard.resources.kotlinmodule.util","l":"KotlinModuleReferenceInitializer"},{"p":"proguard.resources.kotlinmodule.visitor","l":"KotlinModuleVisitor"},{"p":"proguard.resources.kotlinmodule.io","l":"KotlinModuleWriter"},{"p":"proguard.classfile.kotlin","l":"KotlinMultiFileFacadeKindMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinMultiFileFacadeVisitor"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinMultiFilePartKindFilter"},{"p":"proguard.classfile.kotlin","l":"KotlinMultiFilePartKindMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinMultiFilePartVisitor"},{"p":"proguard.classfile.util.kotlin","l":"KotlinNameUtil"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinPropertyAccessorFlags"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinPropertyFilter"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinPropertyFlags"},{"p":"proguard.classfile.kotlin","l":"KotlinPropertyMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinPropertyVisitor"},{"p":"proguard.classfile.visitor","l":"ReferencedClassVisitor.KotlinReferencedClassVisitor"},{"p":"proguard.classfile.util.kotlin","l":"KotlinStringUtil"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinSyntheticClassKindFilter"},{"p":"proguard.classfile.kotlin","l":"KotlinSyntheticClassKindMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinSyntheticClassVisitor"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinTypeAliasFilter"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinTypeAliasFlags"},{"p":"proguard.classfile.kotlin","l":"KotlinTypeAliasMetadata"},{"p":"proguard.classfile.util","l":"ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinTypeAliasVisitor"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinTypeFilter"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinTypeFlags"},{"p":"proguard.classfile.kotlin","l":"KotlinTypeMetadata"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinTypeParameterFilter"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinTypeParameterFlags"},{"p":"proguard.classfile.kotlin","l":"KotlinTypeParameterMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinTypeParameterVisitor"},{"p":"proguard.classfile.kotlin","l":"KotlinTypeVariance"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinTypeVisitor"},{"p":"proguard.classfile.kotlin.visitor.filter","l":"KotlinValueParameterFilter"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinValueParameterFlags"},{"p":"proguard.classfile.kotlin","l":"KotlinValueParameterMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinValueParameterVisitor"},{"p":"proguard.classfile.kotlin","l":"KotlinVersionRequirementMetadata"},{"p":"proguard.classfile.kotlin.visitor","l":"KotlinVersionRequirementVisitor"},{"p":"proguard.classfile.kotlin.flags","l":"KotlinVisibilityFlags"},{"p":"proguard.classfile.editor","l":"CodeAttributeEditor.Label"},{"p":"proguard.classfile.editor","l":"CompactCodeAttributeComposer.Label"},{"p":"proguard.classfile.editor","l":"InstructionSequenceReplacer.Label"},{"p":"proguard.dexfile.ir","l":"LabelAndLocalMapper"},{"p":"proguard.dexfile.ir.stmt","l":"LabelStmt"},{"p":"proguard.backport","l":"LambdaExpression"},{"p":"proguard.backport","l":"LambdaExpressionCollector"},{"p":"proguard.io","l":"ZipOutput.LargeDataOutputStream"},{"p":"proguard.normalize","l":"LargeStringSplitter"},{"p":"proguard.analysis.cpa.defaults","l":"LatticeAbstractState"},{"p":"proguard.classfile.attribute.preverification","l":"LessZeroFrame"},{"p":"proguard.classfile","l":"LibraryClass"},{"p":"proguard.classfile.editor","l":"LibraryClassBuilder"},{"p":"proguard.classfile.editor","l":"LibraryClassEditor"},{"p":"proguard.classfile.visitor","l":"LibraryClassFilter"},{"p":"proguard.classfile.io","l":"LibraryClassReader"},{"p":"proguard.classfile","l":"LibraryField"},{"p":"proguard.classfile","l":"LibraryMember"},{"p":"proguard.classfile.visitor","l":"LibraryMemberFilter"},{"p":"proguard.classfile","l":"LibraryMethod"},{"p":"proguard.analysis.cpa.defaults","l":"LimitedHashMap"},{"p":"proguard.analysis.cpa.defaults","l":"LimitedHashMapAbstractState"},{"p":"proguard.analysis.cpa.state","l":"LimitedHashMapAbstractStateFactory"},{"p":"proguard.dexfile.reader.node","l":"DexDebugNode.DexDebugOpNode.LineNumber"},{"p":"proguard.classfile.visitor","l":"LineNumberFinder"},{"p":"proguard.classfile.attribute","l":"LineNumberInfo"},{"p":"proguard.classfile.editor","l":"LineNumberInfoAdder"},{"p":"proguard.classfile.attribute.visitor","l":"LineNumberInfoVisitor"},{"p":"proguard.classfile.attribute.visitor","l":"LineNumberRangeFinder"},{"p":"proguard.classfile.attribute","l":"LineNumberTableAttribute"},{"p":"proguard.classfile.editor","l":"LineNumberTableAttributeEditor"},{"p":"proguard.classfile.editor","l":"LineNumberTableAttributeTrimmer"},{"p":"proguard.analysis.cpa.defaults","l":"ListAbstractState"},{"p":"proguard.util","l":"ListFunctionParser"},{"p":"proguard.util","l":"ListMatcher"},{"p":"proguard.util","l":"ListParser"},{"p":"proguard.util","l":"ListUtil"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.LiteralValue"},{"p":"proguard.dexfile.ir.ts","l":"UnSSATransformer.LiveA"},{"p":"proguard.evaluation","l":"LivenessAnalyzer"},{"p":"proguard.dexfile.ir.expr","l":"Local"},{"p":"proguard.dexfile.ir","l":"LocalVar"},{"p":"proguard.classfile.attribute","l":"LocalVariableInfo"},{"p":"proguard.classfile.editor","l":"LocalVariableInfoAdder"},{"p":"proguard.classfile.attribute.visitor","l":"LocalVariableInfoVisitor"},{"p":"proguard.classfile.kotlin.reflect","l":"LocalVariableReferenceInfo"},{"p":"proguard.classfile.kotlin.reflect.util","l":"KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer"},{"p":"proguard.classfile.attribute","l":"LocalVariableTableAttribute"},{"p":"proguard.classfile.editor","l":"LocalVariableTableAttributeEditor"},{"p":"proguard.classfile.attribute.annotation.target","l":"LocalVariableTargetElement"},{"p":"proguard.classfile.attribute.annotation.target.visitor","l":"LocalVariableTargetElementVisitor"},{"p":"proguard.classfile.attribute.annotation.target","l":"LocalVariableTargetInfo"},{"p":"proguard.classfile.attribute","l":"LocalVariableTypeInfo"},{"p":"proguard.classfile.editor","l":"LocalVariableTypeInfoAdder"},{"p":"proguard.classfile.attribute.visitor","l":"LocalVariableTypeInfoVisitor"},{"p":"proguard.classfile.attribute","l":"LocalVariableTypeTableAttribute"},{"p":"proguard.classfile.editor","l":"LocalVariableTypeTableAttributeEditor"},{"p":"proguard.analysis.datastructure","l":"Location"},{"p":"proguard.classfile.constant","l":"LongConstant"},{"p":"proguard.classfile.attribute.preverification","l":"LongType"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.LongValue"},{"p":"proguard.evaluation.value","l":"LongValue"},{"p":"proguard.classfile.instruction","l":"LookUpSwitchInstruction"},{"p":"proguard.dexfile.ir.stmt","l":"LookupSwitchStmt"},{"p":"proguard.io","l":"ManifestRewriter"},{"p":"proguard.analysis.cpa.defaults","l":"MapAbstractState"},{"p":"proguard.analysis.cpa.state","l":"MapAbstractStateFactory"},{"p":"proguard.util","l":"MapStringFunction"},{"p":"proguard.util","l":"MatchedStringFunction"},{"p":"proguard.util","l":"MatchedStringMatcher"},{"p":"proguard.util","l":"MatchingStringFunction"},{"p":"proguard.classfile.attribute.visitor","l":"MaxStackSizeComputer"},{"p":"proguard.classfile","l":"Member"},{"p":"proguard.classfile.visitor","l":"MemberAccessFilter"},{"p":"proguard.classfile.visitor","l":"MemberAccessFlagCleaner"},{"p":"proguard.classfile.visitor","l":"MemberAccessFlagSetter"},{"p":"proguard.classfile.visitor","l":"MemberAccessSetter"},{"p":"proguard.classfile.editor","l":"MemberAdder"},{"p":"proguard.classfile.visitor","l":"MemberClassAccessFilter"},{"p":"proguard.classfile.visitor","l":"MemberCollectionFilter"},{"p":"proguard.classfile.visitor","l":"MemberCollector"},{"p":"proguard.classfile.visitor","l":"MemberCounter"},{"p":"proguard.classfile.visitor","l":"MemberDescriptorFilter"},{"p":"proguard.classfile.visitor","l":"MemberDescriptorReferencedClassVisitor"},{"p":"proguard.classfile.util","l":"MemberFinder"},{"p":"proguard.classfile.visitor","l":"MemberNameFilter"},{"p":"proguard.classfile.visitor","l":"MemberProcessingFlagFilter"},{"p":"proguard.classfile.editor","l":"MemberReferenceFixer"},{"p":"proguard.classfile.editor","l":"MemberRemover"},{"p":"proguard.classfile.util","l":"MemberRenamer"},{"p":"proguard.classfile.visitor","l":"MemberToClassVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"MemberToKotlinPropertyVisitor"},{"p":"proguard.classfile.util.renderer","l":"MemberViewModel"},{"p":"proguard.classfile.visitor","l":"MemberVisitor"},{"p":"proguard.analysis.cpa.defaults","l":"MergeJoinOperator"},{"p":"proguard.analysis.cpa.interfaces","l":"MergeOperator"},{"p":"proguard.analysis.cpa.defaults","l":"MergeSepOperator"},{"p":"proguard.classfile","l":"Method"},{"p":"proguard.dexfile.reader","l":"Method"},{"p":"proguard.classfile.visitor","l":"MethodCollector"},{"p":"proguard.classfile.editor","l":"MethodCopier"},{"p":"proguard.classfile.visitor","l":"MethodCounter"},{"p":"proguard.dexfile.reader.node.insn","l":"MethodCustomStmtNode"},{"p":"proguard.classfile","l":"MethodDescriptor"},{"p":"proguard.evaluation.value.object.model.reflective","l":"ModelHelper.MethodExecutionContext"},{"p":"proguard.evaluation.executor","l":"MethodExecutionInfo"},{"p":"proguard.classfile.visitor","l":"MethodFilter"},{"p":"proguard.dexfile.reader","l":"MethodHandle"},{"p":"proguard.classfile.constant","l":"MethodHandleConstant"},{"p":"proguard.classfile.visitor","l":"MethodImplementationFilter"},{"p":"proguard.classfile.visitor","l":"MethodImplementationTraveler"},{"p":"proguard.classfile","l":"MethodInfo"},{"p":"proguard.classfile.editor","l":"MethodInvocationFixer"},{"p":"proguard.classfile.util","l":"MethodLinker"},{"p":"proguard.classfile.attribute","l":"MethodParametersAttribute"},{"p":"proguard.dexfile.reader.node.insn","l":"MethodPolymorphicStmtNode"},{"p":"proguard.classfile.constant","l":"MethodrefConstant"},{"p":"proguard.classfile.constant.visitor","l":"MethodrefTraveler"},{"p":"proguard.evaluation","l":"MethodResult"},{"p":"proguard.classfile","l":"MethodSignature"},{"p":"proguard.dexfile.reader.node.insn","l":"MethodStmtNode"},{"p":"proguard.classfile.kotlin.visitor","l":"MethodToKotlinConstructorVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"MethodToKotlinFunctionVisitor"},{"p":"proguard.classfile.constant","l":"MethodTypeConstant"},{"p":"proguard.classfile.util.renderer","l":"MethodViewModel"},{"p":"proguard.analysis","l":"Metrics"},{"p":"proguard.analysis","l":"Metrics.MetricType"},{"p":"proguard.evaluation.value.object.model","l":"Model"},{"p":"proguard.evaluation.value.object.model.reflective","l":"ModeledConstructor"},{"p":"proguard.evaluation.value.object.model.reflective","l":"ModeledInstanceMethod"},{"p":"proguard.evaluation.value.object.model.reflective","l":"ModeledStaticMethod"},{"p":"proguard.evaluation.value.object.model.reflective","l":"ModelHelper"},{"p":"proguard.classfile.kotlin","l":"KotlinConstants.MODULE"},{"p":"proguard.classfile.attribute.module","l":"ModuleAttribute"},{"p":"proguard.classfile.constant","l":"ModuleConstant"},{"p":"proguard.classfile.attribute.module","l":"ModuleMainClassAttribute"},{"p":"proguard.classfile.attribute.module","l":"ModulePackagesAttribute"},{"p":"proguard.classfile.attribute.preverification","l":"MoreZeroFrame"},{"p":"proguard.classfile.attribute.annotation.visitor","l":"MultiAnnotationVisitor"},{"p":"proguard.dexfile.ir.ts","l":"MultiArrayTransformer"},{"p":"proguard.classfile.attribute.visitor","l":"MultiAttributeVisitor"},{"p":"proguard.classfile.visitor","l":"MultiClassPoolVisitor"},{"p":"proguard.classfile.visitor","l":"MultiClassVisitor"},{"p":"proguard.classfile.visitor","l":"MultiConstantVisitor"},{"p":"proguard.io","l":"MultiDataEntryReader"},{"p":"proguard.util.kotlin.asserter.constraint","l":"MultiFileFacadeIntegrity"},{"p":"proguard.util.kotlin.asserter.constraint","l":"MultiFilePartIntegrity"},{"p":"proguard.classfile.instruction.visitor","l":"MultiInstructionVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"MultiKotlinMetadataVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"MultiKotlinTypeParameterVisitor"},{"p":"proguard.classfile.visitor","l":"MultiMemberVisitor"},{"p":"proguard.resources.file.visitor","l":"MultiResourceFileVisitor"},{"p":"proguard.evaluation.value","l":"MultiTypedReferenceValue"},{"p":"proguard.evaluation.value","l":"MultiTypedReferenceValueFactory"},{"p":"proguard.util","l":"MultiValueMap"},{"p":"proguard.dexfile.reader.util","l":"Mutf8"},{"p":"proguard.io","l":"JarWriter.MyMultiDigestOutputStream"},{"p":"proguard.examples","l":"TransformExample.MyTransformer"},{"p":"proguard.classfile.constant","l":"NameAndTypeConstant"},{"p":"proguard.classfile.editor","l":"NameAndTypeShrinker"},{"p":"proguard.classfile.editor","l":"NamedAttributeDeleter"},{"p":"proguard.classfile.visitor","l":"NamedClassVisitor"},{"p":"proguard.io","l":"NamedDataEntry"},{"p":"proguard.classfile.visitor","l":"NamedFieldVisitor"},{"p":"proguard.classfile.visitor","l":"NamedMethodVisitor"},{"p":"proguard.io","l":"NameFilteredDataEntryReader"},{"p":"proguard.io","l":"NameFilteredDataEntryWriter"},{"p":"proguard.classfile.editor","l":"ClassReferenceFixer.NameGenerationStrategy"},{"p":"proguard.util","l":"NameParser"},{"p":"proguard.evaluation.value","l":"NegatedDoubleValue"},{"p":"proguard.evaluation.value","l":"NegatedFloatValue"},{"p":"proguard.evaluation.value","l":"NegatedIntegerValue"},{"p":"proguard.evaluation.value","l":"NegatedLongValue"},{"p":"proguard.classfile.exception","l":"NegativeStackSizeException"},{"p":"proguard.classfile.attribute","l":"NestHostAttribute"},{"p":"proguard.classfile.util","l":"NestHostFinder"},{"p":"proguard.classfile.editor","l":"NestMemberAdder"},{"p":"proguard.classfile.attribute","l":"NestMembersAttribute"},{"p":"proguard.analysis.cpa.defaults","l":"NeverAbortOperator"},{"p":"proguard.dexfile.ir.expr","l":"NewExpr"},{"p":"proguard.dexfile.ir.expr","l":"NewMutiArrayExpr"},{"p":"proguard.dexfile.ir.ts","l":"NewTransformer"},{"p":"proguard.analysis.datastructure.callgraph","l":"Node"},{"p":"proguard.io","l":"NonClosingDataEntryWriter"},{"p":"proguard.classfile.attribute.visitor","l":"NonEmptyAttributeFilter"},{"p":"proguard.analysis.cpa.bam","l":"NoOpRebuildOperator"},{"p":"proguard.analysis.cpa.bam","l":"NoOpReduceOperator"},{"p":"proguard.dexfile.ir.stmt","l":"NopStmt"},{"p":"proguard.util","l":"NotMatcher"},{"p":"proguard.util","l":"NotStringFunction"},{"p":"proguard.classfile.attribute.preverification","l":"NullType"},{"p":"proguard.classfile.attribute.preverification","l":"ObjectType"},{"p":"proguard.util","l":"ObjectUtil"},{"p":"proguard.classfile.attribute.annotation.target","l":"OffsetTargetInfo"},{"p":"proguard.dexfile.ir.ts","l":"Cfg.OnAssignCallBack"},{"p":"proguard.dexfile.ir.ts","l":"Cfg.OnUseCallBack"},{"p":"proguard.dexfile.reader","l":"Op"},{"p":"proguard.classfile.attribute.module","l":"OpensInfo"},{"p":"proguard.classfile.attribute.module.visitor","l":"OpensInfoVisitor"},{"p":"proguard.classfile.kotlin.reflect.util","l":"KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter"},{"p":"proguard.util","l":"OrMatcher"},{"p":"proguard.util","l":"OrStringFunction"},{"p":"proguard.classfile.constant","l":"PackageConstant"},{"p":"proguard.dexfile.reader.node.insn","l":"PackedSwitchStmtNode"},{"p":"proguard.classfile.util.renderer","l":"MemberViewModel.Pair"},{"p":"proguard.classfile.visitor","l":"ParallelAllClassVisitor"},{"p":"proguard.io","l":"ParallelDexClassReader"},{"p":"proguard.classfile.attribute.annotation","l":"ParameterAnnotationsAttribute"},{"p":"proguard.classfile.editor","l":"ParameterAnnotationsAttributeEditor"},{"p":"proguard.classfile.attribute","l":"ParameterInfo"},{"p":"proguard.classfile.editor","l":"ParameterInfoAdder"},{"p":"proguard.classfile.attribute.visitor","l":"ParameterInfoVisitor"},{"p":"proguard.classfile.visitor","l":"ParameterVisitor"},{"p":"proguard.io","l":"ParentDataEntryWriter"},{"p":"proguard.evaluation","l":"PartialEvaluator"},{"p":"proguard.evaluation.exception","l":"PartialEvaluatorException"},{"p":"proguard.evaluation.util","l":"PartialEvaluatorStateTracker"},{"p":"proguard.util","l":"PartialEvaluatorUtils"},{"p":"proguard.evaluation.value","l":"ParticularDoubleValue"},{"p":"proguard.evaluation.value","l":"ParticularFloatValue"},{"p":"proguard.evaluation.value","l":"ParticularIntegerValue"},{"p":"proguard.evaluation.value","l":"ParticularLongValue"},{"p":"proguard.evaluation.value","l":"ParticularReferenceValue"},{"p":"proguard.evaluation","l":"ParticularReferenceValueFactory"},{"p":"proguard.evaluation.value","l":"ParticularValueFactory"},{"p":"proguard.classfile.editor","l":"PeepholeEditor"},{"p":"proguard.classfile.editor","l":"PermittedSubclassAdder"},{"p":"proguard.classfile.attribute","l":"PermittedSubclassesAttribute"},{"p":"proguard.dexfile.ir.expr","l":"PhiExpr"},{"p":"proguard.analysis.cpa.interfaces","l":"Precision"},{"p":"proguard.analysis.cpa.interfaces","l":"PrecisionAdjustment"},{"p":"proguard.analysis.cpa.defaults","l":"PrecisionAdjustmentResult"},{"p":"proguard.io","l":"PrefixAddingDataEntryWriter"},{"p":"proguard.util","l":"PrefixAddingStringFunction"},{"p":"proguard.util","l":"PrefixRemovingStringFunction"},{"p":"proguard.io","l":"PrefixStrippingDataEntryReader"},{"p":"proguard.examples","l":"Preverify"},{"p":"proguard.analysis.cpa.defaults","l":"SequentialCpaRun.PreviousRunDurationReceiver"},{"p":"proguard.classfile.constant","l":"PrimitiveArrayConstant"},{"p":"proguard.classfile.constant.visitor","l":"PrimitiveArrayConstantElementVisitor"},{"p":"proguard.classfile.util","l":"PrimitiveArrayConstantReplacer"},{"p":"proguard.classfile.constant.visitor","l":"PrimitiveArrayConstantVisitor"},{"p":"proguard.evaluation.value","l":"PrimitiveTypedReferenceValueFactory"},{"p":"proguard.examples","l":"PrintClasses"},{"p":"proguard.util","l":"Processable"},{"p":"proguard.classfile.util.renderer","l":"ProcessableViewModel"},{"p":"proguard.util","l":"ProcessableVisitor"},{"p":"proguard.util","l":"ProcessingFlagCleaner"},{"p":"proguard.classfile.io.visitor","l":"ProcessingFlagDataEntryFilter"},{"p":"proguard.util","l":"ProcessingFlags"},{"p":"proguard.util","l":"ProcessingFlagSetter"},{"p":"proguard.classfile.visitor","l":"ProcessingInfoSetter"},{"p":"proguard.evaluation","l":"Processor"},{"p":"proguard.classfile","l":"ProgramClass"},{"p":"proguard.classfile.visitor","l":"ProgramClassFilter"},{"p":"proguard.classfile.io","l":"ProgramClassReader"},{"p":"proguard.classfile.io","l":"ProgramClassWriter"},{"p":"proguard.classfile","l":"ProgramField"},{"p":"proguard.analysis.cpa.interfaces","l":"ProgramLocationDependent"},{"p":"proguard.analysis.cpa.interfaces","l":"ProgramLocationDependentBackwardTransferRelation"},{"p":"proguard.analysis.cpa.interfaces","l":"ProgramLocationDependentForwardTransferRelation"},{"p":"proguard.analysis.cpa.defaults","l":"ProgramLocationDependentReachedSet"},{"p":"proguard.analysis.cpa.interfaces","l":"ProgramLocationDependentTransferRelation"},{"p":"proguard.classfile","l":"ProgramMember"},{"p":"proguard.classfile.visitor","l":"ProgramMemberFilter"},{"p":"proguard.classfile","l":"ProgramMethod"},{"p":"proguard.exception","l":"ProguardCoreException"},{"p":"proguard.dexfile.reader.node","l":"DexDebugNode.DexDebugOpNode.Prologue"},{"p":"proguard.util.kotlin.asserter.constraint","l":"PropertyIntegrity"},{"p":"proguard.classfile.kotlin.reflect","l":"PropertyReferenceInfo"},{"p":"proguard.dexfile.reader","l":"Proto"},{"p":"proguard.classfile.attribute.module","l":"ProvidesInfo"},{"p":"proguard.classfile.attribute.module.visitor","l":"ProvidesInfoVisitor"},{"p":"proguard.evaluation.value","l":"RangeIntegerValue"},{"p":"proguard.evaluation.value","l":"RangeValueFactory"},{"p":"proguard.analysis.cpa.interfaces","l":"ReachedSet"},{"p":"proguard.analysis.cpa.bam","l":"RebuildOperator"},{"p":"proguard.classfile.attribute","l":"RecordAttribute"},{"p":"proguard.classfile.attribute","l":"RecordComponentInfo"},{"p":"proguard.classfile.attribute.visitor","l":"RecordComponentInfoVisitor"},{"p":"proguard.analysis.cpa.bam","l":"ReduceOperator"},{"p":"proguard.classfile.constant","l":"RefConstant"},{"p":"proguard.analysis.cpa.jvm.domain.reference","l":"Reference"},{"p":"proguard.classfile.visitor","l":"ReferencedClassesExtractor"},{"p":"proguard.classfile.visitor","l":"ReferencedClassVisitor"},{"p":"proguard.classfile.kotlin.visitor","l":"ReferencedKotlinMetadataVisitor"},{"p":"proguard.classfile.visitor","l":"ReferencedMemberVisitor"},{"p":"proguard.evaluation","l":"ReferenceTracingInvocationUnit"},{"p":"proguard.evaluation","l":"ReferenceTracingValueFactory"},{"p":"proguard.evaluation.value","l":"ReferenceValue"},{"p":"proguard.dexfile.ir.expr","l":"RefExpr"},{"p":"proguard.classfile.kotlin","l":"KotlinConstants.REFLECTION"},{"p":"proguard.evaluation.executor","l":"ReflectionExecutor"},{"p":"proguard.evaluation.value","l":"ReflectiveMethodCallUtil"},{"p":"proguard.evaluation.value.object.model.reflective","l":"ReflectiveModel"},{"p":"proguard.evaluation.executor","l":"ReflectiveModelExecutor"},{"p":"proguard.dexfile.ir.ts","l":"Ir2JRegAssignTransformer.Reg"},{"p":"proguard.dexfile.ir.ts","l":"UnSSATransformer.RegAssign"},{"p":"proguard.dexfile.ir.ts","l":"RemoveConstantFromSSA"},{"p":"proguard.dexfile.ir.ts","l":"RemoveLocalFromSSA"},{"p":"proguard.examples","l":"RemoveLogging"},{"p":"proguard.io","l":"RenamedDataEntry"},{"p":"proguard.io","l":"RenamedDataEntryReader"},{"p":"proguard.io","l":"RenamedDataEntryWriter"},{"p":"proguard.io","l":"RenamedParentDataEntryWriter"},{"p":"proguard.examples.modify","l":"ReplaceSimpleConstantInstruction"},{"p":"proguard.util.kotlin.asserter","l":"Reporter"},{"p":"proguard.classfile.attribute.visitor","l":"RequiredAttributeFilter"},{"p":"proguard.classfile.attribute.module","l":"RequiresInfo"},{"p":"proguard.classfile.attribute.module.visitor","l":"RequiresInfoVisitor"},{"p":"proguard.resources.file","l":"ResourceFile"},{"p":"proguard.resources.file.io","l":"ResourceFileDataEntryReader"},{"p":"proguard.resources.file.visitor","l":"ResourceFileNameFilter"},{"p":"proguard.resources.file","l":"ResourceFilePool"},{"p":"proguard.resources.file.visitor","l":"ResourceFilePoolFiller"},{"p":"proguard.resources.file.util","l":"ResourceFilePoolNameFunction"},{"p":"proguard.resources.file.visitor","l":"ResourceFilePresenceFilter"},{"p":"proguard.resources.file.visitor","l":"ResourceFileProcessingFlagFilter"},{"p":"proguard.resources.file.visitor","l":"ResourceFileVisitor"},{"p":"proguard.resources.file","l":"ResourceJavaReference"},{"p":"proguard.resources.file.visitor","l":"ResourceJavaReferenceClassInitializer"},{"p":"proguard.resources.file.visitor","l":"ResourceJavaReferenceCleaner"},{"p":"proguard.resources.file.visitor","l":"ResourceJavaReferenceCollector"},{"p":"proguard.dexfile.reader.node","l":"DexDebugNode.DexDebugOpNode.RestartLocal"},{"p":"proguard.dexfile.ir.stmt","l":"ReturnVoidStmt"},{"p":"proguard.io","l":"RuntimeDataInput"},{"p":"proguard.io","l":"RuntimeDataOutput"},{"p":"proguard.classfile.attribute.annotation","l":"RuntimeInvisibleAnnotationsAttribute"},{"p":"proguard.classfile.attribute.annotation","l":"RuntimeInvisibleParameterAnnotationsAttribute"},{"p":"proguard.classfile.attribute.annotation","l":"RuntimeInvisibleTypeAnnotationsAttribute"},{"p":"proguard.classfile.attribute.annotation","l":"RuntimeVisibleAnnotationsAttribute"},{"p":"proguard.classfile.attribute.annotation","l":"RuntimeVisibleParameterAnnotationsAttribute"},{"p":"proguard.classfile.attribute.annotation","l":"RuntimeVisibleTypeAnnotationsAttribute"},{"p":"proguard.classfile.attribute.preverification","l":"SameOneFrame"},{"p":"proguard.classfile.attribute.preverification","l":"SameZeroFrame"},{"p":"com.example","l":"SampleClassWithArray"},{"p":"com.example","l":"SampleClassWithConstantComputation"},{"p":"com.example","l":"SampleClassWithObjects"},{"p":"com.example","l":"SampleClassWithRangeComputation"},{"p":"com.example","l":"SampleClassWithVariableComputation"},{"p":"proguard.analysis.cpa.defaults","l":"SequentialCpaRun"},{"p":"proguard.analysis.cpa.defaults","l":"SetAbstractState"},{"p":"proguard.util","l":"SettableMatcher"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.ShortValue"},{"p":"proguard.classfile","l":"Signature"},{"p":"proguard.classfile.visitor","l":"SignatureAdapter"},{"p":"proguard.classfile.attribute","l":"SignatureAttribute"},{"p":"proguard.classfile.visitor","l":"SignatureAttributeReferencedClassVisitor"},{"p":"proguard.io","l":"SignedJarWriter"},{"p":"proguard.classfile.visitor","l":"SimilarMemberVisitor"},{"p":"proguard.classfile.visitor","l":"SimpleClassPrinter"},{"p":"proguard.analysis.cpa.defaults","l":"SimpleCpa"},{"p":"proguard.util","l":"SimpleFeatureNamedProcessable"},{"p":"proguard.classfile.instruction","l":"SimpleInstruction"},{"p":"proguard.dexfile.ir.ts.an","l":"SimpleLiveAnalyze"},{"p":"proguard.dexfile.ir.ts.an","l":"SimpleLiveValue"},{"p":"proguard.util","l":"SimpleProcessable"},{"p":"proguard.evaluation","l":"SimplifiedInvocationUnit"},{"p":"proguard.util","l":"SingleFunctionParser"},{"p":"proguard.classfile.attribute.visitor","l":"SingleTimeAttributeVisitor"},{"p":"proguard.classfile.visitor","l":"SingleTimeClassVisitor"},{"p":"proguard.analysis.cpa.defaults","l":"SingleWrapperTransferRelation"},{"p":"proguard.classfile.attribute","l":"SourceDebugExtensionAttribute"},{"p":"proguard.classfile.attribute","l":"SourceDirAttribute"},{"p":"proguard.classfile.attribute","l":"SourceFileAttribute"},{"p":"proguard.dexfile.reader.node.insn","l":"SparseSwitchStmtNode"},{"p":"proguard.evaluation.value","l":"SpecificDoubleValue"},{"p":"proguard.evaluation.value","l":"SpecificFloatValue"},{"p":"proguard.evaluation.value","l":"SpecificIntegerValue"},{"p":"proguard.evaluation.value","l":"SpecificLongValue"},{"p":"proguard.dexfile.ir.stmt","l":"Stmt.ST"},{"p":"proguard.evaluation","l":"Stack"},{"p":"proguard.analysis.cpa.defaults","l":"StackAbstractState"},{"p":"proguard.evaluation.exception","l":"StackCategoryOneException"},{"p":"proguard.analysis.cpa.jvm.domain.memory","l":"JvmMemoryLocationAbstractState.StackEntry"},{"p":"proguard.evaluation.exception","l":"StackGeneralizationException"},{"p":"proguard.classfile.attribute.preverification","l":"StackMapAttribute"},{"p":"proguard.classfile.attribute.preverification","l":"StackMapFrame"},{"p":"proguard.classfile.attribute.preverification.visitor","l":"StackMapFrameVisitor"},{"p":"proguard.classfile.attribute.preverification","l":"StackMapTableAttribute"},{"p":"proguard.classfile.attribute.visitor","l":"StackSizeComputer"},{"p":"proguard.classfile.attribute.visitor","l":"MaxStackSizeComputer.StackSizeConsumer"},{"p":"proguard.classfile.editor","l":"StackSizeUpdater"},{"p":"proguard.evaluation.exception","l":"StackTypeException"},{"p":"proguard.dexfile.reader.node","l":"DexDebugNode.DexDebugOpNode.StartLocalNode"},{"p":"proguard.dexfile.ir.ts","l":"StatedTransformer"},{"p":"proguard.analysis.cpa.util","l":"StateNames"},{"p":"proguard.dexfile.ir.expr","l":"StaticFieldExpr"},{"p":"proguard.analysis.cpa.defaults","l":"StaticPrecisionAdjustment"},{"p":"proguard.dexfile.ir.stmt","l":"Stmt"},{"p":"proguard.dexfile.reader.node.insn","l":"Stmt0RNode"},{"p":"proguard.dexfile.reader.node.insn","l":"Stmt1RNode"},{"p":"proguard.dexfile.reader.node.insn","l":"Stmt2R1NNode"},{"p":"proguard.dexfile.reader.node.insn","l":"Stmt2RNode"},{"p":"proguard.dexfile.reader.node.insn","l":"Stmt3RNode"},{"p":"proguard.dexfile.ir.stmt","l":"StmtList"},{"p":"proguard.dexfile.ir.stmt","l":"Stmts"},{"p":"proguard.dexfile.ir","l":"StmtSearcher"},{"p":"proguard.dexfile.ir","l":"StmtTraveler"},{"p":"proguard.analysis.cpa.defaults","l":"StopAlwaysOperator"},{"p":"proguard.analysis.cpa.defaults","l":"StopContainedOperator"},{"p":"proguard.analysis.cpa.defaults","l":"StopJoinOperator"},{"p":"proguard.analysis.cpa.defaults","l":"StopNeverOperator"},{"p":"proguard.analysis.cpa.interfaces","l":"StopOperator"},{"p":"proguard.analysis.cpa.defaults","l":"StopSepOperator"},{"p":"proguard.io","l":"StreamingDataEntry"},{"p":"proguard.classfile.constant","l":"StringConstant"},{"p":"proguard.util","l":"StringFunction"},{"p":"proguard.util","l":"StringFunctionParser"},{"p":"proguard.classfile.util.renderer.core","l":"StringListWriter"},{"p":"proguard.util","l":"StringMatcher"},{"p":"proguard.util","l":"StringParser"},{"p":"proguard.classfile.util","l":"StringReferenceInitializer"},{"p":"proguard.evaluation.executor","l":"StringReflectionExecutor"},{"p":"proguard.classfile.util","l":"StringSharer"},{"p":"proguard.util","l":"StringUtil"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.StringValue"},{"p":"proguard.classfile.editor","l":"SubclassAdder"},{"p":"proguard.classfile.visitor","l":"SubclassFilter"},{"p":"proguard.classfile.editor","l":"SubclassRemover"},{"p":"proguard.classfile.editor","l":"SubclassToAdder"},{"p":"proguard.classfile.visitor","l":"SubclassTraveler"},{"p":"proguard.util","l":"SuffixAddingStringFunction"},{"p":"proguard.util","l":"SuffixRemovingStringFunction"},{"p":"proguard.classfile.constant.visitor","l":"SuperClassConstantVisitor"},{"p":"proguard.classfile.attribute.annotation.target","l":"SuperTypeTargetInfo"},{"p":"proguard.evaluation.executor","l":"ReflectiveModelExecutor.SupportedModelInfo"},{"p":"proguard.classfile.instruction","l":"SwitchInstruction"},{"p":"proguard.analysis.datastructure.callgraph","l":"SymbolicCall"},{"p":"proguard.classfile.attribute","l":"SyntheticAttribute"},{"p":"proguard.util.kotlin.asserter.constraint","l":"SyntheticClassIntegrity"},{"p":"proguard.classfile.instruction","l":"TableSwitchInstruction"},{"p":"proguard.dexfile.ir.stmt","l":"TableSwitchStmt"},{"p":"proguard.analysis.cpa.domain.taint","l":"TaintSink"},{"p":"proguard.analysis.cpa.domain.taint","l":"TaintSource"},{"p":"proguard.classfile.attribute.annotation.target","l":"TargetInfo"},{"p":"proguard.classfile.editor","l":"TargetInfoCopier"},{"p":"proguard.classfile.attribute.annotation.target.visitor","l":"TargetInfoVisitor"},{"p":"proguard.classfile.attribute.annotation.target","l":"ThrowsTargetInfo"},{"p":"proguard.classfile.attribute.preverification","l":"TopType"},{"p":"proguard.evaluation.value","l":"TopValue"},{"p":"proguard.evaluation.value","l":"TracedReferenceValue"},{"p":"proguard.evaluation","l":"TracedStack"},{"p":"proguard.evaluation","l":"TracedVariables"},{"p":"proguard.analysis.cpa.jvm.domain.memory","l":"TraceExtractor"},{"p":"proguard.evaluation.value","l":"TracingValue"},{"p":"proguard.analysis.cpa.interfaces","l":"TransferRelation"},{"p":"proguard.analysis.cpa.jvm.domain.value","l":"JvmValueBamCpaRun.TransferRelationFactory"},{"p":"proguard.util","l":"TransformedStringMatcher"},{"p":"proguard.dexfile.ir.ts","l":"Transformer"},{"p":"proguard.examples","l":"TransformExample"},{"p":"proguard.dexfile.ir","l":"Trap"},{"p":"proguard.dexfile.ir.ts","l":"Cfg.TravelCallBack"},{"p":"proguard.analysis.cpa.util","l":"TriFunction"},{"p":"proguard.analysis.cpa.util","l":"TriPredicate"},{"p":"proguard.dexfile.reader.node","l":"TryCatchNode"},{"p":"proguard.classfile.attribute.annotation","l":"TypeAnnotation"},{"p":"proguard.classfile.editor","l":"TypeAnnotationAdder"},{"p":"proguard.classfile.attribute.annotation","l":"TypeAnnotationsAttribute"},{"p":"proguard.classfile.attribute.annotation.visitor","l":"TypeAnnotationVisitor"},{"p":"proguard.classfile.attribute.annotation.target","l":"TypeArgumentTargetInfo"},{"p":"proguard.dexfile.ir","l":"TypeClass"},{"p":"proguard.classfile","l":"TypeConstants"},{"p":"proguard.evaluation.value","l":"TypedReferenceValue"},{"p":"proguard.evaluation.value","l":"TypedReferenceValueFactory"},{"p":"proguard.dexfile.ir.expr","l":"TypeExpr"},{"p":"proguard.util.kotlin.asserter.constraint","l":"TypeIntegrity"},{"p":"proguard.classfile.attribute.annotation.target","l":"TypeParameterBoundTargetInfo"},{"p":"proguard.classfile.attribute.annotation.target","l":"TypeParameterTargetInfo"},{"p":"proguard.classfile.attribute.annotation","l":"TypePathInfo"},{"p":"proguard.classfile.attribute.annotation.visitor","l":"TypePathInfoVisitor"},{"p":"proguard.dexfile.ir.ts","l":"TypeTransformer.TypeRef"},{"p":"proguard.dexfile.reader.node.insn","l":"TypeStmtNode"},{"p":"proguard.dexfile.ir.ts","l":"TypeTransformer"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.UByteValue"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.UIntValue"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.ULongValue"},{"p":"proguard.classfile.attribute.preverification","l":"UninitializedThisType"},{"p":"proguard.classfile.attribute.preverification","l":"UninitializedType"},{"p":"proguard.classfile.visitor","l":"UniqueClassFilter"},{"p":"proguard.dexfile.ir.ts","l":"UniqueQueue"},{"p":"proguard.classfile.attribute","l":"UnknownAttribute"},{"p":"proguard.evaluation.value","l":"UnknownDoubleValue"},{"p":"proguard.evaluation.value","l":"UnknownFloatValue"},{"p":"proguard.evaluation.value","l":"UnknownIntegerValue"},{"p":"proguard.evaluation.value","l":"UnknownLongValue"},{"p":"proguard.evaluation.value","l":"UnknownReferenceValue"},{"p":"proguard.evaluation.value","l":"UnknownValue"},{"p":"proguard.dexfile.ir.expr","l":"UnopExpr"},{"p":"proguard.dexfile.ir.stmt","l":"UnopStmt"},{"p":"proguard.dexfile.ir.ts","l":"UnSSATransformer"},{"p":"proguard.classfile.kotlin","l":"UnsupportedKotlinMetadata"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.UShortValue"},{"p":"proguard.classfile.constant","l":"Utf8Constant"},{"p":"proguard.classfile.editor","l":"Utf8Shrinker"},{"p":"proguard.dexfile.ir","l":"Util"},{"p":"proguard.classfile.kotlin","l":"KotlinAnnotationArgument.Value"},{"p":"proguard.dexfile.ir.expr","l":"Value"},{"p":"proguard.evaluation.value","l":"Value"},{"p":"proguard.analysis.cpa.jvm.domain.value","l":"ValueAbstractState"},{"p":"proguard.evaluation","l":"ValueCalculator"},{"p":"proguard.evaluation.value","l":"ValueFactory"},{"p":"proguard.util.kotlin.asserter.constraint","l":"ValueParameterIntegrity"},{"p":"proguard.evaluation.exception","l":"ValueTypeException"},{"p":"proguard.classfile.visitor","l":"VariableClassVisitor"},{"p":"proguard.classfile.editor","l":"VariableCleaner"},{"p":"proguard.classfile.editor","l":"VariableEditor"},{"p":"proguard.evaluation.exception","l":"VariableEmptySlotException"},{"p":"proguard.evaluation.exception","l":"VariableEvaluationException"},{"p":"proguard.evaluation.exception","l":"VariableIndexOutOfBoundException"},{"p":"proguard.classfile.instruction","l":"VariableInstruction"},{"p":"proguard.classfile.visitor","l":"VariableMemberVisitor"},{"p":"proguard.classfile.editor","l":"VariableRemapper"},{"p":"proguard.evaluation","l":"Variables"},{"p":"proguard.evaluation.exception","l":"VariablesGeneralizationException"},{"p":"proguard.classfile.editor","l":"VariableSizeUpdater"},{"p":"proguard.util","l":"VariableStringMatcher"},{"p":"proguard.evaluation.exception","l":"VariableTypeException"},{"p":"proguard.classfile.attribute.preverification","l":"VerificationType"},{"p":"proguard.classfile.attribute.preverification","l":"VerificationTypeFactory"},{"p":"proguard.classfile.attribute.preverification.visitor","l":"VerificationTypeVisitor"},{"p":"proguard.classfile","l":"VersionConstants"},{"p":"proguard.dexfile.reader","l":"Visibility"},{"p":"proguard.examples","l":"VisualizeCfa"},{"p":"proguard.examples","l":"VisualizeControlFlow"},{"p":"proguard.dexfile.ir.stmt","l":"VoidInvokeStmt"},{"p":"proguard.dexfile.ir.ts","l":"VoidInvokeTransformer"},{"p":"proguard.dexfile.ir.expr","l":"Value.VT"},{"p":"proguard.analysis.cpa.interfaces","l":"Waitlist"},{"p":"proguard.classfile.util","l":"WarningLogger"},{"p":"proguard.classfile.util","l":"WarningPrinter"},{"p":"proguard.classfile.util","l":"WildcardConstantFilter"},{"p":"proguard.util","l":"WildcardManager"},{"p":"proguard.io","l":"WrappedDataEntry"},{"p":"proguard.analysis.cpa.interfaces","l":"WrapperTransferRelation"},{"p":"proguard.dexfile.ir.ts","l":"ZeroTransformer"},{"p":"proguard.io","l":"ZipDataEntry"},{"p":"proguard.io","l":"ZipFileDataEntry"},{"p":"proguard.io","l":"ZipOutput"},{"p":"proguard.io","l":"ZipWriter"}] \ No newline at end of file diff --git a/api/type-search-index.zip b/api/type-search-index.zip new file mode 100644 index 000000000..a8a23ab32 Binary files /dev/null and b/api/type-search-index.zip differ diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 000000000..1cf13b9f9 Binary files /dev/null and b/assets/images/favicon.png differ diff --git a/assets/javascripts/bundle.220ee61c.min.js b/assets/javascripts/bundle.220ee61c.min.js new file mode 100644 index 000000000..116072a11 --- /dev/null +++ b/assets/javascripts/bundle.220ee61c.min.js @@ -0,0 +1,29 @@ +"use strict";(()=>{var Ci=Object.create;var gr=Object.defineProperty;var Ri=Object.getOwnPropertyDescriptor;var ki=Object.getOwnPropertyNames,Ht=Object.getOwnPropertySymbols,Hi=Object.getPrototypeOf,yr=Object.prototype.hasOwnProperty,nn=Object.prototype.propertyIsEnumerable;var rn=(e,t,r)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,P=(e,t)=>{for(var r in t||(t={}))yr.call(t,r)&&rn(e,r,t[r]);if(Ht)for(var r of Ht(t))nn.call(t,r)&&rn(e,r,t[r]);return e};var on=(e,t)=>{var r={};for(var n in e)yr.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Ht)for(var n of Ht(e))t.indexOf(n)<0&&nn.call(e,n)&&(r[n]=e[n]);return r};var Pt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Pi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ki(t))!yr.call(e,o)&&o!==r&&gr(e,o,{get:()=>t[o],enumerable:!(n=Ri(t,o))||n.enumerable});return e};var yt=(e,t,r)=>(r=e!=null?Ci(Hi(e)):{},Pi(t||!e||!e.__esModule?gr(r,"default",{value:e,enumerable:!0}):r,e));var sn=Pt((xr,an)=>{(function(e,t){typeof xr=="object"&&typeof an!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(xr,function(){"use strict";function e(r){var n=!0,o=!1,i=null,s={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function a(O){return!!(O&&O!==document&&O.nodeName!=="HTML"&&O.nodeName!=="BODY"&&"classList"in O&&"contains"in O.classList)}function f(O){var Qe=O.type,De=O.tagName;return!!(De==="INPUT"&&s[Qe]&&!O.readOnly||De==="TEXTAREA"&&!O.readOnly||O.isContentEditable)}function c(O){O.classList.contains("focus-visible")||(O.classList.add("focus-visible"),O.setAttribute("data-focus-visible-added",""))}function u(O){O.hasAttribute("data-focus-visible-added")&&(O.classList.remove("focus-visible"),O.removeAttribute("data-focus-visible-added"))}function p(O){O.metaKey||O.altKey||O.ctrlKey||(a(r.activeElement)&&c(r.activeElement),n=!0)}function m(O){n=!1}function d(O){a(O.target)&&(n||f(O.target))&&c(O.target)}function h(O){a(O.target)&&(O.target.classList.contains("focus-visible")||O.target.hasAttribute("data-focus-visible-added"))&&(o=!0,window.clearTimeout(i),i=window.setTimeout(function(){o=!1},100),u(O.target))}function v(O){document.visibilityState==="hidden"&&(o&&(n=!0),Y())}function Y(){document.addEventListener("mousemove",N),document.addEventListener("mousedown",N),document.addEventListener("mouseup",N),document.addEventListener("pointermove",N),document.addEventListener("pointerdown",N),document.addEventListener("pointerup",N),document.addEventListener("touchmove",N),document.addEventListener("touchstart",N),document.addEventListener("touchend",N)}function B(){document.removeEventListener("mousemove",N),document.removeEventListener("mousedown",N),document.removeEventListener("mouseup",N),document.removeEventListener("pointermove",N),document.removeEventListener("pointerdown",N),document.removeEventListener("pointerup",N),document.removeEventListener("touchmove",N),document.removeEventListener("touchstart",N),document.removeEventListener("touchend",N)}function N(O){O.target.nodeName&&O.target.nodeName.toLowerCase()==="html"||(n=!1,B())}document.addEventListener("keydown",p,!0),document.addEventListener("mousedown",m,!0),document.addEventListener("pointerdown",m,!0),document.addEventListener("touchstart",m,!0),document.addEventListener("visibilitychange",v,!0),Y(),r.addEventListener("focus",d,!0),r.addEventListener("blur",h,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var cn=Pt(Er=>{(function(e){var t=function(){try{return!!Symbol.iterator}catch(c){return!1}},r=t(),n=function(c){var u={next:function(){var p=c.shift();return{done:p===void 0,value:p}}};return r&&(u[Symbol.iterator]=function(){return u}),u},o=function(c){return encodeURIComponent(c).replace(/%20/g,"+")},i=function(c){return decodeURIComponent(String(c).replace(/\+/g," "))},s=function(){var c=function(p){Object.defineProperty(this,"_entries",{writable:!0,value:{}});var m=typeof p;if(m!=="undefined")if(m==="string")p!==""&&this._fromString(p);else if(p instanceof c){var d=this;p.forEach(function(B,N){d.append(N,B)})}else if(p!==null&&m==="object")if(Object.prototype.toString.call(p)==="[object Array]")for(var h=0;hd[0]?1:0}),c._entries&&(c._entries={});for(var p=0;p1?i(d[1]):"")}})})(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:Er);(function(e){var t=function(){try{var o=new e.URL("b","http://a");return o.pathname="c d",o.href==="http://a/c%20d"&&o.searchParams}catch(i){return!1}},r=function(){var o=e.URL,i=function(f,c){typeof f!="string"&&(f=String(f)),c&&typeof c!="string"&&(c=String(c));var u=document,p;if(c&&(e.location===void 0||c!==e.location.href)){c=c.toLowerCase(),u=document.implementation.createHTMLDocument(""),p=u.createElement("base"),p.href=c,u.head.appendChild(p);try{if(p.href.indexOf(c)!==0)throw new Error(p.href)}catch(O){throw new Error("URL unable to set base "+c+" due to "+O)}}var m=u.createElement("a");m.href=f,p&&(u.body.appendChild(m),m.href=m.href);var d=u.createElement("input");if(d.type="url",d.value=f,m.protocol===":"||!/:/.test(m.href)||!d.checkValidity()&&!c)throw new TypeError("Invalid URL");Object.defineProperty(this,"_anchorElement",{value:m});var h=new e.URLSearchParams(this.search),v=!0,Y=!0,B=this;["append","delete","set"].forEach(function(O){var Qe=h[O];h[O]=function(){Qe.apply(h,arguments),v&&(Y=!1,B.search=h.toString(),Y=!0)}}),Object.defineProperty(this,"searchParams",{value:h,enumerable:!0});var N=void 0;Object.defineProperty(this,"_updateSearchParams",{enumerable:!1,configurable:!1,writable:!1,value:function(){this.search!==N&&(N=this.search,Y&&(v=!1,this.searchParams._fromString(this.search),v=!0))}})},s=i.prototype,a=function(f){Object.defineProperty(s,f,{get:function(){return this._anchorElement[f]},set:function(c){this._anchorElement[f]=c},enumerable:!0})};["hash","host","hostname","port","protocol"].forEach(function(f){a(f)}),Object.defineProperty(s,"search",{get:function(){return this._anchorElement.search},set:function(f){this._anchorElement.search=f,this._updateSearchParams()},enumerable:!0}),Object.defineProperties(s,{toString:{get:function(){var f=this;return function(){return f.href}}},href:{get:function(){return this._anchorElement.href.replace(/\?$/,"")},set:function(f){this._anchorElement.href=f,this._updateSearchParams()},enumerable:!0},pathname:{get:function(){return this._anchorElement.pathname.replace(/(^\/?)/,"/")},set:function(f){this._anchorElement.pathname=f},enumerable:!0},origin:{get:function(){var f={"http:":80,"https:":443,"ftp:":21}[this._anchorElement.protocol],c=this._anchorElement.port!=f&&this._anchorElement.port!=="";return this._anchorElement.protocol+"//"+this._anchorElement.hostname+(c?":"+this._anchorElement.port:"")},enumerable:!0},password:{get:function(){return""},set:function(f){},enumerable:!0},username:{get:function(){return""},set:function(f){},enumerable:!0}}),i.createObjectURL=function(f){return o.createObjectURL.apply(o,arguments)},i.revokeObjectURL=function(f){return o.revokeObjectURL.apply(o,arguments)},e.URL=i};if(t()||r(),e.location!==void 0&&!("origin"in e.location)){var n=function(){return e.location.protocol+"//"+e.location.hostname+(e.location.port?":"+e.location.port:"")};try{Object.defineProperty(e.location,"origin",{get:n,enumerable:!0})}catch(o){setInterval(function(){e.location.origin=n()},100)}}})(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:Er)});var qr=Pt((Mt,Nr)=>{/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */(function(t,r){typeof Mt=="object"&&typeof Nr=="object"?Nr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Mt=="object"?Mt.ClipboardJS=r():t.ClipboardJS=r()})(Mt,function(){return function(){var e={686:function(n,o,i){"use strict";i.d(o,{default:function(){return Ai}});var s=i(279),a=i.n(s),f=i(370),c=i.n(f),u=i(817),p=i.n(u);function m(j){try{return document.execCommand(j)}catch(T){return!1}}var d=function(T){var E=p()(T);return m("cut"),E},h=d;function v(j){var T=document.documentElement.getAttribute("dir")==="rtl",E=document.createElement("textarea");E.style.fontSize="12pt",E.style.border="0",E.style.padding="0",E.style.margin="0",E.style.position="absolute",E.style[T?"right":"left"]="-9999px";var H=window.pageYOffset||document.documentElement.scrollTop;return E.style.top="".concat(H,"px"),E.setAttribute("readonly",""),E.value=j,E}var Y=function(T,E){var H=v(T);E.container.appendChild(H);var I=p()(H);return m("copy"),H.remove(),I},B=function(T){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},H="";return typeof T=="string"?H=Y(T,E):T instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(T==null?void 0:T.type)?H=Y(T.value,E):(H=p()(T),m("copy")),H},N=B;function O(j){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?O=function(E){return typeof E}:O=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},O(j)}var Qe=function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=T.action,H=E===void 0?"copy":E,I=T.container,q=T.target,Me=T.text;if(H!=="copy"&&H!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(q!==void 0)if(q&&O(q)==="object"&&q.nodeType===1){if(H==="copy"&&q.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(H==="cut"&&(q.hasAttribute("readonly")||q.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(Me)return N(Me,{container:I});if(q)return H==="cut"?h(q):N(q,{container:I})},De=Qe;function $e(j){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$e=function(E){return typeof E}:$e=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},$e(j)}function Ei(j,T){if(!(j instanceof T))throw new TypeError("Cannot call a class as a function")}function tn(j,T){for(var E=0;E0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof I.action=="function"?I.action:this.defaultAction,this.target=typeof I.target=="function"?I.target:this.defaultTarget,this.text=typeof I.text=="function"?I.text:this.defaultText,this.container=$e(I.container)==="object"?I.container:document.body}},{key:"listenClick",value:function(I){var q=this;this.listener=c()(I,"click",function(Me){return q.onClick(Me)})}},{key:"onClick",value:function(I){var q=I.delegateTarget||I.currentTarget,Me=this.action(q)||"copy",kt=De({action:Me,container:this.container,target:this.target(q),text:this.text(q)});this.emit(kt?"success":"error",{action:Me,text:kt,trigger:q,clearSelection:function(){q&&q.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(I){return vr("action",I)}},{key:"defaultTarget",value:function(I){var q=vr("target",I);if(q)return document.querySelector(q)}},{key:"defaultText",value:function(I){return vr("text",I)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(I){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return N(I,q)}},{key:"cut",value:function(I){return h(I)}},{key:"isSupported",value:function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],q=typeof I=="string"?[I]:I,Me=!!document.queryCommandSupported;return q.forEach(function(kt){Me=Me&&!!document.queryCommandSupported(kt)}),Me}}]),E}(a()),Ai=Li},828:function(n){var o=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function s(a,f){for(;a&&a.nodeType!==o;){if(typeof a.matches=="function"&&a.matches(f))return a;a=a.parentNode}}n.exports=s},438:function(n,o,i){var s=i(828);function a(u,p,m,d,h){var v=c.apply(this,arguments);return u.addEventListener(m,v,h),{destroy:function(){u.removeEventListener(m,v,h)}}}function f(u,p,m,d,h){return typeof u.addEventListener=="function"?a.apply(null,arguments):typeof m=="function"?a.bind(null,document).apply(null,arguments):(typeof u=="string"&&(u=document.querySelectorAll(u)),Array.prototype.map.call(u,function(v){return a(v,p,m,d,h)}))}function c(u,p,m,d){return function(h){h.delegateTarget=s(h.target,p),h.delegateTarget&&d.call(u,h)}}n.exports=f},879:function(n,o){o.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},o.nodeList=function(i){var s=Object.prototype.toString.call(i);return i!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in i&&(i.length===0||o.node(i[0]))},o.string=function(i){return typeof i=="string"||i instanceof String},o.fn=function(i){var s=Object.prototype.toString.call(i);return s==="[object Function]"}},370:function(n,o,i){var s=i(879),a=i(438);function f(m,d,h){if(!m&&!d&&!h)throw new Error("Missing required arguments");if(!s.string(d))throw new TypeError("Second argument must be a String");if(!s.fn(h))throw new TypeError("Third argument must be a Function");if(s.node(m))return c(m,d,h);if(s.nodeList(m))return u(m,d,h);if(s.string(m))return p(m,d,h);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function c(m,d,h){return m.addEventListener(d,h),{destroy:function(){m.removeEventListener(d,h)}}}function u(m,d,h){return Array.prototype.forEach.call(m,function(v){v.addEventListener(d,h)}),{destroy:function(){Array.prototype.forEach.call(m,function(v){v.removeEventListener(d,h)})}}}function p(m,d,h){return a(document.body,m,d,h)}n.exports=f},817:function(n){function o(i){var s;if(i.nodeName==="SELECT")i.focus(),s=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var a=i.hasAttribute("readonly");a||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),a||i.removeAttribute("readonly"),s=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var f=window.getSelection(),c=document.createRange();c.selectNodeContents(i),f.removeAllRanges(),f.addRange(c),s=f.toString()}return s}n.exports=o},279:function(n){function o(){}o.prototype={on:function(i,s,a){var f=this.e||(this.e={});return(f[i]||(f[i]=[])).push({fn:s,ctx:a}),this},once:function(i,s,a){var f=this;function c(){f.off(i,c),s.apply(a,arguments)}return c._=s,this.on(i,c,a)},emit:function(i){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[i]||[]).slice(),f=0,c=a.length;for(f;f{"use strict";/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */var rs=/["'&<>]/;Yo.exports=ns;function ns(e){var t=""+e,r=rs.exec(t);if(!r)return t;var n,o="",i=0,s=0;for(i=r.index;i0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function W(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,i=[],s;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return i}function D(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,i;n1||a(m,d)})})}function a(m,d){try{f(n[m](d))}catch(h){p(i[0][3],h)}}function f(m){m.value instanceof et?Promise.resolve(m.value.v).then(c,u):p(i[0][2],m)}function c(m){a("next",m)}function u(m){a("throw",m)}function p(m,d){m(d),i.shift(),i.length&&a(i[0][0],i[0][1])}}function pn(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof Ee=="function"?Ee(e):e[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(i){r[i]=e[i]&&function(s){return new Promise(function(a,f){s=e[i](s),o(a,f,s.done,s.value)})}}function o(i,s,a,f){Promise.resolve(f).then(function(c){i({value:c,done:a})},s)}}function C(e){return typeof e=="function"}function at(e){var t=function(n){Error.call(n),n.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var It=at(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(n,o){return o+1+") "+n.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}});function Ve(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Ie=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,n,o,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=Ee(s),f=a.next();!f.done;f=a.next()){var c=f.value;c.remove(this)}}catch(v){t={error:v}}finally{try{f&&!f.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var u=this.initialTeardown;if(C(u))try{u()}catch(v){i=v instanceof It?v.errors:[v]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var m=Ee(p),d=m.next();!d.done;d=m.next()){var h=d.value;try{ln(h)}catch(v){i=i!=null?i:[],v instanceof It?i=D(D([],W(i)),W(v.errors)):i.push(v)}}}catch(v){n={error:v}}finally{try{d&&!d.done&&(o=m.return)&&o.call(m)}finally{if(n)throw n.error}}}if(i)throw new It(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)ln(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Ve(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Ve(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Sr=Ie.EMPTY;function jt(e){return e instanceof Ie||e&&"closed"in e&&C(e.remove)&&C(e.add)&&C(e.unsubscribe)}function ln(e){C(e)?e():e.unsubscribe()}var Le={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var st={setTimeout:function(e,t){for(var r=[],n=2;n0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var n=this,o=this,i=o.hasError,s=o.isStopped,a=o.observers;return i||s?Sr:(this.currentObservers=null,a.push(r),new Ie(function(){n.currentObservers=null,Ve(a,r)}))},t.prototype._checkFinalizedStatuses=function(r){var n=this,o=n.hasError,i=n.thrownError,s=n.isStopped;o?r.error(i):s&&r.complete()},t.prototype.asObservable=function(){var r=new F;return r.source=this,r},t.create=function(r,n){return new xn(r,n)},t}(F);var xn=function(e){ie(t,e);function t(r,n){var o=e.call(this)||this;return o.destination=r,o.source=n,o}return t.prototype.next=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,r)},t.prototype.error=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.call(n,r)},t.prototype.complete=function(){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||n===void 0||n.call(r)},t.prototype._subscribe=function(r){var n,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(r))!==null&&o!==void 0?o:Sr},t}(x);var Et={now:function(){return(Et.delegate||Date).now()},delegate:void 0};var wt=function(e){ie(t,e);function t(r,n,o){r===void 0&&(r=1/0),n===void 0&&(n=1/0),o===void 0&&(o=Et);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=n,i._timestampProvider=o,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,n),i}return t.prototype.next=function(r){var n=this,o=n.isStopped,i=n._buffer,s=n._infiniteTimeWindow,a=n._timestampProvider,f=n._windowTime;o||(i.push(r),!s&&i.push(a.now()+f)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var n=this._innerSubscribe(r),o=this,i=o._infiniteTimeWindow,s=o._buffer,a=s.slice(),f=0;f0?e.prototype.requestAsyncId.call(this,r,n,o):(r.actions.push(this),r._scheduled||(r._scheduled=ut.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,n,o){var i;if(o===void 0&&(o=0),o!=null?o>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,n,o);var s=r.actions;n!=null&&((i=s[s.length-1])===null||i===void 0?void 0:i.id)!==n&&(ut.cancelAnimationFrame(n),r._scheduled=void 0)},t}(Wt);var Sn=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var n=this._scheduled;this._scheduled=void 0;var o=this.actions,i;r=r||o.shift();do if(i=r.execute(r.state,r.delay))break;while((r=o[0])&&r.id===n&&o.shift());if(this._active=!1,i){for(;(r=o[0])&&r.id===n&&o.shift();)r.unsubscribe();throw i}},t}(Dt);var Oe=new Sn(wn);var M=new F(function(e){return e.complete()});function Vt(e){return e&&C(e.schedule)}function Cr(e){return e[e.length-1]}function Ye(e){return C(Cr(e))?e.pop():void 0}function Te(e){return Vt(Cr(e))?e.pop():void 0}function zt(e,t){return typeof Cr(e)=="number"?e.pop():t}var pt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Nt(e){return C(e==null?void 0:e.then)}function qt(e){return C(e[ft])}function Kt(e){return Symbol.asyncIterator&&C(e==null?void 0:e[Symbol.asyncIterator])}function Qt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function zi(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Yt=zi();function Gt(e){return C(e==null?void 0:e[Yt])}function Bt(e){return un(this,arguments,function(){var r,n,o,i;return $t(this,function(s){switch(s.label){case 0:r=e.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,et(r.read())];case 3:return n=s.sent(),o=n.value,i=n.done,i?[4,et(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,et(o)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function Jt(e){return C(e==null?void 0:e.getReader)}function U(e){if(e instanceof F)return e;if(e!=null){if(qt(e))return Ni(e);if(pt(e))return qi(e);if(Nt(e))return Ki(e);if(Kt(e))return On(e);if(Gt(e))return Qi(e);if(Jt(e))return Yi(e)}throw Qt(e)}function Ni(e){return new F(function(t){var r=e[ft]();if(C(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function qi(e){return new F(function(t){for(var r=0;r=2;return function(n){return n.pipe(e?A(function(o,i){return e(o,i,n)}):de,ge(1),r?He(t):Dn(function(){return new Zt}))}}function Vn(){for(var e=[],t=0;t=2,!0))}function pe(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new x}:t,n=e.resetOnError,o=n===void 0?!0:n,i=e.resetOnComplete,s=i===void 0?!0:i,a=e.resetOnRefCountZero,f=a===void 0?!0:a;return function(c){var u,p,m,d=0,h=!1,v=!1,Y=function(){p==null||p.unsubscribe(),p=void 0},B=function(){Y(),u=m=void 0,h=v=!1},N=function(){var O=u;B(),O==null||O.unsubscribe()};return y(function(O,Qe){d++,!v&&!h&&Y();var De=m=m!=null?m:r();Qe.add(function(){d--,d===0&&!v&&!h&&(p=$r(N,f))}),De.subscribe(Qe),!u&&d>0&&(u=new rt({next:function($e){return De.next($e)},error:function($e){v=!0,Y(),p=$r(B,o,$e),De.error($e)},complete:function(){h=!0,Y(),p=$r(B,s),De.complete()}}),U(O).subscribe(u))})(c)}}function $r(e,t){for(var r=[],n=2;ne.next(document)),e}function K(e,t=document){return Array.from(t.querySelectorAll(e))}function z(e,t=document){let r=ce(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function ce(e,t=document){return t.querySelector(e)||void 0}function _e(){return document.activeElement instanceof HTMLElement&&document.activeElement||void 0}function tr(e){return L(b(document.body,"focusin"),b(document.body,"focusout")).pipe(ke(1),l(()=>{let t=_e();return typeof t!="undefined"?e.contains(t):!1}),V(e===_e()),J())}function Xe(e){return{x:e.offsetLeft,y:e.offsetTop}}function Kn(e){return L(b(window,"load"),b(window,"resize")).pipe(Ce(0,Oe),l(()=>Xe(e)),V(Xe(e)))}function rr(e){return{x:e.scrollLeft,y:e.scrollTop}}function dt(e){return L(b(e,"scroll"),b(window,"resize")).pipe(Ce(0,Oe),l(()=>rr(e)),V(rr(e)))}var Yn=function(){if(typeof Map!="undefined")return Map;function e(t,r){var n=-1;return t.some(function(o,i){return o[0]===r?(n=i,!0):!1}),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(r){var n=e(this.__entries__,r),o=this.__entries__[n];return o&&o[1]},t.prototype.set=function(r,n){var o=e(this.__entries__,r);~o?this.__entries__[o][1]=n:this.__entries__.push([r,n])},t.prototype.delete=function(r){var n=this.__entries__,o=e(n,r);~o&&n.splice(o,1)},t.prototype.has=function(r){return!!~e(this.__entries__,r)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(r,n){n===void 0&&(n=null);for(var o=0,i=this.__entries__;o0},e.prototype.connect_=function(){!Wr||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),va?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){!Wr||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(t){var r=t.propertyName,n=r===void 0?"":r,o=ba.some(function(i){return!!~n.indexOf(i)});o&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),Gn=function(e,t){for(var r=0,n=Object.keys(t);r0},e}(),Jn=typeof WeakMap!="undefined"?new WeakMap:new Yn,Xn=function(){function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=ga.getInstance(),n=new La(t,r,this);Jn.set(this,n)}return e}();["observe","unobserve","disconnect"].forEach(function(e){Xn.prototype[e]=function(){var t;return(t=Jn.get(this))[e].apply(t,arguments)}});var Aa=function(){return typeof nr.ResizeObserver!="undefined"?nr.ResizeObserver:Xn}(),Zn=Aa;var eo=new x,Ca=$(()=>k(new Zn(e=>{for(let t of e)eo.next(t)}))).pipe(g(e=>L(ze,k(e)).pipe(R(()=>e.disconnect()))),X(1));function he(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ye(e){return Ca.pipe(S(t=>t.observe(e)),g(t=>eo.pipe(A(({target:r})=>r===e),R(()=>t.unobserve(e)),l(()=>he(e)))),V(he(e)))}function bt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function ar(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}var to=new x,Ra=$(()=>k(new IntersectionObserver(e=>{for(let t of e)to.next(t)},{threshold:0}))).pipe(g(e=>L(ze,k(e)).pipe(R(()=>e.disconnect()))),X(1));function sr(e){return Ra.pipe(S(t=>t.observe(e)),g(t=>to.pipe(A(({target:r})=>r===e),R(()=>t.unobserve(e)),l(({isIntersecting:r})=>r))))}function ro(e,t=16){return dt(e).pipe(l(({y:r})=>{let n=he(e),o=bt(e);return r>=o.height-n.height-t}),J())}var cr={drawer:z("[data-md-toggle=drawer]"),search:z("[data-md-toggle=search]")};function no(e){return cr[e].checked}function Ke(e,t){cr[e].checked!==t&&cr[e].click()}function Ue(e){let t=cr[e];return b(t,"change").pipe(l(()=>t.checked),V(t.checked))}function ka(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function Ha(){return L(b(window,"compositionstart").pipe(l(()=>!0)),b(window,"compositionend").pipe(l(()=>!1))).pipe(V(!1))}function oo(){let e=b(window,"keydown").pipe(A(t=>!(t.metaKey||t.ctrlKey)),l(t=>({mode:no("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),A(({mode:t,type:r})=>{if(t==="global"){let n=_e();if(typeof n!="undefined")return!ka(n,r)}return!0}),pe());return Ha().pipe(g(t=>t?M:e))}function le(){return new URL(location.href)}function ot(e){location.href=e.href}function io(){return new x}function ao(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)ao(e,r)}function _(e,t,...r){let n=document.createElement(e);if(t)for(let o of Object.keys(t))typeof t[o]!="undefined"&&(typeof t[o]!="boolean"?n.setAttribute(o,t[o]):n.setAttribute(o,""));for(let o of r)ao(n,o);return n}function fr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function so(){return location.hash.substring(1)}function Dr(e){let t=_("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Pa(e){return L(b(window,"hashchange"),e).pipe(l(so),V(so()),A(t=>t.length>0),X(1))}function co(e){return Pa(e).pipe(l(t=>ce(`[id="${t}"]`)),A(t=>typeof t!="undefined"))}function Vr(e){let t=matchMedia(e);return er(r=>t.addListener(()=>r(t.matches))).pipe(V(t.matches))}function fo(){let e=matchMedia("print");return L(b(window,"beforeprint").pipe(l(()=>!0)),b(window,"afterprint").pipe(l(()=>!1))).pipe(V(e.matches))}function zr(e,t){return e.pipe(g(r=>r?t():M))}function ur(e,t={credentials:"same-origin"}){return ue(fetch(`${e}`,t)).pipe(fe(()=>M),g(r=>r.status!==200?Ot(()=>new Error(r.statusText)):k(r)))}function We(e,t){return ur(e,t).pipe(g(r=>r.json()),X(1))}function uo(e,t){let r=new DOMParser;return ur(e,t).pipe(g(n=>n.text()),l(n=>r.parseFromString(n,"text/xml")),X(1))}function pr(e){let t=_("script",{src:e});return $(()=>(document.head.appendChild(t),L(b(t,"load"),b(t,"error").pipe(g(()=>Ot(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(l(()=>{}),R(()=>document.head.removeChild(t)),ge(1))))}function po(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function lo(){return L(b(window,"scroll",{passive:!0}),b(window,"resize",{passive:!0})).pipe(l(po),V(po()))}function mo(){return{width:innerWidth,height:innerHeight}}function ho(){return b(window,"resize",{passive:!0}).pipe(l(mo),V(mo()))}function bo(){return G([lo(),ho()]).pipe(l(([e,t])=>({offset:e,size:t})),X(1))}function lr(e,{viewport$:t,header$:r}){let n=t.pipe(ee("size")),o=G([n,r]).pipe(l(()=>Xe(e)));return G([r,t,o]).pipe(l(([{height:i},{offset:s,size:a},{x:f,y:c}])=>({offset:{x:s.x-f,y:s.y-c+i},size:a})))}(()=>{function e(n,o){parent.postMessage(n,o||"*")}function t(...n){return n.reduce((o,i)=>o.then(()=>new Promise(s=>{let a=document.createElement("script");a.src=i,a.onload=s,document.body.appendChild(a)})),Promise.resolve())}var r=class extends EventTarget{constructor(n){super(),this.url=n,this.m=i=>{i.source===this.w&&(this.dispatchEvent(new MessageEvent("message",{data:i.data})),this.onmessage&&this.onmessage(i))},this.e=(i,s,a,f,c)=>{if(s===`${this.url}`){let u=new ErrorEvent("error",{message:i,filename:s,lineno:a,colno:f,error:c});this.dispatchEvent(u),this.onerror&&this.onerror(u)}};let o=document.createElement("iframe");o.hidden=!0,document.body.appendChild(this.iframe=o),this.w.document.open(),this.w.document.write(` + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Building

    + +

    If you've downloaded the source code of the ProGuardCORE library, you can +build it yourself with Gradle:

    +
      +
    • +

      Build the artifacts:

      +
      ./gradlew assemble
      +
      + +
    • +
    • +

      Publish the artifacts to your local Maven cache (something like ~/.m2/):

      +
      ./gradlew publishToMavenLocal
      +
      + +
    • +
    • +

      Build tar and zip archives with the binaries and documentation:

      +
      ./gradlew distTar distZip
      +
      + +
    • +
    • +

      Build the complete API documentation with

      +
      ./gradlew javadoc
      +
      + +
    • +
    +

    You can then find the API documentation in docs/md/api.

    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/creating.html b/creating.html new file mode 100644 index 000000000..a380e556d --- /dev/null +++ b/creating.html @@ -0,0 +1,622 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Creating classes - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Creating classes

    + +

    The easiest way to create a new class from scratch is with ClassBuilder. It +provides a fluent API to add fields and methods. For example, to create a +class that prints out "Hello, world!":

    +
    ProgramClass programClass =
    +    new ClassBuilder(
    +        VersionConstants.CLASS_VERSION_1_8,
    +        AccessConstants.PUBLIC,
    +        "HelloWorld",
    +        ClassConstants.NAME_JAVA_LANG_OBJECT)
    +
    +        .addMethod(
    +            AccessConstants.PUBLIC |
    +            AccessConstants.STATIC,
    +            "main",
    +            "([Ljava/lang/String;)V",
    +            50,
    +
    +            code -> code
    +                .getstatic("java/lang/System", "out", "Ljava/io/PrintStream;")
    +                .ldc("Hello, world!")
    +                .invokevirtual("java/io/PrintStream", "println", "(Ljava/lang/String;)V")
    +                .return_())
    +
    +        .getProgramClass();
    +
    + +

    You can also use it to add fields and methods to an existing class:

    +
    ProgramClass programClass =
    +    new ClassBuilder(existingClass)
    +        .....
    +
    + +

    Complete example: CreateHelloWorldClass.java

    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/downloads.html b/downloads.html new file mode 100644 index 000000000..ce04676d5 --- /dev/null +++ b/downloads.html @@ -0,0 +1,623 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Downloads - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Downloads

    + +

    The ProGuardCORE library is distributed under the terms of the Apache +License Version 2.0. Please consult the license page for more +details.

    +

    ProGuardCORE is written in Java, so it requires a Java Runtime Environment +(JRE 1.8 or higher).

    +

    You can download the library in various forms:

    +
      +
    • +

      Pre-built artifacts at Maven Central

      +
      dependencies {
      +    compile project(':com.guardsquare:proguard-core:9.0.0')
      +}
      +
      + +

      or

      +
      <dependency>
      +    <groupId>com.guardsquare</groupId>
      +    <artifactId>proguard-core</artifactId>
      +    <version>9.0.0</version>
      +</dependency>
      +
      + +
    • +
    • +

      A Git repository of the source code at Github

      +
      git clone https://github.com/Guardsquare/proguard-core.git
      +
      + +
    • +
    +

    You can find major releases, minor releases with important bug fixes, and +beta releases with the latest new features and any less urgent bug fixes.

    +

    If you're still working with an older version of the library, check out the +release notes, to see if you're missing something essential.

    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/editing.html b/editing.html new file mode 100644 index 000000000..25b899a75 --- /dev/null +++ b/editing.html @@ -0,0 +1,713 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Editing classes - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Editing classes

    + +

    Editing classes

    +

    You can edit existing classes with ClassEditor and related editors like +InterfacesEditor, AttributesEditor, and ConstantPoolEditor.

    +
    ClassEditor classEditor =
    +    new ClassEditor(targetClass);
    +
    +classEditor.addField(field);
    +
    +classEditor.addMethod(method);
    +
    + +

    If you want to create and add new fields or methods from scratch, you can use +the more convenient ClassBuilder:

    +
    ProgramClass programClass =
    +    new ClassBuilder(existingClass)
    +        .addField(
    +            AccessConstants.PUBLIC |
    +            AccessConstants.STATIC,
    +            "someField",
    +            TypeConstants.INT);
    +
    +        .addMethod(
    +            AccessConstants.PUBLIC |
    +            AccessConstants.STATIC,
    +            "main",
    +            "([Ljava/lang/String;)V",
    +            50,
    +
    +            code -> code
    +                .getstatic("java/lang/System", "out", "Ljava/io/PrintStream;")
    +                .ldc("Hello, world!")
    +                .invokevirtual("java/io/PrintStream", "println", "(Ljava/lang/String;)V")
    +                .return_())
    +
    +        .getProgramClass();
    +
    + +

    Editing code

    +

    Perhaps more interestingly, you can edit the bytecode of method bodies with +CodeAttributeEditor.

    +
    CodeAttributeEditor codeAttributeEditor =
    +    new CodeAttributeEditor();
    +
    +InstructionSequenceBuilder builder =
    +    new InstructionSequenceBuilder(targetClass);
    +
    +Instructions[] replacementInstructions = builder
    +    .getstatic("java/lang/System", "out", "Ljava/io/PrintStream;")
    +    .ldc("Hello")
    +    .invokevirtual("java/io/PrintStream", "println", "(Ljava/lang/String;)V"        
    +    .instructions();
    +
    +// Prepare the editor for this code.
    +codeAttributeEditor.reset(codeAttribute.u4codeLength);
    +
    +// Insert the instruction sequence before a specified offset.
    +codeAttributeEditor.insertBeforeOffset(offset, replacementInstructions);
    +
    +// Apply the changes.
    +codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute);
    +
    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/extra.css b/extra.css new file mode 100644 index 000000000..036ae3611 --- /dev/null +++ b/extra.css @@ -0,0 +1,35 @@ +:root { + /* Default color shades * / + --md-default-fg-color: ...; + --md-default-fg-color--light: ...; + --md-default-fg-color--lighter: ...; + --md-default-fg-color--lightest: ...; + --md-default-bg-color: ...; + --md-default-bg-color--light: ...; + --md-default-bg-color--lighter: ...; + --md-default-bg-color--lightest: ...; + + /* Primary color shades */ + --md-primary-fg-color: #004F91; +/*--md-primary-fg-color--light: ...; + --md-primary-fg-color--dark: ...; + --md-primary-bg-color: ...; + --md-primary-bg-color--light: ...; + + /* Accent color shades */ + --md-accent-fg-color: #004F91; +/*--md-accent-fg-color--transparent: ...; + --md-accent-bg-color: ...; + --md-accent-bg-color--light: ...; + + /* Code block color shades * / + --md-code-bg-color: ...; + --md-code-fg-color: ...; +*/ +} + +p { + text-align: justify; + text-justify: inter-word; +} + diff --git a/img/core.png b/img/core.png new file mode 100644 index 000000000..912183249 Binary files /dev/null and b/img/core.png differ diff --git a/img/guardsquare.png b/img/guardsquare.png new file mode 100644 index 000000000..0cb2529e4 Binary files /dev/null and b/img/guardsquare.png differ diff --git a/index.html b/index.html new file mode 100644 index 000000000..b9c76a8cc --- /dev/null +++ b/index.html @@ -0,0 +1,762 @@ + + + + + + + + + + + + + + + + + + + + + + + + ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Introduction

    + +

    ProGuardCORE is a free library to read, analyze, modify, and write Java +class files. It is the core of the well-known shrinker, optimizer, and +obfuscator ProGuard and of the +ProGuard Assembler and +Disassembler.

    +

    Typical applications:

    +
      +
    • Perform peephole optimizations in Java bytecode.
    • +
    • Search for instruction patterns.
    • +
    • Analyze code with abstract evaluation.
    • +
    • Optimize and obfuscate, like ProGuard itself.
    • +
    +

    Design

    +

    The library defines many small classes as the building blocks for applications +that contain the processing logic. This is sometimes taken to the extreme: even +loops and conditional statements can often be implemented as separate classes. +Even though these classes are verbose and repetitive, the resulting main code +becomes much more compact, flexible, and robust.

    +

    Data classes

    +

    Basic data classes define the structures to represent Java bytecode. They +reflect the Java bytecode specifications literally, to ensure that no data are +lost when reading, analyzing, and writing them. The data classes contain only +a minimum number of methods. They do have one or more accept methods to let +the visitor classes below operate on them.

    +

    Visitor classes

    +

    The library applies the visitor pattern extensively. Visitor classes define +the operations on the data: reading, writing, editing, transforming, +analyzing, etc. The visitor classes have one or more 'visit' methods to +operate on data classes of the same basic type.

    +

    For example, a Java bytecode class contains a constant pool with constants of +different types: integer constants, float constants, string constants, etc. +The data classes IntegerConstant, FloatConstant, StringConstant, etc. all +implement the basic type Constant. The visitor interface ConstantVisitor +contains methods 'visitIntegerConstant', 'visitFloatConstant', +'visitStringConstant', etc. Implementations of this visitor interface can +perform all kinds of operations on the constants.

    +

    The reasoning behind this pattern is that the data classes are very stable, +because they are directly based on the bytecode specifications. The operations +are more dynamic, since they depend on the final application. It is +practically impossible to add all possible operations in the data classes, but +it is easy to add another implementation of a visitor interface. Implementing +an interface in practice helps a lot to think of all possible cases.

    +

    The visitor pattern uses visitor interfaces to operate on the similar elements +of a data structure. Each interface often has many implementations. A great +disadvantage at this time is that visitor methods can invoke one another +(directly or indirectly), but they can't communicate easily. Since the +implementations can't add their own parameters or return values, they often +have to rely on fields to pass values back and forth. This is more +error-prone. Still, the advantages of the visitor pattern outweigh the +disadvantages.

    +

    Dependency injection

    +

    The library classes heavily use constructor-based dependency injection, to +create immutable instances. Notably the visitor classes are often like +commands that are combined in an immutable structure, via constructors. You +can execute such commands by applying the visitors to the data classes.

    +

    API

    +

    You can find the complete API in the ProGuardCORE +javadoc.

    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/kotlin.html b/kotlin.html new file mode 100644 index 000000000..bfcb075ba --- /dev/null +++ b/kotlin.html @@ -0,0 +1,732 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Kotlin metadata - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Kotlin metadata

    +

    The library makes it easy to read, write and modify the Kotlin metadata that is +attached to Java classes. The following example prints all the names of Kotlin +functions in the metadata attached to the Java class Foo:

    +
    programClassPool.classesAccept(
    +   new ClassNameFilter("Foo",
    +   new ReferencedKotlinMetadataVisitor(
    +   new AllFunctionsVisitor(
    +       (clazz, container, function) -> System.out.println(function.name)))));
    +
    +

    Initializing the Kotlin metadata model

    +

    There are two ways to initialize the Kotlin metadata model:

    +
      +
    • While reading classes with ClassReader by setting includeKotlinMetadata to true.
    • +
    • After class reading using KotlinMetadataInitializer.
    • +
    +

    KotlinMetadataInitializer

    +

    The KotlinMetadataInitializer can be used as a ClassVisitor which will read the Kotlin metadata +from the kotlin.Metadata annotation on program classes (ProgramClass) and +automatically initialize the metadata model on visited classes:

    +
    BiConsumer<Clazz, String> errorHandler = (clazz, message) -> System.err.println(message);
    +programClassPool.classesAccept(new KotlinMetadataInitializer(errorHandler));
    +
    +

    Alternatively, the initialize(Clazz, int, int[], String[], String[], int, String, String) can be called +directly with a Clazz and the components making up the kotlin.Metadata annotation:

    +
    BiConsumer<Clazz, String> errorHandler
    +        = (clazz, message) -> System.err.println(message);
    +KotlinMetadataInitializer initializer
    +        = new KotlinMetadataInitializer(errorHandler);
    +programClassPool.classesAccept(
    +    clazz -> {
    +        // get the values for k, mv, d1, d2, xi, xs, pn to provide to the initializer
    +        initializer.initialize(clazz, k, mv, d1, d2, xi, xs, pn);
    +    }
    +);
    +
    +

    This is useful for initializing the model on library classes (LibraryClass), since the library class model doesn't contain +all the necessary information to automatically extract these parameters.

    +

    Initializing references

    +

    Once the model itself is initialized by KotlinMetadataInitializer, like the Clazz model, references +must be initialized. This is done by the ClassReferenceInitializer:

    +
    // First build the model
    +BiConsumer<Clazz, String> errorHandler 
    +        = (clazz, message) -> System.err.println(message);
    +programClassPool.classesAccept(new KotlinMetadataInitializer(errorHandler));
    +// Then initialize the references
    +programClassPool.classesAccept(
    +    new ClassReferenceInitializer(programClassPool, libraryClassPool)
    +);
    +
    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/license.html b/license.html new file mode 100644 index 000000000..4dc71a2ad --- /dev/null +++ b/license.html @@ -0,0 +1,763 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + License - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    License

    + +

    The ProGuardCORE library is licensed under the Apache License Version 2.0.

    +

    Copyright 2002-2020 Guardsquare NV

    +
                                 Apache License
    +                       Version 2.0, January 2004
    +                    http://www.apache.org/licenses/
    +
    + +

    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

    +
      +
    1. +

      Definitions.

      +

      "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document.

      +

      "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License.

      +

      "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity.

      +

      "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License.

      +

      "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files.

      +

      "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types.

      +

      "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below).

      +

      "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof.

      +

      "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution."

      +

      "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work.

      +
    2. +
    3. +

      Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form.

      +
    4. +
    5. +

      Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed.

      +
    6. +
    7. +

      Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions:

      +

      (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and

      +

      (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and

      +

      (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and

      +

      (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License.

      +

      You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License.

      +
    8. +
    9. +

      Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions.

      +
    10. +
    11. +

      Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file.

      +
    12. +
    13. +

      Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License.

      +
    14. +
    15. +

      Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages.

      +
    16. +
    17. +

      Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability.

      +
    18. +
    +

    END OF TERMS AND CONDITIONS

    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/partialevaluator.html b/partialevaluator.html new file mode 100644 index 000000000..8f427b52d --- /dev/null +++ b/partialevaluator.html @@ -0,0 +1,2052 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Data flow analysis with partial evaluation - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + + + +
    +
    + + + + + + + +

    Data flow analysis with partial evaluation

    + +

    Analyzing all instructions

    +

    If you want to analyze bytecode, you'll probably want to visit specified +instructions of specified code attributes of specified methods of specified +classes. The visitor classes and filters quickly get you to the right place:

    +
    programClassPool.classesAccept(
    +    new AllMethodVisitor(
    +    new AllAttributeVisitor(
    +    new AllInstructionVisitor(
    +    new MyInstructionAnalyzer()))));
    +
    + +

    You then only need to implement the visitor methods to analyze the +instructions:

    +
    class      MyInstructionAnalyzer
    +implements InstructionVisitor
    +{
    +    public void visitSimpleInstruction(Clazz clazz, .....) ...
    +    public void visitVariableInstruction(Clazz clazz, .....) ...
    +    public void visitConstantInstruction(Clazz clazz, .....) ...
    +    public void visitBranchInstruction(Clazz clazz, .....) ...
    +    public void visitTableSwitchInstruction(Clazz clazz, .....) ...
    +    public void visitLookUpSwitchInstruction(Clazz clazz, .....) ...
    +}
    +
    + +

    The library already provides classes to analyze the code for you, finding +branching information, performing partial evaluation, finding the control flow +and data flow, etc, as introduced in the following sections.

    +

    Complete example: EvaluateReturnValues.java

    +

    Collecting basic branching information

    +

    You can extract basic information about branches in a method with the class +BranchTargetFinder. The results are defined at the instruction level: each +instruction is properly labeled as a branch target, branch origin, exception +handler, etc.

    +
    BranchTargetFinder branchTargetFinder =
    +    new BranchTargetFinder();
    +
    +branchTargetFinder.visitCodeAttribute(clazz, method, codeAttribute);
    +
    +if (branchTargetFinder.isBranchOrigin(offset)) ...
    +
    +if (branchTargetFinder.isBranchTarget(offset)) ...
    +
    + +

    Complete example: ApplyPeepholeOptimizations.java

    +

    Partial evaluation

    +

    You can extract more information about the code with partial evaluation (often +called abstract evaluation or symbolic evaluation). Its analysis provides a +global view of the control flow and data flow in a method.

    +

    The core class is PartialEvaluator. It can work at different levels of +precision — the more abstract, the less precise. You can control the +precision with different value factories and different invocation units:

    +
      +
    • +

      A ValueFactory defines the level of detail in representing values like + integers or reference types. The values can be very abstract (any primitive + integer, a reference to any object) or more precise (the integer 42, or an + integer between 0 and 5, or a non-null reference to an instance of + java/lang/String).

      +
    • +
    • +

      An InvocationUnit defines the values returned from retrieved fields and + invoked methods. The values can again be very generic (any integer) or they + can also be values that were cached in prior evaluations of the code base.

      +
    • +
    +

    Complete example: EvaluateCode.java, which provides options to analyze code +with different levels of precision. It prints out its results in markdown +format, which is also used in the examples below.

    +

    Control flow analysis

    +

    You can set up basic evaluation with a BasicValueFactory and +a BasicInvocationUnit:

    +
    ValueFactory     valueFactory     = new BasicValueFactory();
    +InvocationUnit   invocationUnit   = new BasicInvocationUnit(valueFactory);
    +PartialEvaluator partialEvaluator = new PartialEvaluator(valueFactory,
    +                                                         invocationUnit,
    +                                                         false);
    +
    + +

    The analysis provides a control flow graph of the instructions in a method. +Each instruction is labeled with potential branch targets and branch origins:

    +
    InstructionOffsetValue branchOrigins = partialEvaluator.branchOrigins(offset));
    +InstructionOffsetValue branchTargets = partialEvaluator.branchTargets(offset));
    +
    + +

    Complete example: VisualizeControlFlow.java

    +

    Data flow analysis

    +

    You can also inspect the data flow between the instructions in a method by +looking at the stack and the local variables:

    +
    TracedStack     stack     = partialEvaluator.getStackAfter(offset);
    +TracedVariables variables = partialEvaluator.getVariablesAfter(offset);
    +
    + +

    Consider the following code:

    +
    public static int getAnswer()
    +{
    +    int f1 = 6;
    +    int f2 = 7;
    +
    +    return f1 * f2;
    +}
    +
    + +

    Applying the above partial evaluator to this code yields this overall result:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    InstructionStackv0v1
    [0] bipush 6[0:i]emptyempty
    [2] istore_0 v02:iempty
    [3] bipush 7[3:i]2:iempty
    [5] istore_1 v12:i5:i
    [6] iload_0 v0[6:i]2:i5:i
    [7] iload_1 v1[6:i] [7:i]2:i5:i
    [8] imul[8:i]2:i5:i
    [9] ireturn2:i5:i
    +

    Each integer value followed by a colon indicates the offset of the instruction +that stored or pushed the value. Each 'i' indicates an unknown primitive +integer value.

    +

    Useful applications: dependency analysis at an instruction level, for example +to remove unused instructions.

    +

    Complete example: EvaluateCode.java

    +

    More precise numerical evaluation

    +

    The above basic evaluation doesn't tell you much about any numerical results. +You can set up more precise numerical evaluation with a +ParticularValueFactory:

    +
    ValueFactory     valueFactory     = new ParticularValueFactory(new BasicValueFactory());
    +InvocationUnit   invocationUnit   = new BasicInvocationUnit(valueFactory);
    +PartialEvaluator partialEvaluator = new PartialEvaluator(valueFactory,
    +                                                         invocationUnit,
    +                                                         false);
    +
    + +

    For the same code as in the previous section:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    InstructionStackv0v1
    [0] bipush 6[0:6]emptyempty
    [2] istore_0 v02:6empty
    [3] bipush 7[3:7]2:6empty
    [5] istore_1 v12:65:7
    [6] iload_0 v0[6:6]2:65:7
    [7] iload_1 v1[6:6] [7:7]2:65:7
    [8] imul[8:42]2:65:7
    [9] ireturn2:65:7
    +

    In this trivial example, the previously unknown integers are now all concrete +values. The last instruction pops the computed result 42 from the stack and +returns it.

    +

    Useful application: constant propagation.

    +

    Evaluation with numeric ranges

    +

    Consider the following code:

    +
    public static int getAnswer()
    +{
    +    int answer = 0;
    +    for (int counter = 0; counter < 3 && Math.random() < 0.5f; counter++)
    +    {
    +        answer += 14;
    +    }
    +
    +    return answer;
    +}
    +
    + +

    The possible answer isn't a single value. You can let the evaluation work with +integer ranges with a RangeValueFactory:

    +
    ValueFactory     valueFactory     = new RangeValueFactory(new ArrayReferenceValueFactory(), new BasicValueFactory());
    +InvocationUnit   invocationUnit   = new BasicInvocationUnit(valueFactory);
    +PartialEvaluator partialEvaluator = new PartialEvaluator(valueFactory,
    +                                                         invocationUnit,
    +                                                         false);
    +
    + +

    The overall result of the analysis of the sample method is:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    InstructionStackv0v1
    [0] iconst_0[0:0]emptyempty
    [1] istore_0 v01:0empty
    [2] iconst_0[2:0]1:0empty
    [3] istore_1 v11:03:0
    [4] iload_1 v1[4:0..3]1,19:0..423,22:0..3
    [5] iconst_3[4:0..3] [5:3]1,19:0..423,22:0..3
    [6] if_icmpge +22 (target=28)1,19:0..423,22:0..3
    [9] invokestatic #2[9:T] [9:d]1,19:0..283,22:0..2
    [12] ldc2_w #3[9:T] [9:d] [12:T] [12:0.5d]1,19:0..283,22:0..2
    [15] dcmpg[15:i]1,19:0..283,22:0..2
    [16] ifge +12 (target=28)1,19:0..283,22:0..2
    [19] iinc v0, 1419:14..423,22:0..2
    [22] iinc v1, 119:14..4222:1..3
    [25] goto -21 (target=4)19:14..4222:1..3
    [28] iload_0 v0[28:0..42]1,19:0..423,22:0..3
    [29] ireturn1,19:0..423,22:0..3
    +

    Not all values are entirely concrete; they can have a range (with ".."). The +method can return a value between 0 and 42.

    +

    Useful applications: simplification of range checks.

    +

    Symbolic numerical evaluation

    +

    Consider the following code:

    +
    private static int getAnswer(int a, int b)
    +{
    +    return 2 * a + b;
    +}
    +
    + +

    The numerical evaluation of the previous sections doesn't get you very far, +since the parameters are unknown, so all computations produce unknown values:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    InstructionStackv0v1
    [0] iconst_2[0:2]P0:iP1:i
    [1] iload_0 v0[0:2] [1:i]P0:iP1:i
    [2] imul[2:i]P0:iP1:i
    [3] iload_1 v1[2:i] [3:i]P0:iP1:i
    [4] iadd[4:i]P0:iP1:i
    [5] ireturnP0:iP1:i
    +

    You can set up symbolic evaluation with an IdentifiedValueFactory:

    +
    ValueFactory     valueFactory     = new IdentifiedValueFactory();
    +InvocationUnit   invocationUnit   = new BasicInvocationUnit(valueFactory);
    +PartialEvaluator partialEvaluator = new PartialEvaluator(valueFactory,
    +                                                         invocationUnit,
    +                                                         false);
    +
    + +

    The overall result of the analysis of the sample method is:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    InstructionStackv0v1
    [0] iconst_2[0:2]P0:i0P1:i1
    [1] iload_0 v0[0:2] [1:i0]P0:i0P1:i1
    [2] imul[2:(2*i0)]P0:i0P1:i1
    [3] iload_1 v1[2:(2*i0)] [3:i1]P0:i0P1:i1
    [4] iadd[4:((2*i0)+i1)]P0:i0P1:i1
    [5] ireturnP0:i0P1:i1
    +

    The unknown values now have symbolic names (IDs): "i0" and "i1". Any +computations result in symbolic expressions, such as "((2*i0)+i1)".

    +

    Useful applications: a basis for symbolic simplification, static single +assignment, further analysis with SMT solvers (satisfiability modulo +theories).

    +

    Evaluation with reference types

    +

    The previous sections only showed examples with primitive types. Consider the following code with reference types:

    +
    public static Number getAnswer(Number answer)
    +{
    +    if (answer == null)
    +    {
    +        answer = new Integer(42);
    +    }
    +
    +    return answer;
    +}
    +
    + +

    The basic or numeric evaluation of the previuous sections don't tell much +about the non-primitive types:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    InstructionStackv0
    [0] aload_0 v0[0:a]P0:a
    [1] ifnonnull +13 (target=14)P0:a
    [4] new #2[4:a]P0:a
    [7] dup[4:7:a] [4:7:a]P0:a
    [8] bipush 42[4:7:a] [4:7:a] [8:42]P0:a
    [10] invokespecial #3[4:7:a]P0:a
    [13] astore_0 v013:a
    [14] aload_0 v0[14:a]P0,13:a
    [15] areturnP0,13:a
    +

    Unknown reference types are shown as "a".

    +

    You can keep track of origins of references in more detail with a +ReferenceTracingValueFactory and a ReferenceTracingInvocationUnit. The +PartialEvaluator is set up slightly differently from the earlier examples:

    +
    ReferenceTracingValueFactory valueFactory     = new ReferenceTracingValueFactory(new BasicValueFactory()) :
    +InvocationUnit               invocationUnit   = new ReferenceTracingInvocationUnit(new BasicInvocationUnit(valueFactory));
    +PartialEvaluator             partialEvaluator = new PartialEvaluator(valueFactory,
    +                                                                     invocationUnit,
    +                                                                     false,
    +                                                                     valueFactory);
    +
    + +

    The results then show the origins of non-primitive types:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    InstructionStackv0
    [0] aload_0 v0[0:P0:a]P0:P0:a
    [1] ifnonnull +13 (target=14)P0:P0:a
    [4] new #2[4:N4:a]P0:P0:a
    [7] dup[4:7:N4:a] [4:7:N4:a]P0:P0:a
    [8] bipush 42[4:7:N4:a] [4:7:N4:a] [8:i]P0:P0:a
    [10] invokespecial #3[4:7:N4:a]P0:P0:a
    [13] astore_0 v013:N4:a
    [14] aload_0 v0[14:N4,P0:a]P0,13:N4,P0:a
    [15] areturnP0,13:N4,P0:a
    +

    For example, the method pops and returns either a new instance ("N4") that +was created at offset 4, or parameter 0 ("P0").

    +

    Useful applications: define/use analysis, a basis for escape analysis or taint +analysis.

    +

    Evaluation with more precise reference types

    +

    You can keep track of non-primitive types in more detail with a +TypedReferenceValueFactory:

    +
    ValueFactory     valueFactory     = new TypedReferenceValueFactory();
    +InvocationUnit   invocationUnit   = new BasicInvocationUnit(valueFactory);
    +PartialEvaluator partialEvaluator = new PartialEvaluator(valueFactory,
    +                                                         invocationUnit,
    +                                                         false);
    +
    + +

    The results then show the types:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    InstructionStackv0
    [0] aload_0 v0[0:Ljava/lang/Number;]P0:Ljava/lang/Number;
    [1] ifnonnull +13 (target=14)P0:Ljava/lang/Number;
    [4] new #2[4:Ljava/lang/Integer;=!]P0:Ljava/lang/Number;
    [7] dup[4:7:Ljava/lang/Integer;=!] [4:7:Ljava/lang/Integer;=!]P0:Ljava/lang/Number;
    [8] bipush 42[4:7:Ljava/lang/Integer;=!] [4:7:Ljava/lang/Integer;=!] [8:i]P0:Ljava/lang/Number;
    [10] invokespecial #3[4:7:Ljava/lang/Integer;=!]P0:Ljava/lang/Number;
    [13] astore_0 v013:Ljava/lang/Integer;=!
    [14] aload_0 v0[14:Ljava/lang/Number;]P0,13:Ljava/lang/Number;
    [15] areturnP0,13:Ljava/lang/Number;
    +

    The types here are "Ljava/lang/Number;" and "Ljava/lang/Integer;". The types +respect the type hierarchy, for example when the branches join and the type is +"Ljava/lang/Number;". A mark "=" means that the type is the exact type, not an +extension. A mark "!" means that the value is definitely not null.

    +

    Useful applications: preverification of the type safety of bytecode.

    +

    Note on type variables naming convention

    +

    PGC has different representation for type string variables:

    +
      +
    • External class name: com.guardsquare.SomeClass
    • +
    • Internal class name: com/guardsquare/SomeClass
    • +
    • Internal type (or just type): Lcom/guardsquare/SomeClass; (for arrays e.g. [I, [Ljava/lang/Object;)
    • +
    • Internal class type: com/guardsquare/SomeClass (for arrays this is their internal type e.g. [I, [Ljava/lang/Object;)
    • +
    +

    See proguard.classfile.util.ClassUtil for useful methods to convert between the different representations.

    +

    Evaluation with primitive arrays

    +

    Primitive arrays may be of special interest, for example when performing +optimizations.

    +

    Consider the following code:

    +
    public static int getAnswer()
    +{
    +    int[] array = new int[] { 6, 7 };
    +
    +    return array[0] * array[1];
    +}
    +
    + +

    Even though this is a trivial example, the previous evaluations +wouldn't provide much useful information:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    InstructionStackv0
    [0] iconst_2[0:i]empty
    [1] newarray 10[1:[I?=![i]]empty
    [3] dup[1:3:[I?=![i]] [1:3:[I?=![i]]empty
    [4] iconst_0[1:3:[I?=![i]] [1:3:[I?=![i]] [4:i]empty
    [5] bipush 6[1:3:[I?=![i]] [1:3:[I?=![i]] [4:i] [5:i]empty
    [7] iastore[1:3:[I?=![i]]empty
    [8] dup[1:8:[I?=![i]] [1:8:[I?=![i]]empty
    [9] iconst_1[1:8:[I?=![i]] [1:8:[I?=![i]] [9:i]empty
    [10] bipush 7[1:8:[I?=![i]] [1:8:[I?=![i]] [9:i] [10:i]empty
    [12] iastore[1:8:[I?=![i]]empty
    [13] astore_0 v013:[I?=![i]
    [14] aload_0 v0[14:[I?=![i]]13:[I?=![i]
    [15] iconst_0[14:[I?=![i]] [15:i]13:[I?=![i]
    [16] iaload[16:i]13:[I?=![i]
    [17] aload_0 v0[16:i] [17:[I?=![i]]13:[I?=![i]
    [18] iconst_1[16:i] [17:[I?=![i]] [18:i]13:[I?=![i]
    [19] iaload[16:i] [19:i]13:[I?=![i]
    [20] imul[20:i]13:[I?=![i]
    [21] ireturn13:[I?=![i]
    +

    The array type is "[I", which is the standard notation for an array of +primitive integers.

    +

    You can keep track of the lengths of arrays with ArrayReferenceValueFactory +and even of the contents of primitive arrays with +DetailedArrayValueFactory:

    +
    ValueFactory     valueFactory     = new DetailedArrayValueFactory();
    +InvocationUnit   invocationUnit   = new BasicInvocationUnit(valueFactory);
    +PartialEvaluator partialEvaluator = new PartialEvaluator(valueFactory,
    +                                                         invocationUnit,
    +                                                         false);
    +
    + +

    The results of the evaluation then become:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    InstructionStackv0
    [0] iconst_2[0:2]empty
    [1] newarray 10[1:[I?=![2]#0{6,7}]empty
    [3] dup[1:3:[I?=![2]#0{6,7}] [1:3:[I?=![2]#0{6,7}]empty
    [4] iconst_0[1:3:[I?=![2]#0{6,7}] [1:3:[I?=![2]#0{6,7}] [4:0]empty
    [5] bipush 6[1:3:[I?=![2]#0{6,7}] [1:3:[I?=![2]#0{6,7}] [4:0] [5:6]empty
    [7] iastore[1:3:[I?=![2]#0{6,7}]empty
    [8] dup[1:8:[I?=![2]#0{6,7}] [1:8:[I?=![2]#0{6,7}]empty
    [9] iconst_1[1:8:[I?=![2]#0{6,7}] [1:8:[I?=![2]#0{6,7}] [9:1]empty
    [10] bipush 7[1:8:[I?=![2]#0{6,7}] [1:8:[I?=![2]#0{6,7}] [9:1] [10:7]empty
    [12] iastore[1:8:[I?=![2]#0{6,7}]empty
    [13] astore_0 v013:[I?=![2]#0{6,7}
    [14] aload_0 v0[14:[I?=![2]#0{6,7}]13:[I?=![2]#0{6,7}
    [15] iconst_0[14:[I?=![2]#0{6,7}] [15:0]13:[I?=![2]#0{6,7}
    [16] iaload[16:6]13:[I?=![2]#0{6,7}
    [17] aload_0 v0[16:6] [17:[I?=![2]#0{6,7}]13:[I?=![2]#0{6,7}
    [18] iconst_1[16:6] [17:[I?=![2]#0{6,7}] [18:1]13:[I?=![2]#0{6,7}
    [19] iaload[16:6] [19:7]13:[I?=![2]#0{6,7}
    [20] imul[20:42]13:[I?=![2]#0{6,7}
    [21] ireturn13:[I?=![2]#0{6,7}
    +

    The array is now traced as having length 2 and elements 6 and 7.

    +

    Useful application: simplification of code with enum types.

    +

    Evaluation with particular reference values

    +

    The values of references can also be of interest.

    +

    Consider the following code:

    +
    public StringBuilder append()
    +{
    +    StringBuilder s = new StringBuilder("asd");
    +    s.append("fgh");
    +    return s;
    +}
    +
    + +

    If the value of s is of interest, this can be retrieved using a ParticularValueFactory. To also keep track of the references as they flow through method calls (in the example: the constructor-call, and the append), the InvocationUnit needs to be a ExecutingInvocationUnit:

    +
    ValueFactory            valueFactory     = new ParticularValueFactory(new BasicValueFactory(), 
    +                                                                      new ParticularReferenceValueFactory());
    +ExecutingInvocationUnit invocationUnit   = new ExecutingInvocationUnit.Builder().build(valueFactory);
    +PartialEvaluator        partialEvaluator = new PartialEvaluator(valueFactory, 
    +                                                                invocationUnit, 
    +                                                                false);
    +
    + +

    The results of the evaluation then become:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    InstructionStack (before the Instruction)v0 (before the Instruction)
    [0] new StringBuilder[empty:empty]
    [3] dup[0:StringBuilder=!#0][empty:empty]
    [4] ldc "asd"[3:0:StringBuilder=!#0]
    [3:0:StringBuilder=!#0]
    [empty:empty]
    [6] invokespecial StringBuilder.<init>(String)V[4:String?=#1(asd)]
    [3:0:StringBuilder=!#0]
    [3:0:StringBuilder=!#0]
    [empty:empty]
    [9] astore_0 v0[3:0:StringBuilder=#2(asd)][empty:empty]
    [10] aload_0 v0[9:StringBuilder=#2(asd)]
    [11] ldc "fgh"[10:StringBuilder=#2(asd)][9:StringBuilder=#2(asd)]
    [13] invokevirtual StringBuilder.append(String)StringBuilder[11:String?=#3(fgh)]
    [10:StringBuilder=#2(asd)]
    [9:StringBuilder=#2(asd)]
    [16] pop[13:StringBuilder=#4(asdfgh)][13:StringBuilder=#4(asdfgh)]
    [17] aload_0 v0[13:StringBuilder=#4(asdfgh)]
    [18] areturn[17:StringBuilder=#4(asdfgh)][13:StringBuilder=#4(asdfgh)]
    +

    (Class/String constants are added to the instruction, and java/lang/ is ommited from the class names for clarity)

    +

    The StringBuilder is now traced through the method, the value of the reference can be retrieved before and after each location. The value of the reference is printed in this output in the finishing brackets. The notation before the bracket is the notation of a TypedReference (TypedReference)

    +

    Customization

    +

    The ExecutingInvocationUnit is designed to be customizable and extensible in its capability to execute different methods. Therefore, it maintains a list of Executors which define how a certain set of methods can be executed. Currently, only the StringReflectionExecutor is implemented which supports String, StringBuilderand StringBuffer. +To customize an ExecutingInvocationUnit, use its dedicated Builder.

    +
    ExecutingInvocationUnit invocationUnit = new ExecutingInvocationUnit.Builder().useDefaultStringReflectionExecutor(false)
    +                                                                              .addExecutor(new MyExecutor())
    +                                                                              .build(valueFactory);
    +
    + +

    Limitations

    +
      +
    • Only String, StringBuilder, and StringBuffer are currently supported, although custom executors can be implemented.
    • +
    • The ParticularValueFactory keeps track of one specific value of a reference. If more values would be possible (e.g., due to a branch), the result will be an UnknownReferenceValue/IdentifiedReferenceValue
    • +
    • Independent of the specific Executor, ExecutingInvocationUnit keeps track of changes to the instance of a method. However, it does not check for changes to reference values in the parameters.
    • +
    +

    Lifecycle

    +
    %% [Mermaid Diagramming and charting tool](https://mermaid.js.org/)
    +stateDiagram-v2
    +    L0: Try
    +    state L0 {
    +        L1: Evaluate instruction block and branches
    +        [*] --> startCodeAttribute
    +        startCodeAttribute --> L1
    +        state L1 {
    +            L2: Evaluate single instruction block
    +            [*] --> L2
    +            state L2 {
    +                L3: For each instruction in block
    +                [*] --> startInstructionBlock
    +                startInstructionBlock --> L3
    +                state L3 {
    +                    BR1: Instruction has been seen in this context?
    +                    [*] --> BR1
    +                    BR1 --> skipInstructionBlock : Yes
    +                    skipInstructionBlock --> [*]
    +                    BR2: Already evaluated a lot of times?
    +                    BR1 --> BR2: No
    +                    BR2 --> generalizeInstructionBlock: Yes
    +                    generalizeInstructionBlock --> startInstructionEvaluation
    +                    BR2 --> startInstructionEvaluation: No
    +                    startInstructionEvaluation --> afterInstructionEvaluation
    +                    BR3: Branch unit has been called?
    +                    afterInstructionEvaluation --> BR3
    +                    BR3 --> BR5 : Yes
    +                    BR5: #Branch targets > 1?
    +                    BR5 --> definitiveBranch: No
    +                    BR5 --> registerAlternativeBranch: Yes
    +                    registerAlternativeBranch --> registerAlternativeBranch
    +                    registerAlternativeBranch --> [*]
    +                    definitiveBranch --> BR6
    +                    BR6: Instruction was JSR or JSR_W?
    +                    BR3 --> BR6 : No
    +                    BR_RET: Instruction was RET?
    +                    BR6 --> BR_RET
    +                    L5: Instruction was subroutine invocation
    +                    BR6 --> L5: Yes
    +                    state L5 {
    +                        [*] --> startSubroutine
    +                        recursion1: Evaluate all subroutines
    +                        startSubroutine --> recursion1
    +                        note left of recursion1: Recursively call back to evaluateInstructionBlockAndExceptionHandlers
    +                        recursion1 --> generalizeSubroutine
    +                        generalizeSubroutine --> endSubroutine
    +                        endSubroutine --> [*]
    +                    }
    +                    L5 --> [*]
    +                    Repeat: Go to next instruction
    +                    BR_RET --> Repeat: No
    +                    REG_RET: registerSubroutineReturn 
    +                    BR_RET --> REG_RET: Yes
    +                    REG_RET --> [*]
    +
    +                }
    +                L3 --> instructionBlockDone
    +                instructionBlockDone --> [*]
    +            }
    +            L6: For each generated instructionBlock on generated stack
    +            L2 --> L6
    +            state L6 {
    +              evaluateSingleInstructionBlock --> pop
    +              pop --> startBranchCodeBlockEvaluation
    +              startBranchCodeBlockEvaluation --> evaluateSingleInstructionBlock
    +            }
    +            L6 --> [*]
    +        }
    +        L1 --> startExceptionHandlingForBlock
    +        L7: For each exception handler registered on code attribute
    +      startExceptionHandlingForBlock --> L7
    +        state L7 {
    +            BR7: Exception handler evaluation is needed?
    +            [*] --> BR7
    +            BR7 --> registerExceptionHandler: Yes
    +            BR7 --> registerUnusedExceptionHandler: No
    +            nextExceptionHandler: Go to next exception handler
    +            registerExceptionHandler --> evaluateInstructionBlockAndBranches
    +            evaluateInstructionBlockAndBranches --> nextExceptionHandler
    +            registerUnusedExceptionHandler --> nextExceptionHandler
    +        }
    +        L7 --> evaluationResults
    +        evaluationResults --> [*]
    +    }
    +    catch: Did catch?
    +    L0 --> catch
    +    catch -->  [*]: No
    +    catch --> registerException: Yes
    +  registerException --> [*]
    +

    The lifecycle can be tracked by providing a PartialEvaluatorStateTracker to the partial evaluator through its builder. +For example, when you want to get a JSON debug output regarding the evaluations made by the partial evaluator, you can do so by:

    +
    JsonPrinter tracker = new JsonPrinter();
    +PartialEvaluator partialEvaluator = PartialEvaluator.Builder.create().setStateTracker(tracker).build()
    +
    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/patternmatching.html b/patternmatching.html new file mode 100644 index 000000000..d25de9d36 --- /dev/null +++ b/patternmatching.html @@ -0,0 +1,720 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Pattern matching - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Pattern matching

    + +

    Basic pattern matching

    +

    The library has powerful support to match patterns in bytecode instruction +sequences. You first define the pattern as a sequence of instructions, with +wildcards. For example:

    +
    final int X = InstructionSequenceMatcher.X;
    +final int C = InstructionSequenceMatcher.C;
    +
    +InstructionSequenceBuilder ____ =
    +    new InstructionSequenceBuilder();
    +
    +Instruction[] pattern =
    +    ____.iload(X)
    +        .bipush(C)
    +        .istore(X).__();
    +
    +Constant[] constants = ____.constants();
    +
    + +

    You can then find that pattern in given code:

    +
    programClassPool.classesAccept(
    +    new AllMethodVisitor(
    +    new AllAttributeVisitor(
    +    new AllInstructionVisitor(
    +    new MyMatchPrinter(
    +    new InstructionSequenceMatcher(constants, pattern))))));
    +
    + +

    Complete example: ApplyPeepholeOptimizations.java

    +

    Replacing patterns

    +

    Instead of just matching instruction sequences, you can also replace matched +sequences by other instruction sequences, for example to optimize code or +instrument code. The core classes are PeepholeEditor and +InstructionSequenceReplacer. Say that you want to replace an instruction +sequence "putstatic/getstatic" by an equivalent "dup/putstatic":

    +
    final int X = InstructionSequenceReplacer.X;
    +
    +InstructionSequenceBuilder ____ =
    +    new InstructionSequenceBuilder();
    +
    +Instruction[][] replacements =
    +{
    +    ____.putstatic(X)
    +        .getstatic(X).__(),
    +
    +    ____.dup()
    +        .putstatic(X).__()
    +};
    +
    +Constant[] constants = ____.constants();
    +
    +BranchTargetFinder  branchTargetFinder  = new BranchTargetFinder();
    +CodeAttributeEditor codeAttributeEditor = new CodeAttributeEditor();
    +
    +programClassPool.classesAccept(
    +    new AllMethodVisitor(
    +    new AllAttributeVisitor(
    +    new PeepholeEditor(branchTargetFinder, codeAttributeEditor,
    +    new InstructionSequenceReplacer(constants,
    +                                    replacements[0],
    +                                    constants,
    +                                    replacements[1],
    +                                    branchTargetFinder,
    +                                    codeAttributeEditor)))));
    +
    + +

    You can define multiple patterns and their respective replacements in one go, +with the wrapper InstructionSequencesReplacer.

    +

    Complete example: ApplyPeepholeOptimizations.java

    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/reading.html b/reading.html new file mode 100644 index 000000000..994e8dfab --- /dev/null +++ b/reading.html @@ -0,0 +1,809 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Reading classes - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + + + +
    +
    + + + + + + + +

    Reading classes

    + +

    Streaming classes from a jar file

    +

    You can read classes from class files and various types of (nested) jar files +or jmod files, with some convenient utility classes and visitors. For example, +you can read all classes from all jar files in a given directory and print +them out in a streaming fashion, while they are read, without collecting their +representations:

    +
    DataEntrySource source =
    +    new DirectorySource(
    +    new File(inputDirectoryName));
    +
    +source.pumpDataEntries(
    +    new FilteredDataEntryReader(new DataEntryNameFilter(new ExtensionMatcher(".jar")),
    +    new JarReader(
    +    new ClassFilter(
    +    new ClassReader(false, false, false, false, null,
    +    new ClassPrinter())))));
    +
    + +

    Note the constructor-based dependency injection, to create a chain of visitor +classes. We typically use a slightly unconventional indentation to make this +construct easy to read.

    +

    Complete example: PrintClasses.java

    +

    Streaming classes from a dex/apk file

    +

    With the addition of proguard-core-android, you can read classes from dex/apk +files just like you would with jar files. A small example showing how to use +DexClassReader() to read classes from a dex/apk file:

    +
    DataEntrySource source = 
    +    new DirectorySource(
    +    new File(inputDirectoryName));
    +
    +DataEntryReader classReader =
    +    new NameFilteredDataEntryReader("**.class",
    +    new ClassReader(false, false, false, false, null,
    +    new ClassNameFilter("**", null)));
    +
    +// Convert dex files to a jar first
    +classReader =
    +    new NameFilteredDataEntryReader("classes*.dex",
    +    new DexClassReader(true,
    +    new ClassPrinter()),
    +    classReader);
    +
    +source.pumpDataEntries(classReader);
    +
    + +

    Do note that in order to use dex/apk file reading functionalities within +your project, you must import proguard-core-android in the build.gradle +file:

    +
    +

    build.gradle +

    dependencies {
    +  ...
    +  implementation project('com.guardsquare:proguard-core')
    +  implementation project('com.guardsquare:proguard-core-android')
    +  ...
    +}
    +

    +
    +

    A complete example for reading from dex, apk and jar files can be found in: JarUtil.java

    +

    Writing out streamed classes

    +

    You can read classes, optionally perform some small modifications, and write +them out right away, again in a streaming fashion.

    +
    JarWriter jarWriter =
    +    new JarWriter(
    +    new ZipWriter(
    +    new FixedFileWriter(
    +    new File(outputJarFileName))));
    +
    +DataEntrySource source =
    +    new FileSource(
    +    new File(inputJarFileName));
    +
    +source.pumpDataEntries(
    +    new JarReader(
    +    new ClassFilter(
    +    new ClassReader(false, false, false, false, null,
    +    new DataEntryClassWriter(jarWriter)))));
    +
    +jarWriter.close();
    +
    + +

    Complete example: ApplyPeepholeOptimizations.java

    +

    Collecting classes

    +

    Alternatively, you may want to collect the classes in a so-called class pool +first, so you can perform more extensive analyses on them:

    +
    ClassPool classPool = new ClassPool();
    +
    +DataEntrySource source =
    +    new FileSource(
    +    new File(jarFileName));
    +
    +source.pumpDataEntries(
    +    new JarReader(false,
    +    new ClassFilter(
    +    new ClassReader(false, false, false, false, null,
    +    new ClassPoolFiller(classPool)))));
    +
    + +

    Complete example: Preverify.java

    +

    Writing out a set of classes

    +

    If you've collected a set of classes in a class pool, you can write them out +with the same visitors as before.

    +
    JarWriter jarWriter =
    +    new JarWriter(
    +    new ZipWriter(
    +    new FixedFileWriter(
    +    new File(outputJarFileName))));
    +
    +classPool.classesAccept(
    +    new DataEntryClassWriter(jarWriter));
    +
    +jarWriter.close();
    +
    + +

    Complete example: Preverify.java

    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/releasenotes.html b/releasenotes.html new file mode 100644 index 000000000..1929548b2 --- /dev/null +++ b/releasenotes.html @@ -0,0 +1,3311 @@ + + + + + + + + + + + + + + + + + + + + + + + + Release notes - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + +

    Release notes

    + +

    Version 9.1.7

    +

    Bugfixes

    +
      +
    • Make sure injected initialization methods in interfaces have the correct access flags.
    • +
    +

    Improved

    +
      +
    • InstructionSequenceMatcher now supports matching of primitive array constants.
    • +
    • Support propagation of extra specified taints in JvmTaintTransferRelation.
    • +
    • Introduce ReflectiveModel and ReflectiveModelExecutor to simplify the creation and analysis of Models.
    • +
    +

    API improvements

    +
      +
    • Rename CallVisitor to CallHandler and add extra parameters to handle calls accounting for more data.
    • +
    • Add ClassUtil.isClassInitializer(String) and ClassUtil.isInstanceInitializer(String).
    • +
    • Extend MemberCollectionFilter to accept a Set of any subtype of Member.
    • +
    +

    API changes

    +
      +
    • Move classes related to Model to the proguard.evaluation.value.object.model package.
    • +
    • StringSharer now uses a string pool to share strings, instead of traversing references.
    • +
    +

    API changes for the dataflow analysis code

    +

    There are several changes to the dataflow analysis code with the objective of eliminating unnecessary abstraction and +make its usage easier. This includes: +- Remove MemoryLocation, use JvmMemoryLocation instead. +- Make JvmMemoryLocation independent of the type of value contained in the analysis' state. The type of the value now needs only to be provided when calling extractValueOrDefault. +- Remove all code related to the tree heap model for taint analysis.

    +

    Version 9.1.6

    +

    Java support

    +
      +
    • Update maximum supported Java class version to 67.65535 (Java 23).
    • +
    +

    API changes

    +
      +
    • Make CallGraph reconstruction/traversal methods generic in that they now take a Set<MethodSignature> to determine when to stop exploration
    • +
    • Delete EntryPoint class
    • +
    +

    Bugfixes

    +
      +
    • Fix incorrect traversal direction in predecessorsContain.
    • +
    +

    Version 9.1.5

    +

    Improved

    +
      +
    • ExecutingInvocationUnit now supports execution of static methods with no parameters.
    • +
    +

    Bugfixes

    +
      +
    • Prevent unknown enum value for KmVersionRequirementVersionKind exception when processing code compiled with an outdated Kotlin version.
    • +
    • Fix UnknownReferenceValue return wrong string format in getType.
    • +
    • Fix ReflectionExecutor not updating instance of StringBuilders in fallback result.
    • +
    • Fix DetailedArrayValueFactory#createArrayReferenceValue expecting an array type instead of the type of the values contained in the array.
    • +
    • Fix ExecutingInvocationUnit using both ParticularReferenceValue and DetailedArrayReferenceValue for arrays of reference types. Now DetailedArrayValueFactory is used consistently.
    • +
    +

    API changes

    +
      +
    • Executors do not support MethodSignature wildcards anymore. The assumption from ExecutorLookup is now that all the signatures supported by the executor are declared explicitly in getSupportedMethodSignatures.
    • +
    • StringExecutor, ExecutingInvocationUnit, and JvmValueBamCpaRun now need the library class pool as parameter.
    • +
    • Calls to InstructionSequenceBuilder.ldc now optionally accept a ConstantVisitor. The visitor will visit the constant that is referenced by the added instruction.
    • +
    • DetailedArrayValueFactory now takes a referenceValueFactory parameter, which determines if the value factory supports direct creation of reference arrays.
    • +
    • ParticularReferenceValue can't be used with arrays anymore.
    • +
    +

    Version 9.1.4

    +

    Kotlin support

    +
      +
    • Update Kotlin dependency to 2.0.0 final release version.
    • +
    +

    Improved

    +
      +
    • Add support for dynamic dispatch in ExecutorInvocationUnit. This makes it possible to execute methods based on statically observed types of objects, not only based on the type of the used variables.
    • +
    +

    API changes

    +
      +
    • Remove ExecutorMatcher and change the Executor interface so that it declares supported methods by MethodSignature wildcards instead.
    • +
    • Add @Nullable annotations to MethodSignature.
    • +
    +

    Bugfixes

    +
      +
    • Prevent potential NullPointerException when Kotlin property metadata isVar flag does not correctly indicate the presence of a setter.
    • +
    +

    Version 9.1.3

    +

    Kotlin support

    +
      +
    • Add support for processing Kotlin 2.0 metadata.
    • +
    • Update to stable version of the Kotlin metadata library.
    • +
    +

    Version 9.1.2

    +

    Java support

    +
      +
    • Update maximum supported Java class version to 66.65535 (Java 22).
    • +
    +

    API changes

    +
      +
    • Remove deprecated ReferenceValueFactory, ParticularReferenceValueFactory should be used instead.
    • +
    • Deprecate methods in ValueFactory taking an Object as parameter. The alternatives using ParticularObject should be used instead.
    • +
    • Executor#getMethodResult now returns a MethodResult object instead of just the return value of the analyzed method. The calling instance has been removed from the parameters array since it's already available in another argument.
    • +
    +

    Improved

    +
      +
    • Add support for selective parameter reconstruction to define which methods should have their calls evaluated.
    • +
    • Refactor ExecutingInvocationUnit to be customizable using executors. Improve checking whether method instance should be replaced in stack and variables.
    • +
    • Support execution of methods that operate on 1D arrays of all primitive and reference types with ReflectionExecutor.
    • +
    • Use runtime type instead of static type when possible in ExecutingInvocationUnit.
    • +
    • Introduce ParticularObject as the value tracked by ParticularReferenceValue. This makes explicit which kind of values can be tracked during the analysis, and introduces the possibility of tracking a model of the values that differ from the actual tracked object.
    • +
    • Extend capabilities of ExecutingInvocationUnit to allow executors to specify side effects not only on the instance value, but also on parameters.
    • +
    • Extend capabilities of ExecutingInvocationUnit to allow executors to specify return/instance/argument values that are not particular.
    • +
    +

    Bug fixes

    +
      +
    • Improve Kotlin MultiFileFacade metadata assertions to detect uninitialized references.
    • +
    • Fix handling of category 2 values in JvmValueTransferRelation to work correctly with ExecutingInvocationUnit.
    • +
    • Fix concurrency problems in CallGraph and ValueFactory ids.
    • +
    • Fix a bug in ReturnClassExtractor returning the last parameter type instead of null for primitive return values.
    • +
    • Fix ExecutorMethodSignatureMatcher trying to mutate an immutable map.
    • +
    • Fix TypedReferenceValue.cast() not handling null values correctly.
    • +
    +

    Version 9.1.1

    +

    Bugfixes

    +
      +
    • Enable fix previously behind system property: fix TypedReferenceValue.generalize() not setting mayBeExtension to true when generalizing to common parent type.
    • +
    • Avoid printing PartialEvaluator messages when an ExcessiveComplexityException occurs.
    • +
    • Fix incorrect writing of flags for type parameters with name annotations.
    • +
    • Fix incorrect writing of flags for reified type parameters.
    • +
    • Fix model for types and type parameters, removing the incorrect HAS_ANNOTATION common flag.
    • +
    +

    Improved

    +
      +
    • Enable new PartialEvaluator error message format by default.
    • +
    • Add the ability to implement a custom renaming strategy for ClassReferenceFixer.
    • +
    • Add new MaxStackSizeComputer to compute the maximum stack size of a code attribute which is more memory efficient than the existing StackSizeComputer.
    • +
    • Add IdentifiedArrayReferenceValue.generalize() to maintain ID when applied to two instances with same ID.
    • +
    • Improve ExecutingInvocationUnit support to methods that transform a String into an array of a primitive type.
    • +
    • Add support for customizing the way method calls are processed in taint analysis.
    • +
    +

    New Code Style

    +

    We have changed our code style to follow the Google Java Style Guide. A new auto-formatter is now available to make contributing to +ProGuardCORE easier:

    +
    ./gradlew spotlessApply
    +
    +

    More information can be found in the Code Style section in CONTRIBUTING.md.

    +

    Version 9.1

    +

    Improved

    + +

    Bug fixes

    +
      +
    • Fix UnsupportedOperationException when trying to shrink Kotlin metadata from a lambda function.
    • +
    • Change behavior of array index out of bounds during partial evaluation, which is now handled as an unknown value instead of throwing an exception in the partial evaluator method.
    • +
    • Fix IllegalArgumentException when joining values with different computational type during value analysis.
    • +
    • Fix TypedReferenceValue.generalize() not setting mayBeExtension to true when generalizing to common parent type. For now only available experimentally by setting the system property proguard.pe.newextensiongeneralize.
    • +
    • Fix MultiTypeReferenceValue possibly using an imprecise type metadata (i.e., mayBeExtension, mayBeNull) in the generalized type.
    • +
    +

    API Changes

    +
      +
    • No longer consider Record attributes empty when they have no components in NonEmptyAttributeFilter. (#118)
    • +
    • Add new ProguardCoreException subclasses with more specific meanings.
    • +
    +

    Version 9.0.10

    +

    Improved

    +
      +
    • TaintSink can now be configured with a predicate to filter on which TaintSources trigger it.
    • +
    • Improve performance of DynamicClassReferenceInitializer.
    • +
    • Improve performance of DynamicClassMemberReferenceInitializer.
    • +
    +

    API changes

    +
      +
    • The constructors in JvmInvokeTaintSink are now deprecated, JvmInvokeTaintSink#Builder should be used instead.
    • +
    • MultiTypedReferenceValue.generalize() now removes the null type from the set of potential types, and sets maybeNull on the other types instead.
    • +
    +

    Version 9.0.9

    +

    Kotlin support

    +
      +
    • Add support for processing Kotlin 1.9 metadata.
    • +
    • Update kotlinx metadata dependency to version 0.6.0.
    • +
    +

    Java support

    +
      +
    • Update maximum supported Java class version to 65.65535 (Java 21).
    • +
    +

    Improved

    +
      +
    • Added support for adding line numbers in the CodeAttributeEditor.
    • +
    • Improve performance of ClassReferenceInitializer when initializing Kotlin type aliases.
    • +
    • Improve performance of ClassPool.removeClass.
    • +
    • Allow more configuration of ExecutingInvocationUnit by using ExecutingInvocationUnit.Builder.
    • +
    • Add a mode to ExecutingInvocationUnit to approximate reference of types not supported for the execution via reflection.
    • +
    • Implement Autocloseable in DataEntryWriter interface.
    • +
    +

    Bug fixes

    +
      +
    • Use program location as hash code for JvmAbstractState to allow correct use with hash sets.
    • +
    • Fix a bug in JvmTransferRelation handling arithmetic instructions returning category 2 values incorrectly.
    • +
    • Fix delegation of proguard.evaluation.value.ParticularValueFactory#createReferenceValueNull().
    • +
    +

    API changes

    +
      +
    • The key used for fields in JvmAbstractState has been updated to include the field type to disambiguate between + overloaded fields.
    • +
    • Replace allNodes field in proguard.analysis.cpa.defaults.Cfa with getAllNodes method to save memory.
    • +
    • Constructor for ExecutingInvocationUnit is deprecated, use ExecutingInvocationUnit.Builder instead.
    • +
    +

    Version 9.0.8

    +

    Improved

    +
      +
    • Increase proguard.classfile.VersionConstants.MAX_SUPPORTED_VERSION to 64.65535 (Java 20 + preview enabled).
    • +
    • Fix tracking of IdentifiedReferenceValue IDs.
    • +
    • Add new Kotlin visitor SAM interfaces: KotlinClassVisitor, KotlinFileFacadeVisitor, + KotlinMultiFileFacadeVisitor, KotlinMultiFilePartVisitor, KotlinSyntheticClassVisitor.
    • +
    +

    API changes

    +
      +
    • JvmTransferRelation has been refactored to model IINC in a separate computeIncrement method.
    • +
    • The ProcessingFlag.DONT_PROCESS_KOTLIN_MODULE value was changed from 0x00002000 to 0x00008000.
    • +
    • Remove fromClassPool suffixes in CfaUtil methods.
    • +
    • Refactor CodeLocation to only take the signature and offset into consideration.
    • +
    • IdentifiedReferenceValue id field changed from int to Object.
    • +
    • ParticularValueFactory.ReferenceFactory replaced by ParticularReferenceValueFactory.
    • +
    • Add ValueFactory.createReferenceValue(String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, Clazz creationClass, Method creationMethod, int creationOffset) to allow creating references identified by their creation site.
    • +
    • Add JvmCfaReferenceValueFactory to create references identified by the JvmCfaNode creation site.
    • +
    +

    Upgrade considerations

    +

    Identified and particular references can now be identified by any Object instead of a simple int. +However, this means that code which compared the IDs may need to be modified. For example, the following +code should be changed:

    +
        public static boolean equal(IdentifiedReferenceValue a, IdentifiedReferenceValue b) {
    +        return a.id == b.id;
    +    }
    +
    +

    It should use the equals method instead.

    +
        public static boolean equal(IdentifiedReferenceValue a, IdentifiedReferenceValue b) {
    +        return a.id.equals(b.id);
    +    }
    +
    +

    The ParticularReferenceValueFactory identifies references with integers by default:

    +
    ValueFactory valueFactory = new ParticularReferenceFactory(new ParticularReferenceValueFactory());
    +Value a = valueFactory.createReferenceValue("Ljava/lang/String;", clazz, false, false);
    +// a.id will be an integer.
    +
    +

    Any Object can be used as an ID using the createReferenceValueForId method:

    +
    String objectId = "myId";
    +ValueFactory valueFactory = new ParticularReferenceFactory(new ParticularReferenceValueFactory());
    +Value a = valueFactory.createReferenceValueForId("Ljava/lang/String;", clazz, false, false, objectId);
    +// a.id will be objectId
    +
    +

    Version 9.0.7

    +

    Improved

    +
      +
    • Add JvmShallowHeapModel for selective heap modeling.
    • +
    +

    Version 9.0.7

    +

    Improved

    +
      +
    • Don't report warnings for missing Kotlin default implementation classes when initializing with ClassReferenceInitializer.
    • +
    • Only link matching methods in Kotlin file facades with MethodLinker.
    • +
    • Extend the LimitedHashMap parameterization with an element exclusion selector.
    • +
    • Add the possibility to add a predicate to taint sources and sinks for selective response to calls.
    • +
    +

    Bug fixes

    +
      +
    • Fix the reduce operator producing a wrong JvmAbstractState for the composite taint analysis.
    • +
    • Fix potential expected Precise Reference runtime verifier error.
    • +
    • Don't report warnings for missing Kotlin default implementation classes when initiazing with ClassReferenceInitializer.
    • +
    +

    API Improvements

    +
      +
    • Add KotlinMetadataAsserter to check the integrity of Kotlin metadata.
    • +
    • Add JvmReturnTaintSink to support return instruction sinks in taint analysis.
    • +
    • Use method signatures instead of fully qualified names in taint sources and sinks.
    • +
    +

    API changes

    +
      +
    • JvmTaintSink has been generalized, use JvmInvokeTaintSink to have the old functionalities.
    • +
    +

    Version 9.0.6

    +

    Improved

    +
      +
    • Add support for limiting the size of the CPA tree heap model with LimitedHashMaps.
    • +
    +

    Bug fixes

    +
      +
    • Fix ldc_w method in the InstructionSequenceBuilder generating a ldc instruction instead of a ldc_w.
    • +
    +

    API Improvements

    +
      +
    • Add referencedDefaultMethodAccept to KotlinFunctionMetadata model.
    • +
    +

    Version 9.0.5

    +

    Improved

    +
      +
    • Replace proguard-assembler dependency in test fixtures with Maven Central version.
    • +
    +

    Bug fixes

    +
      +
    • Do not add interprocedural CFA edges for methods missing intraprocedural CFA.
    • +
    +

    Version 9.0.4

    +

    Improved

    +
      +
    • Allow class sub-hierarchy re-initialization for the optimized implementation of ClassSubHierarchyInitializer.
    • +
    • Enable providing distinct abort operators for the main and trace reconstruction CPAs.
    • +
    • Add a heap model for taint CPA supporting tainting of whole objects.
    • +
    • Call API: Add a few utilities and fix inconsistent call argument count getter behavior.
    • +
    • Only change the Kotlin metadata version if the original version is unsupported.
    • +
    • Add support for Kotlin context receivers in Kotlin metadata.
    • +
    • Add support for reading & writing Kotlin 1.8 metadata.
    • +
    +

    API Improvements

    +
      +
    • Add referencedDefaultImplementationMethodAccept to KotlinFunctionMetadata model class.
    • +
    • Deprecated referencedMethodAccept(Clazz, MemberVisitor) in favour of referencedMethodAccept(MemberVisitor) in KotlinFunctionMetadata model class.
    • +
    • Add TransformedStringMatcher.
    • +
    • Add ClassFeatureNameCollector.
    • +
    • Add var-arg constructor to ClassPath.
    • +
    • Add DataEntryClassInfoFilter.
    • +
    • Add NamedDataEntry.
    • +
    • Refactor CodeLocation#getClassName as getExternalClassName to comply with the types naming convention.
    • +
    • Make TypedReferenceValue.ALLOW_INCOMPLETE_CLASS_HIERARCHY private, add a getter TypedReferenceValue.allowsIncompleteClassHierarchy() instead.
    • +
    +

    Bug fixes

    +
      +
    • Fix side effect on DetailedArrayReferenceValue modifying values at previous offsets on array store + instructions during PartialEvaluator execution.
    • +
    • Fix JvmTransferRelation to produce a successor in case of missing interprocedural call edge + (e.g., in case of incomplete call resolution).
    • +
    • Fix call resolution for invokedynamic (issue #63). There might now be calls with incomplete target + information. By default, these calls will not be distributed to visitors, but this can be enabled + by setting the skipIncompleteCalls option in the call resolver.
    • +
    • Fix leading $ being stripped from inner classes by the ClassReferenceFixer. This prevents classes + with names like Foo$$Bar incorrectly having their simple name changed from $Bar to Bar.
    • +
    +

    Version 9.0.3

    +

    Java support

    +
      +
    • Update maximum supported Java class version to 63.65535 (Java 19 ea). (PGD-247)
    • +
    +

    Improved

    +
      +
    • Add utility to produce dot-graphs for control flow automatons (CfaUtil.toDot(cfa), example VisualizeCfa).
    • +
    • Add support for heap slicing on call sites and heap reconstruction on return sites in dataflow analysis heap tree model.
    • +
    • Add support for differential map representation to be used in the data flow analysis.
    • +
    +

    API Improvements

    +
      +
    • Split ProgramLocationDependentTransferRelation into forward and backward variants.
    • +
    • Add ClassPoolClassLoader utility for loading ProGuardCORE classes.
    • +
    • Add builders for CPA runs.
    • +
    +

    Version 9.0.2

    +

    Improved

    +
      +
    • JvmMemoryLocationTransferRelation does not rely anymore on a pre-computed abstract reachability graph.
    • +
    +

    Improvements to Kotlin metadata initialization

    +

    Several improvements to Kotlin metadata initialization now allow building the Kotlin metadata model for library classes (LibraryClass):

    +
      +
    • KotlinMetadataInitializer provides a new public method initialize(Clazz, int, int[], String[], String[], int, String, String) to initialize + the Kotlin metadata model for a given class.
    • +
    • ClassReader can now build the Kotlin metadata model by setting includeKotlinMetadata to true.
    • +
    • LibraryClassReader can now read the Kotlin metadata annotation and provide the components to a consumer.
    • +
    • An UnsupportedKotlinMetadata type is now assigned by the KotlinMetadataInitializer if the Kotlin metadata model + could not be initialized correctly.
    • +
    +

    Version 9.0.1

    +

    Improved

    +
      +
    • ExecutingInvocationUnit now loads values from static final fields.
    • +
    • Initialize Kotlin lambda method references when the JVM method name is <anonymous>.
    • +
    • Add the possibility of limiting the number of CodeAttributes contributing into CFA.
    • +
    • Add the possibility of limiting the number of CodeAttributes considered by the CallResolver.
    • +
    +

    Bug fixes

    +
      +
    • Fix wrong handling of array types in ExecutingIvocationUnit and ParticularReferenceValue.
    • +
    • ParticularReferenceValue sanity checks now take inheritance into consideration, improving call analysis.
    • +
    • Prevent missing semicolon leading to an infinite loop in ClassUtil#internalMethodParameterCount.
    • +
    • Make category 2 CPA taint sources affect only the most significant byte abstract state.
    • +
    • Fix inconsistent usage of type names in the context of the PartialEvaluator that could result in + trying to create an internal type string from a string that was already an internal type.
    • +
    • Fix initialization of Kotlin callable references when using -Xno-optimized-callable-references compiler option.
    • +
    • Fix createCache() delegation in ArgBamCpaRun
    • +
    +

    Upgrade considerations

    +

    TYPE NAME CONVENTION

    +

    PGC has different representation for type string variables:

    +
      +
    • External class name: com.guardsquare.SomeClass
    • +
    • Internal class name: com/guardsquare/SomeClass
    • +
    • Internal type (or just type): Lcom/guardsquare/SomeClass; (for arrays e.g. [I, [Ljava/lang/Object;)
    • +
    • Internal class type: com/guardsquare/SomeClass (for arrays this is their internal type e.g. [I, [Ljava/lang/Object;)
    • +
    +

    See proguard.classfile.util.ClassUtil for useful methods to convert between the different representations.

    +

    Since internal class name and type were used ambiguously, from version 9.0.1 the internal type is used +consistently whenever we have a variable named type.

    +

    Since this was not the case, this update might cause some type variables switching from the internal class name +notation to the internal type notation, potentially breaking some logic if types are used by an external +application using proguard-core.

    +

    Version 9.0 (April 2022)

    +

    Configurable program analysis (CPA)

    +

    CPA is a formalism for data flow analysis allowing seamless composition of various analyses +and model checking techniques. Thus, it adds a framework for systematic development and extension +of static analyses in a uniform structured way.

    +

    Taint analysis is the first ProGuardCORE CPA. Its goal is to detect data flow between source and sink +method calls, which is useful for detecting bugs and security flaws.

    +

    The Taint Analysis manual page provides more information.

    +
      +
    • Add configurable program analysis (CPA) for interprocedural data flow analysis development.
    • +
    • Add taint analysis.
    • +
    +

    Bug fixes

    +
      +
    • Prevent linking a final method with a shadowing method in a subclass.
    • +
    • Force Call#getArgumentCount() to be correct even if the actual argument values + could not be calculated or have been cleared.
    • +
    • Reset ExecutingInvocationUnit parameters array even when an exception happens.
    • +
    +

    Version 8.0.7

    +

    Java support

    +
      +
    • Update maximum supported Java class version to 62.65535 (Java 18 ea).
    • +
    +

    Improved

    +
      +
    • Add support for Kotlin property synthetic delegate methods.
    • +
    • Add ability to pass KotlinMetadataVersion to KotlinMetadataWriter / KotlinModuleWriter.
    • +
    +

    Version 8.0.6

    +

    Improved

    +
      +
    • Add support for writing out zip64 archives.
    • +
    • Improve speed for ClassPool.contains method.
    • +
    +

    Version 8.0.5

    +

    Improved

    +
      +
    • Upgrade log4j2 dependency to v2.17.1 in response to CVE-2021-44832.
    • +
    • Add support for reading and writing Kotlin 1.6 metadata.
    • +
    +

    Bug fixes

    +
      +
    • Fix CallResolver erroneously creating call edges to unimplemented interface methods.
    • +
    • Make the DominatorCalculator skip methods with an empty CodeAttribute.
    • +
    • Prevent updating Kotlin function names with mangled JVM method names in ClassReferenceFixer.
    • +
    • Initialize Kotlin default implementation classes of annotation classes correctly in ClassReferenceInitializer.
    • +
    • Correctly initialize Java Record component attributes in ClassReferenceInitializer.
    • +
    +

    API changes

    +
      +
    • KotlinInterfaceToDefaultImplsClassVisitor replaced by KotlinClassToDefaultImplsClassVisitor.
    • +
    • Deprecate Kotlin class metadata flag IS_INLINE and replaced with IS_VALUE.
    • +
    • Convert to/from Kotlin unsigned integers in Kotlin annotation unsigned type arguments.
    • +
    • Initialize array dimension in Kotlin annotation ClassValue type arguments.
    • +
    • Add support for Kotlin inline class underlying type to Kotlin metadata model.
    • +
    • Add support to MemberDescriptorReferencedClassVisitor for visiting referenced Kotlin inline class parameters.
    • +
    +

    Version 8.0.4

    +

    Improved

    +
      +
    • Upgrade log4j2 dependency to v2.17 in response to CVE-2021-45105.
    • +
    +

    API Improvements

    +
      +
    • Add KotlinMetadataVersionFilter to filter classes based on the version of the attached metadata.
    • +
    +

    Version 8.0.3

    +

    Improved

    +
      +
    • Upgrade log4j2 dependency in response to CVE-2021-45046.
    • +
    +

    Version 8.0.2

    +

    Improved

    +
      +
    • Upgrade log4j2 dependency in response to CVE-2021-44228.
    • +
    +

    API Improvements

    +
      +
    • Add call resolving and graph traversal features to enable interprocedural control flow analyses.
    • +
    +

    Bug fixes

    +
      +
    • Fix potential StringIndexOutOfBoundsException while trimming attribute value spaces in SignedJarWriter.
    • +
    • Fix referencedClass of Values generated by the ExecutingInvocationUnit.
    • +
    • Fix potential StackOverflowError when using an AttributeVisitor to visit runtime invisible type annotations.
    • +
    • Fix potential StringIndexOutOfBoundsException in KotlinCallableReferenceInitializer.
    • +
    • Fix potential NullPointerException in KotlinInterClassPropertyReferenceInitializer.
    • +
    • Fix wrong offset for complementary branch instruction when widening branch instructions in InstructionWriter.
    • +
    • Fix potential ClassFormatError due to adding multiple annotation attributes when processing Kotlin code.
    • +
    • Fix potential NullPointerException due to missing classes in ClassReferenceInitializer.
    • +
    • Prevent making package-private final methods that are shadowed protected.
    • +
    +

    Version 8.0.1

    +

    API Improvements

    +
      +
    • Add LibraryClassBuilder and LibraryClassEditor classes to create and edit a LibraryClass.
    • +
    • Add additional constructors to LibraryClass.
    • +
    +

    Bug fixes

    +
      +
    • Fix potential NullPointerException when initializing Kotlin callable references.
    • +
    • Prevent requiring --enable-preview on a JVM for Java 16 class files (write class file version 60.0 instead of 60.65535).
    • +
    • Fix potential NullPointerException when visiting referenced methods of Kotlin functions.
    • +
    +

    Version 8.0.0

    +

    Java support

    +
      +
    • Update maximum supported Java class version to 61.0 (Java 17).
    • +
    +

    Kotlin support

    +
      +
    • Add support for processing Kotlin 1.5 metadata.
    • +
    • Update kotlinx metadata dependency to version 0.2.
    • +
    +

    API Improvements

    +
      +
    • Add WarningLogger class to allow using a custom Log4j2 logger.
    • +
    • Add Kotlin metadata model classes and visitors for Kotlin annotations.
    • +
    • Add Kotlin metadata model enum for KmVariance.
    • +
    • Add Kotlin metadata model enum for KmVersionRequirement(Kind|Level).
    • +
    • Add Kotlin metadata model enum for KmEffect(Type|InvocationKind).
    • +
    • Add Kotlin metadata flag IS_FUN for functional interfaces.
    • +
    • Add Kotlin metadata flag HAS_NON_STABLE_PARAMETER_NAMES for Kotlin callables.
    • +
    • Add error handler callback to KotlinMetadataInitializer.
    • +
    • Add error handler callback to KotlinMetadataWriter.
    • +
    • Add error handler callback to KotlinModuleReader.
    • +
    • Add error handler callback to KotlinModuleWriter. Add Kotlin metadata flag IS_SECONDARY for constructors.
    • +
    • Implement ClassVisitor in KotlinMetadataInitializer to allow easier initialization of Kotlin metadata.
    • +
    • Implement ClassVisitor in KotlinMetadataWriter to allow easier writing of Kotlin metadata.
    • +
    +

    API changes

    +
      +
    • KotlinTypeParameterVistor#visitClassParameter(Clazz, KotlinMetadata, KotlinTypeParameterMetadata) now has the correct signature: KotlinTypeParameterVistor#visitClassParameter(Clazz, KotlinClassKindMetadata, KotlinTypeParameterMetadata).
    • +
    • Rename AllKotlinPropertiesVisitor to AllPropertyVisitor.
    • +
    • Rename AllConstructorsVisitor to AllConstructorVisitor.
    • +
    • Rename AllFunctionsVisitor to AllFunctionVisitor.
    • +
    • Remove `KotlinValueParameterVisitor.onNewFunctionStart()' method.
    • +
    • Deprecate Kotlin metadata flag IS_PRIMARY for constructors.
    • +
    +

    Version 7.1.1

    +

    API improvements

    +
      +
    • Add KotlinTypeParameterFilter to allow filtering easily when visiting type parameters.
    • +
    • Add KotlinValueParameterFilter to allow filtering easily when visiting value parameters.
    • +
    +

    Bug fixes

    +
      +
    • Fix AllTypeParameterVisitor so that it visits type parameters defined in any kind of declaration container.
    • +
    • Fix AllTypeParameterVisitor so that it visits type parameters of type aliases.
    • +
    • Fix potential NullPointerException when initializing a Kotlin default implementation class that does not contain an initialized jvmSignature.
    • +
    • Add missing equals method to ParticularReferenceValue.
    • +
    • Fix incorrect handling of InterruptedException in ParallelAllClassVisitor.
    • +
    • Fix potential ZipOutput alignment issue when writing large uncompressed zip entries.
    • +
    • Fix potential ZipOutput synchronization issue when writing uncompressed zip entries.
    • +
    • Fix potential NullPointerException when comparing strings with FixedStringMatcher.
    • +
    • Fix potential NullPointerException when comparing strings with MatchedStringMatcher.
    • +
    • Fix initialization of Kotlin callable references when using Kotlin >= 1.4.
    • +
    +

    Version 7.1 (June 2021)

    +

    Java support

    +

    ProGuardCORE 7.1 now supports Java versions 14, 15 and 16:

    +
      +
    • Add support for reading & writing Java 14, 15 and 16 class files.
    • +
    • Add support for Java 14 sealed classes (permitted subclasses attributes).
    • +
    • Add support for record attributes (previewed in Java 15/16, targeted for Java 17).
    • +
    +

    Improved code analysis

    +
      +
    • The partial evaluator can now be used to reconstruct the specific values of String, StringBuilder and StringBuffer type objects. + See analyzing code manual page for more information.
    • +
    • The partial evaluator will now throw an IncompleteClassHierarchyException instead of + IllegalArgumentException when an incomplete hierarchy is encountered.
    • +
    • The partial evaluator will now throw an ExcessiveComplexityException if an instruction is visited more than stopAnalysisAfterNEvaluations times.
    • +
    • Potentially throwing ldc instructions are now taken into account during partial evaluation, + improving the accuracy of code analysis.
    • +
    • Add support for multiple possible types during partial evaluation.
    • +
    +

    Performance improvements

    +
      +
    • Improve efficiency of building classes, methods and constant pools.
    • +
    +

    API improvements

    +
      +
    • Add ClassRenamer to allow renaming classes and members easily.
    • +
    +

    Bug fixes

    +
      +
    • Add missing method reference in injected static initializer instructions.
    • +
    • Add missing dimensions argument to CompactCodeAttributeComposer.multianewarray.
    • +
    • Fix potential StackOverflowException when comparing multi-typed reference values.
    • +
    • Fix handling of Kotlin nested class names which contain $.
    • +
    • Mark Module, ModuleMainClass and ModulePackages attributes as required.
    • +
    • Fix potential ClassCastException in ConstructorMethodFilter.
    • +
    • Fix potential NullPointerException for module classes in ClassPrinter.
    • +
    • Fix storage and alignment of uncompressed zip entries.
    • +
    • Fix processing of constant boolean arrays.
    • +
    • Fix adding branch instructions with labels in CompactCodeAttributeComposer.
    • +
    • Fix handling of array dereferencing in MultiTypedReferenceValue.
    • +
    • Fix AllKotlinAnnotationVisitor so that it visits type alias annotations defined in any kind of declaration container.
    • +
    • Move initialization of Kotlin declaration container's ownerClassName field from ClassReferenceInitializer to KotlinMetadataInitializer.
    • +
    +

    Version 7.0 (Jan 2020)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VersionIssueModuleExplanation
    7.0.1DGD-2382COREFixed processing of Kotlin 1.4 metadata annotations.
    7.0.1DGD-2390COREFixed storage and alignment of uncompressed zip entries.
    7.0.1DGD-2338COREFixed processing of constant boolean arrays.
    7.0.1COREFixed adding branch instructions with labels in CompactCodeAttributeComposer.
    7.0.0COREInitial release of Kotlin support.
    7.0.0PGD-32COREAdded support for Java 14 class files.
    7.0.0DGD-1780CORERemoved dependency on internal sun.security API.
    7.0.0DGD-1800COREFixed obfuscation of functional interfaces with abstract Object methods.
    7.0.0COREInitial release, extracted from ProGuard.
    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json new file mode 100644 index 000000000..22f08611f --- /dev/null +++ b/search/search_index.json @@ -0,0 +1 @@ +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"index.html","title":"Introduction","text":"

    ProGuardCORE is a free library to read, analyze, modify, and write Java class files. It is the core of the well-known shrinker, optimizer, and obfuscator ProGuard and of the ProGuard Assembler and Disassembler.

    Typical applications:

    • Perform peephole optimizations in Java bytecode.
    • Search for instruction patterns.
    • Analyze code with abstract evaluation.
    • Optimize and obfuscate, like ProGuard itself.
    "},{"location":"index.html#design","title":"Design","text":"

    The library defines many small classes as the building blocks for applications that contain the processing logic. This is sometimes taken to the extreme: even loops and conditional statements can often be implemented as separate classes. Even though these classes are verbose and repetitive, the resulting main code becomes much more compact, flexible, and robust.

    "},{"location":"index.html#data-classes","title":"Data classes","text":"

    Basic data classes define the structures to represent Java bytecode. They reflect the Java bytecode specifications literally, to ensure that no data are lost when reading, analyzing, and writing them. The data classes contain only a minimum number of methods. They do have one or more accept methods to let the visitor classes below operate on them.

    "},{"location":"index.html#visitor-classes","title":"Visitor classes","text":"

    The library applies the visitor pattern extensively. Visitor classes define the operations on the data: reading, writing, editing, transforming, analyzing, etc. The visitor classes have one or more 'visit' methods to operate on data classes of the same basic type.

    For example, a Java bytecode class contains a constant pool with constants of different types: integer constants, float constants, string constants, etc. The data classes IntegerConstant, FloatConstant, StringConstant, etc. all implement the basic type Constant. The visitor interface ConstantVisitor contains methods 'visitIntegerConstant', 'visitFloatConstant', 'visitStringConstant', etc. Implementations of this visitor interface can perform all kinds of operations on the constants.

    The reasoning behind this pattern is that the data classes are very stable, because they are directly based on the bytecode specifications. The operations are more dynamic, since they depend on the final application. It is practically impossible to add all possible operations in the data classes, but it is easy to add another implementation of a visitor interface. Implementing an interface in practice helps a lot to think of all possible cases.

    The visitor pattern uses visitor interfaces to operate on the similar elements of a data structure. Each interface often has many implementations. A great disadvantage at this time is that visitor methods can invoke one another (directly or indirectly), but they can't communicate easily. Since the implementations can't add their own parameters or return values, they often have to rely on fields to pass values back and forth. This is more error-prone. Still, the advantages of the visitor pattern outweigh the disadvantages.

    "},{"location":"index.html#dependency-injection","title":"Dependency injection","text":"

    The library classes heavily use constructor-based dependency injection, to create immutable instances. Notably the visitor classes are often like commands that are combined in an immutable structure, via constructors. You can execute such commands by applying the visitors to the data classes.

    "},{"location":"index.html#api","title":"API","text":"

    You can find the complete API in the ProGuardCORE javadoc.

    "},{"location":"building.html","title":"Building","text":"

    If you've downloaded the source code of the ProGuardCORE library, you can build it yourself with Gradle:

    • Build the artifacts:

      ./gradlew assemble\n
    • Publish the artifacts to your local Maven cache (something like ~/.m2/):

      ./gradlew publishToMavenLocal\n
    • Build tar and zip archives with the binaries and documentation:

      ./gradlew distTar distZip\n
    • Build the complete API documentation with

      ./gradlew javadoc\n

    You can then find the API documentation in docs/md/api.

    "},{"location":"creating.html","title":"Creating classes","text":"

    The easiest way to create a new class from scratch is with ClassBuilder. It provides a fluent API to add fields and methods. For example, to create a class that prints out \"Hello, world!\":

    ProgramClass programClass =\nnew ClassBuilder(\nVersionConstants.CLASS_VERSION_1_8,\nAccessConstants.PUBLIC,\n\"HelloWorld\",\nClassConstants.NAME_JAVA_LANG_OBJECT)\n\n.addMethod(\nAccessConstants.PUBLIC |\nAccessConstants.STATIC,\n\"main\",\n\"([Ljava/lang/String;)V\",\n50,\n\ncode -> code\n.getstatic(\"java/lang/System\", \"out\", \"Ljava/io/PrintStream;\")\n.ldc(\"Hello, world!\")\n.invokevirtual(\"java/io/PrintStream\", \"println\", \"(Ljava/lang/String;)V\")\n.return_())\n\n.getProgramClass();\n

    You can also use it to add fields and methods to an existing class:

    ProgramClass programClass =\nnew ClassBuilder(existingClass)\n.....\n

    Complete example: CreateHelloWorldClass.java

    "},{"location":"downloads.html","title":"Downloads","text":"

    The ProGuardCORE library is distributed under the terms of the Apache License Version 2.0. Please consult the license page for more details.

    ProGuardCORE is written in Java, so it requires a Java Runtime Environment (JRE 1.8 or higher).

    You can download the library in various forms:

    • Pre-built artifacts at Maven Central

      dependencies {\ncompile project(':com.guardsquare:proguard-core:9.0.0')\n}\n

      or

      <dependency>\n<groupId>com.guardsquare</groupId>\n<artifactId>proguard-core</artifactId>\n<version>9.0.0</version>\n</dependency>\n
    • A Git repository of the source code at Github

      git clone https://github.com/Guardsquare/proguard-core.git\n

    You can find major releases, minor releases with important bug fixes, and beta releases with the latest new features and any less urgent bug fixes.

    If you're still working with an older version of the library, check out the release notes, to see if you're missing something essential.

    "},{"location":"editing.html","title":"Editing classes","text":""},{"location":"editing.html#editing-classes","title":"Editing classes","text":"

    You can edit existing classes with ClassEditor and related editors like InterfacesEditor, AttributesEditor, and ConstantPoolEditor.

    ClassEditor classEditor =\nnew ClassEditor(targetClass);\n\nclassEditor.addField(field);\n\nclassEditor.addMethod(method);\n

    If you want to create and add new fields or methods from scratch, you can use the more convenient ClassBuilder:

    ProgramClass programClass =\nnew ClassBuilder(existingClass)\n.addField(\nAccessConstants.PUBLIC |\nAccessConstants.STATIC,\n\"someField\",\nTypeConstants.INT);\n\n.addMethod(\nAccessConstants.PUBLIC |\nAccessConstants.STATIC,\n\"main\",\n\"([Ljava/lang/String;)V\",\n50,\n\ncode -> code\n.getstatic(\"java/lang/System\", \"out\", \"Ljava/io/PrintStream;\")\n.ldc(\"Hello, world!\")\n.invokevirtual(\"java/io/PrintStream\", \"println\", \"(Ljava/lang/String;)V\")\n.return_())\n\n.getProgramClass();\n
    "},{"location":"editing.html#editing-code","title":"Editing code","text":"

    Perhaps more interestingly, you can edit the bytecode of method bodies with CodeAttributeEditor.

    CodeAttributeEditor codeAttributeEditor =\nnew CodeAttributeEditor();\n\nInstructionSequenceBuilder builder =\nnew InstructionSequenceBuilder(targetClass);\n\nInstructions[] replacementInstructions = builder\n.getstatic(\"java/lang/System\", \"out\", \"Ljava/io/PrintStream;\")\n.ldc(\"Hello\")\n.invokevirtual(\"java/io/PrintStream\", \"println\", \"(Ljava/lang/String;)V\"        .instructions();\n\n// Prepare the editor for this code.\ncodeAttributeEditor.reset(codeAttribute.u4codeLength);\n\n// Insert the instruction sequence before a specified offset.\ncodeAttributeEditor.insertBeforeOffset(offset, replacementInstructions);\n\n// Apply the changes.\ncodeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute);\n
    "},{"location":"kotlin.html","title":"Kotlin metadata","text":"

    The library makes it easy to read, write and modify the Kotlin metadata that is attached to Java classes. The following example prints all the names of Kotlin functions in the metadata attached to the Java class Foo:

    programClassPool.classesAccept(\nnew ClassNameFilter(\"Foo\",\nnew ReferencedKotlinMetadataVisitor(\nnew AllFunctionsVisitor(\n(clazz, container, function) -> System.out.println(function.name)))));\n
    "},{"location":"kotlin.html#initializing-the-kotlin-metadata-model","title":"Initializing the Kotlin metadata model","text":"

    There are two ways to initialize the Kotlin metadata model:

    • While reading classes with ClassReader by setting includeKotlinMetadata to true.
    • After class reading using KotlinMetadataInitializer.
    "},{"location":"kotlin.html#kotlinmetadatainitializer","title":"KotlinMetadataInitializer","text":"

    The KotlinMetadataInitializer can be used as a ClassVisitor which will read the Kotlin metadata from the kotlin.Metadata annotation on program classes (ProgramClass) and automatically initialize the metadata model on visited classes:

    BiConsumer<Clazz, String> errorHandler = (clazz, message) -> System.err.println(message);\nprogramClassPool.classesAccept(new KotlinMetadataInitializer(errorHandler));\n

    Alternatively, the initialize(Clazz, int, int[], String[], String[], int, String, String) can be called directly with a Clazz and the components making up the kotlin.Metadata annotation:

    BiConsumer<Clazz, String> errorHandler\n= (clazz, message) -> System.err.println(message);\nKotlinMetadataInitializer initializer\n= new KotlinMetadataInitializer(errorHandler);\nprogramClassPool.classesAccept(\nclazz -> {\n// get the values for k, mv, d1, d2, xi, xs, pn to provide to the initializer\ninitializer.initialize(clazz, k, mv, d1, d2, xi, xs, pn);\n}\n);\n

    This is useful for initializing the model on library classes (LibraryClass), since the library class model doesn't contain all the necessary information to automatically extract these parameters.

    "},{"location":"kotlin.html#initializing-references","title":"Initializing references","text":"

    Once the model itself is initialized by KotlinMetadataInitializer, like the Clazz model, references must be initialized. This is done by the ClassReferenceInitializer:

    // First build the model\nBiConsumer<Clazz, String> errorHandler = (clazz, message) -> System.err.println(message);\nprogramClassPool.classesAccept(new KotlinMetadataInitializer(errorHandler));\n// Then initialize the references\nprogramClassPool.classesAccept(\nnew ClassReferenceInitializer(programClassPool, libraryClassPool)\n);\n
    "},{"location":"license.html","title":"License","text":"

    The ProGuardCORE library is licensed under the Apache License Version 2.0.

    Copyright 2002-2020 Guardsquare NV

                                 Apache License\n                       Version 2.0, January 2004\n                    http://www.apache.org/licenses/\n

    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

    1. Definitions.

      \"License\" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

      \"Licensor\" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

      \"Legal Entity\" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, \"control\" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

      \"You\" (or \"Your\") shall mean an individual or Legal Entity exercising permissions granted by this License.

      \"Source\" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

      \"Object\" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

      \"Work\" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

      \"Derivative Works\" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

      \"Contribution\" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, \"submitted\" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as \"Not a Contribution.\"

      \"Contributor\" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

    2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

    3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

    4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

      (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

      (d) If the Work includes a \"NOTICE\" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

      You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

    5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

    6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

    7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

    8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

    9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

    END OF TERMS AND CONDITIONS

    "},{"location":"partialevaluator.html","title":"Data flow analysis with partial evaluation","text":""},{"location":"partialevaluator.html#analyzing-all-instructions","title":"Analyzing all instructions","text":"

    If you want to analyze bytecode, you'll probably want to visit specified instructions of specified code attributes of specified methods of specified classes. The visitor classes and filters quickly get you to the right place:

    programClassPool.classesAccept(\nnew AllMethodVisitor(\nnew AllAttributeVisitor(\nnew AllInstructionVisitor(\nnew MyInstructionAnalyzer()))));\n

    You then only need to implement the visitor methods to analyze the instructions:

    class      MyInstructionAnalyzer\nimplements InstructionVisitor\n{\npublic void visitSimpleInstruction(Clazz clazz, .....) ...\npublic void visitVariableInstruction(Clazz clazz, .....) ...\npublic void visitConstantInstruction(Clazz clazz, .....) ...\npublic void visitBranchInstruction(Clazz clazz, .....) ...\npublic void visitTableSwitchInstruction(Clazz clazz, .....) ...\npublic void visitLookUpSwitchInstruction(Clazz clazz, .....) ...\n}\n

    The library already provides classes to analyze the code for you, finding branching information, performing partial evaluation, finding the control flow and data flow, etc, as introduced in the following sections.

    Complete example: EvaluateReturnValues.java

    "},{"location":"partialevaluator.html#branching","title":"Collecting basic branching information","text":"

    You can extract basic information about branches in a method with the class BranchTargetFinder. The results are defined at the instruction level: each instruction is properly labeled as a branch target, branch origin, exception handler, etc.

    BranchTargetFinder branchTargetFinder =\nnew BranchTargetFinder();\n\nbranchTargetFinder.visitCodeAttribute(clazz, method, codeAttribute);\n\nif (branchTargetFinder.isBranchOrigin(offset)) ...\n\nif (branchTargetFinder.isBranchTarget(offset)) ...\n

    Complete example: ApplyPeepholeOptimizations.java

    "},{"location":"partialevaluator.html#partial-evaluation","title":"Partial evaluation","text":"

    You can extract more information about the code with partial evaluation (often called abstract evaluation or symbolic evaluation). Its analysis provides a global view of the control flow and data flow in a method.

    The core class is PartialEvaluator. It can work at different levels of precision \u2014 the more abstract, the less precise. You can control the precision with different value factories and different invocation units:

    • A ValueFactory defines the level of detail in representing values like integers or reference types. The values can be very abstract (any primitive integer, a reference to any object) or more precise (the integer 42, or an integer between 0 and 5, or a non-null reference to an instance of java/lang/String).

    • An InvocationUnit defines the values returned from retrieved fields and invoked methods. The values can again be very generic (any integer) or they can also be values that were cached in prior evaluations of the code base.

    Complete example: EvaluateCode.java, which provides options to analyze code with different levels of precision. It prints out its results in markdown format, which is also used in the examples below.

    "},{"location":"partialevaluator.html#control-flow-analysis","title":"Control flow analysis","text":"

    You can set up basic evaluation with a BasicValueFactory and a BasicInvocationUnit:

    ValueFactory     valueFactory     = new BasicValueFactory();\nInvocationUnit   invocationUnit   = new BasicInvocationUnit(valueFactory);\nPartialEvaluator partialEvaluator = new PartialEvaluator(valueFactory,\ninvocationUnit,\nfalse);\n

    The analysis provides a control flow graph of the instructions in a method. Each instruction is labeled with potential branch targets and branch origins:

    InstructionOffsetValue branchOrigins = partialEvaluator.branchOrigins(offset));\nInstructionOffsetValue branchTargets = partialEvaluator.branchTargets(offset));\n

    Complete example: VisualizeControlFlow.java

    "},{"location":"partialevaluator.html#data-flow-analysis","title":"Data flow analysis","text":"

    You can also inspect the data flow between the instructions in a method by looking at the stack and the local variables:

    TracedStack     stack     = partialEvaluator.getStackAfter(offset);\nTracedVariables variables = partialEvaluator.getVariablesAfter(offset);\n

    Consider the following code:

    public static int getAnswer()\n{\nint f1 = 6;\nint f2 = 7;\n\nreturn f1 * f2;\n}\n

    Applying the above partial evaluator to this code yields this overall result:

    Instruction Stack v0 v1 [0] bipush 6 [0:i] empty empty [2] istore_0 v0 2:i empty [3] bipush 7 [3:i] 2:i empty [5] istore_1 v1 2:i 5:i [6] iload_0 v0 [6:i] 2:i 5:i [7] iload_1 v1 [6:i] [7:i] 2:i 5:i [8] imul [8:i] 2:i 5:i [9] ireturn 2:i 5:i

    Each integer value followed by a colon indicates the offset of the instruction that stored or pushed the value. Each 'i' indicates an unknown primitive integer value.

    Useful applications: dependency analysis at an instruction level, for example to remove unused instructions.

    Complete example: EvaluateCode.java

    "},{"location":"partialevaluator.html#numerical","title":"More precise numerical evaluation","text":"

    The above basic evaluation doesn't tell you much about any numerical results. You can set up more precise numerical evaluation with a ParticularValueFactory:

    ValueFactory     valueFactory     = new ParticularValueFactory(new BasicValueFactory());\nInvocationUnit   invocationUnit   = new BasicInvocationUnit(valueFactory);\nPartialEvaluator partialEvaluator = new PartialEvaluator(valueFactory,\ninvocationUnit,\nfalse);\n

    For the same code as in the previous section:

    Instruction Stack v0 v1 [0] bipush 6 [0:6] empty empty [2] istore_0 v0 2:6 empty [3] bipush 7 [3:7] 2:6 empty [5] istore_1 v1 2:6 5:7 [6] iload_0 v0 [6:6] 2:6 5:7 [7] iload_1 v1 [6:6] [7:7] 2:6 5:7 [8] imul [8:42] 2:6 5:7 [9] ireturn 2:6 5:7

    In this trivial example, the previously unknown integers are now all concrete values. The last instruction pops the computed result 42 from the stack and returns it.

    Useful application: constant propagation.

    "},{"location":"partialevaluator.html#range","title":"Evaluation with numeric ranges","text":"

    Consider the following code:

    public static int getAnswer()\n{\nint answer = 0;\nfor (int counter = 0; counter < 3 && Math.random() < 0.5f; counter++)\n{\nanswer += 14;\n}\n\nreturn answer;\n}\n

    The possible answer isn't a single value. You can let the evaluation work with integer ranges with a RangeValueFactory:

    ValueFactory     valueFactory     = new RangeValueFactory(new ArrayReferenceValueFactory(), new BasicValueFactory());\nInvocationUnit   invocationUnit   = new BasicInvocationUnit(valueFactory);\nPartialEvaluator partialEvaluator = new PartialEvaluator(valueFactory,\ninvocationUnit,\nfalse);\n

    The overall result of the analysis of the sample method is:

    Instruction Stack v0 v1 [0] iconst_0 [0:0] empty empty [1] istore_0 v0 1:0 empty [2] iconst_0 [2:0] 1:0 empty [3] istore_1 v1 1:0 3:0 [4] iload_1 v1 [4:0..3] 1,19:0..42 3,22:0..3 [5] iconst_3 [4:0..3] [5:3] 1,19:0..42 3,22:0..3 [6] if_icmpge +22 (target=28) 1,19:0..42 3,22:0..3 [9] invokestatic #2 [9:T] [9:d] 1,19:0..28 3,22:0..2 [12] ldc2_w #3 [9:T] [9:d] [12:T] [12:0.5d] 1,19:0..28 3,22:0..2 [15] dcmpg [15:i] 1,19:0..28 3,22:0..2 [16] ifge +12 (target=28) 1,19:0..28 3,22:0..2 [19] iinc v0, 14 19:14..42 3,22:0..2 [22] iinc v1, 1 19:14..42 22:1..3 [25] goto -21 (target=4) 19:14..42 22:1..3 [28] iload_0 v0 [28:0..42] 1,19:0..42 3,22:0..3 [29] ireturn 1,19:0..42 3,22:0..3

    Not all values are entirely concrete; they can have a range (with \"..\"). The method can return a value between 0 and 42.

    Useful applications: simplification of range checks.

    "},{"location":"partialevaluator.html#symbolic","title":"Symbolic numerical evaluation","text":"

    Consider the following code:

    private static int getAnswer(int a, int b)\n{\nreturn 2 * a + b;\n}\n

    The numerical evaluation of the previous sections doesn't get you very far, since the parameters are unknown, so all computations produce unknown values:

    Instruction Stack v0 v1 [0] iconst_2 [0:2] P0:i P1:i [1] iload_0 v0 [0:2] [1:i] P0:i P1:i [2] imul [2:i] P0:i P1:i [3] iload_1 v1 [2:i] [3:i] P0:i P1:i [4] iadd [4:i] P0:i P1:i [5] ireturn P0:i P1:i

    You can set up symbolic evaluation with an IdentifiedValueFactory:

    ValueFactory     valueFactory     = new IdentifiedValueFactory();\nInvocationUnit   invocationUnit   = new BasicInvocationUnit(valueFactory);\nPartialEvaluator partialEvaluator = new PartialEvaluator(valueFactory,\ninvocationUnit,\nfalse);\n

    The overall result of the analysis of the sample method is:

    Instruction Stack v0 v1 [0] iconst_2 [0:2] P0:i0 P1:i1 [1] iload_0 v0 [0:2] [1:i0] P0:i0 P1:i1 [2] imul [2:(2*i0)] P0:i0 P1:i1 [3] iload_1 v1 [2:(2*i0)] [3:i1] P0:i0 P1:i1 [4] iadd [4:((2*i0)+i1)] P0:i0 P1:i1 [5] ireturn P0:i0 P1:i1

    The unknown values now have symbolic names (IDs): \"i0\" and \"i1\". Any computations result in symbolic expressions, such as \"((2*i0)+i1)\".

    Useful applications: a basis for symbolic simplification, static single assignment, further analysis with SMT solvers (satisfiability modulo theories).

    "},{"location":"partialevaluator.html#tracing","title":"Evaluation with reference types","text":"

    The previous sections only showed examples with primitive types. Consider the following code with reference types:

    public static Number getAnswer(Number answer)\n{\nif (answer == null)\n{\nanswer = new Integer(42);\n}\n\nreturn answer;\n}\n

    The basic or numeric evaluation of the previuous sections don't tell much about the non-primitive types:

    Instruction Stack v0 [0] aload_0 v0 [0:a] P0:a [1] ifnonnull +13 (target=14) P0:a [4] new #2 [4:a] P0:a [7] dup [4:7:a] [4:7:a] P0:a [8] bipush 42 [4:7:a] [4:7:a] [8:42] P0:a [10] invokespecial #3 [4:7:a] P0:a [13] astore_0 v0 13:a [14] aload_0 v0 [14:a] P0,13:a [15] areturn P0,13:a

    Unknown reference types are shown as \"a\".

    You can keep track of origins of references in more detail with a ReferenceTracingValueFactory and a ReferenceTracingInvocationUnit. The PartialEvaluator is set up slightly differently from the earlier examples:

    ReferenceTracingValueFactory valueFactory     = new ReferenceTracingValueFactory(new BasicValueFactory()) :\nInvocationUnit               invocationUnit   = new ReferenceTracingInvocationUnit(new BasicInvocationUnit(valueFactory));\nPartialEvaluator             partialEvaluator = new PartialEvaluator(valueFactory,\ninvocationUnit,\nfalse,\nvalueFactory);\n

    The results then show the origins of non-primitive types:

    Instruction Stack v0 [0] aload_0 v0 [0:P0:a] P0:P0:a [1] ifnonnull +13 (target=14) P0:P0:a [4] new #2 [4:N4:a] P0:P0:a [7] dup [4:7:N4:a] [4:7:N4:a] P0:P0:a [8] bipush 42 [4:7:N4:a] [4:7:N4:a] [8:i] P0:P0:a [10] invokespecial #3 [4:7:N4:a] P0:P0:a [13] astore_0 v0 13:N4:a [14] aload_0 v0 [14:N4,P0:a] P0,13:N4,P0:a [15] areturn P0,13:N4,P0:a

    For example, the method pops and returns either a new instance (\"N4\") that was created at offset 4, or parameter 0 (\"P0\").

    Useful applications: define/use analysis, a basis for escape analysis or taint analysis.

    "},{"location":"partialevaluator.html#typed","title":"Evaluation with more precise reference types","text":"

    You can keep track of non-primitive types in more detail with a TypedReferenceValueFactory:

    ValueFactory     valueFactory     = new TypedReferenceValueFactory();\nInvocationUnit   invocationUnit   = new BasicInvocationUnit(valueFactory);\nPartialEvaluator partialEvaluator = new PartialEvaluator(valueFactory,\ninvocationUnit,\nfalse);\n

    The results then show the types:

    Instruction Stack v0 [0] aload_0 v0 [0:Ljava/lang/Number;] P0:Ljava/lang/Number; [1] ifnonnull +13 (target=14) P0:Ljava/lang/Number; [4] new #2 [4:Ljava/lang/Integer;=!] P0:Ljava/lang/Number; [7] dup [4:7:Ljava/lang/Integer;=!] [4:7:Ljava/lang/Integer;=!] P0:Ljava/lang/Number; [8] bipush 42 [4:7:Ljava/lang/Integer;=!] [4:7:Ljava/lang/Integer;=!] [8:i] P0:Ljava/lang/Number; [10] invokespecial #3 [4:7:Ljava/lang/Integer;=!] P0:Ljava/lang/Number; [13] astore_0 v0 13:Ljava/lang/Integer;=! [14] aload_0 v0 [14:Ljava/lang/Number;] P0,13:Ljava/lang/Number; [15] areturn P0,13:Ljava/lang/Number;

    The types here are \"Ljava/lang/Number;\" and \"Ljava/lang/Integer;\". The types respect the type hierarchy, for example when the branches join and the type is \"Ljava/lang/Number;\". A mark \"=\" means that the type is the exact type, not an extension. A mark \"!\" means that the value is definitely not null.

    Useful applications: preverification of the type safety of bytecode.

    "},{"location":"partialevaluator.html#note-on-type-variables-naming-convention","title":"Note on type variables naming convention","text":"

    PGC has different representation for type string variables:

    • External class name: com.guardsquare.SomeClass
    • Internal class name: com/guardsquare/SomeClass
    • Internal type (or just type): Lcom/guardsquare/SomeClass; (for arrays e.g. [I, [Ljava/lang/Object;)
    • Internal class type: com/guardsquare/SomeClass (for arrays this is their internal type e.g. [I, [Ljava/lang/Object;)

    See proguard.classfile.util.ClassUtil for useful methods to convert between the different representations.

    "},{"location":"partialevaluator.html#array","title":"Evaluation with primitive arrays","text":"

    Primitive arrays may be of special interest, for example when performing optimizations.

    Consider the following code:

    public static int getAnswer()\n{\nint[] array = new int[] { 6, 7 };\n\nreturn array[0] * array[1];\n}\n

    Even though this is a trivial example, the previous evaluations wouldn't provide much useful information:

    Instruction Stack v0 [0] iconst_2 [0:i] empty [1] newarray 10 [1:[I?=![i]] empty [3] dup [1:3:[I?=![i]] [1:3:[I?=![i]] empty [4] iconst_0 [1:3:[I?=![i]] [1:3:[I?=![i]] [4:i] empty [5] bipush 6 [1:3:[I?=![i]] [1:3:[I?=![i]] [4:i] [5:i] empty [7] iastore [1:3:[I?=![i]] empty [8] dup [1:8:[I?=![i]] [1:8:[I?=![i]] empty [9] iconst_1 [1:8:[I?=![i]] [1:8:[I?=![i]] [9:i] empty [10] bipush 7 [1:8:[I?=![i]] [1:8:[I?=![i]] [9:i] [10:i] empty [12] iastore [1:8:[I?=![i]] empty [13] astore_0 v0 13:[I?=![i] [14] aload_0 v0 [14:[I?=![i]] 13:[I?=![i] [15] iconst_0 [14:[I?=![i]] [15:i] 13:[I?=![i] [16] iaload [16:i] 13:[I?=![i] [17] aload_0 v0 [16:i] [17:[I?=![i]] 13:[I?=![i] [18] iconst_1 [16:i] [17:[I?=![i]] [18:i] 13:[I?=![i] [19] iaload [16:i] [19:i] 13:[I?=![i] [20] imul [20:i] 13:[I?=![i] [21] ireturn 13:[I?=![i]

    The array type is \"[I\", which is the standard notation for an array of primitive integers.

    You can keep track of the lengths of arrays with ArrayReferenceValueFactory and even of the contents of primitive arrays with DetailedArrayValueFactory:

    ValueFactory     valueFactory     = new DetailedArrayValueFactory();\nInvocationUnit   invocationUnit   = new BasicInvocationUnit(valueFactory);\nPartialEvaluator partialEvaluator = new PartialEvaluator(valueFactory,\ninvocationUnit,\nfalse);\n

    The results of the evaluation then become:

    Instruction Stack v0 [0] iconst_2 [0:2] empty [1] newarray 10 [1:[I?=![2]#0{6,7}] empty [3] dup [1:3:[I?=![2]#0{6,7}] [1:3:[I?=![2]#0{6,7}] empty [4] iconst_0 [1:3:[I?=![2]#0{6,7}] [1:3:[I?=![2]#0{6,7}] [4:0] empty [5] bipush 6 [1:3:[I?=![2]#0{6,7}] [1:3:[I?=![2]#0{6,7}] [4:0] [5:6] empty [7] iastore [1:3:[I?=![2]#0{6,7}] empty [8] dup [1:8:[I?=![2]#0{6,7}] [1:8:[I?=![2]#0{6,7}] empty [9] iconst_1 [1:8:[I?=![2]#0{6,7}] [1:8:[I?=![2]#0{6,7}] [9:1] empty [10] bipush 7 [1:8:[I?=![2]#0{6,7}] [1:8:[I?=![2]#0{6,7}] [9:1] [10:7] empty [12] iastore [1:8:[I?=![2]#0{6,7}] empty [13] astore_0 v0 13:[I?=![2]#0{6,7} [14] aload_0 v0 [14:[I?=![2]#0{6,7}] 13:[I?=![2]#0{6,7} [15] iconst_0 [14:[I?=![2]#0{6,7}] [15:0] 13:[I?=![2]#0{6,7} [16] iaload [16:6] 13:[I?=![2]#0{6,7} [17] aload_0 v0 [16:6] [17:[I?=![2]#0{6,7}] 13:[I?=![2]#0{6,7} [18] iconst_1 [16:6] [17:[I?=![2]#0{6,7}] [18:1] 13:[I?=![2]#0{6,7} [19] iaload [16:6] [19:7] 13:[I?=![2]#0{6,7} [20] imul [20:42] 13:[I?=![2]#0{6,7} [21] ireturn 13:[I?=![2]#0{6,7}

    The array is now traced as having length 2 and elements 6 and 7.

    Useful application: simplification of code with enum types.

    "},{"location":"partialevaluator.html#particularreference","title":"Evaluation with particular reference values","text":"

    The values of references can also be of interest.

    Consider the following code:

    public StringBuilder append()\n{\nStringBuilder s = new StringBuilder(\"asd\");\ns.append(\"fgh\");\nreturn s;\n}\n

    If the value of s is of interest, this can be retrieved using a ParticularValueFactory. To also keep track of the references as they flow through method calls (in the example: the constructor-call, and the append), the InvocationUnit needs to be a ExecutingInvocationUnit:

    ValueFactory            valueFactory     = new ParticularValueFactory(new BasicValueFactory(), new ParticularReferenceValueFactory());\nExecutingInvocationUnit invocationUnit   = new ExecutingInvocationUnit.Builder().build(valueFactory);\nPartialEvaluator        partialEvaluator = new PartialEvaluator(valueFactory, invocationUnit, false);\n

    The results of the evaluation then become:

    Instruction Stack (before the Instruction) v0 (before the Instruction) [0] new StringBuilder [empty:empty] [3] dup [0:StringBuilder=!#0] [empty:empty] [4] ldc \"asd\" [3:0:StringBuilder=!#0][3:0:StringBuilder=!#0] [empty:empty] [6] invokespecial StringBuilder.<init>(String)V [4:String?=#1(asd)][3:0:StringBuilder=!#0][3:0:StringBuilder=!#0] [empty:empty] [9] astore_0 v0 [3:0:StringBuilder=#2(asd)] [empty:empty] [10] aload_0 v0 [9:StringBuilder=#2(asd)] [11] ldc \"fgh\" [10:StringBuilder=#2(asd)] [9:StringBuilder=#2(asd)] [13] invokevirtual StringBuilder.append(String)StringBuilder [11:String?=#3(fgh)][10:StringBuilder=#2(asd)] [9:StringBuilder=#2(asd)] [16] pop [13:StringBuilder=#4(asdfgh)] [13:StringBuilder=#4(asdfgh)] [17] aload_0 v0 [13:StringBuilder=#4(asdfgh)] [18] areturn [17:StringBuilder=#4(asdfgh)] [13:StringBuilder=#4(asdfgh)]

    (Class/String constants are added to the instruction, and java/lang/ is ommited from the class names for clarity)

    The StringBuilder is now traced through the method, the value of the reference can be retrieved before and after each location. The value of the reference is printed in this output in the finishing brackets. The notation before the bracket is the notation of a TypedReference (TypedReference)

    "},{"location":"partialevaluator.html#customization","title":"Customization","text":"

    The ExecutingInvocationUnit is designed to be customizable and extensible in its capability to execute different methods. Therefore, it maintains a list of Executors which define how a certain set of methods can be executed. Currently, only the StringReflectionExecutor is implemented which supports String, StringBuilderand StringBuffer. To customize an ExecutingInvocationUnit, use its dedicated Builder.

    ExecutingInvocationUnit invocationUnit = new ExecutingInvocationUnit.Builder().useDefaultStringReflectionExecutor(false)\n.addExecutor(new MyExecutor())\n.build(valueFactory);\n
    "},{"location":"partialevaluator.html#limitations","title":"Limitations","text":"
    • Only String, StringBuilder, and StringBuffer are currently supported, although custom executors can be implemented.
    • The ParticularValueFactory keeps track of one specific value of a reference. If more values would be possible (e.g., due to a branch), the result will be an UnknownReferenceValue/IdentifiedReferenceValue
    • Independent of the specific Executor, ExecutingInvocationUnit keeps track of changes to the instance of a method. However, it does not check for changes to reference values in the parameters.
    "},{"location":"partialevaluator.html#lifecycle","title":"Lifecycle","text":"
    %% [Mermaid Diagramming and charting tool](https://mermaid.js.org/)\nstateDiagram-v2\n    L0: Try\n    state L0 {\n        L1: Evaluate instruction block and branches\n        [*] --> startCodeAttribute\n        startCodeAttribute --> L1\n        state L1 {\n            L2: Evaluate single instruction block\n            [*] --> L2\n            state L2 {\n                L3: For each instruction in block\n                [*] --> startInstructionBlock\n                startInstructionBlock --> L3\n                state L3 {\n                    BR1: Instruction has been seen in this context?\n                    [*] --> BR1\n                    BR1 --> skipInstructionBlock : Yes\n                    skipInstructionBlock --> [*]\n                    BR2: Already evaluated a lot of times?\n                    BR1 --> BR2: No\n                    BR2 --> generalizeInstructionBlock: Yes\n                    generalizeInstructionBlock --> startInstructionEvaluation\n                    BR2 --> startInstructionEvaluation: No\n                    startInstructionEvaluation --> afterInstructionEvaluation\n                    BR3: Branch unit has been called?\n                    afterInstructionEvaluation --> BR3\n                    BR3 --> BR5 : Yes\n                    BR5: #Branch targets > 1?\n                    BR5 --> definitiveBranch: No\n                    BR5 --> registerAlternativeBranch: Yes\n                    registerAlternativeBranch --> registerAlternativeBranch\n                    registerAlternativeBranch --> [*]\n                    definitiveBranch --> BR6\n                    BR6: Instruction was JSR or JSR_W?\n                    BR3 --> BR6 : No\n                    BR_RET: Instruction was RET?\n                    BR6 --> BR_RET\n                    L5: Instruction was subroutine invocation\n                    BR6 --> L5: Yes\n                    state L5 {\n                        [*] --> startSubroutine\n                        recursion1: Evaluate all subroutines\n                        startSubroutine --> recursion1\n                        note left of recursion1: Recursively call back to evaluateInstructionBlockAndExceptionHandlers\n                        recursion1 --> generalizeSubroutine\n                        generalizeSubroutine --> endSubroutine\n                        endSubroutine --> [*]\n                    }\n                    L5 --> [*]\n                    Repeat: Go to next instruction\n                    BR_RET --> Repeat: No\n                    REG_RET: registerSubroutineReturn \n                    BR_RET --> REG_RET: Yes\n                    REG_RET --> [*]\n\n                }\n                L3 --> instructionBlockDone\n                instructionBlockDone --> [*]\n            }\n            L6: For each generated instructionBlock on generated stack\n            L2 --> L6\n            state L6 {\n              evaluateSingleInstructionBlock --> pop\n              pop --> startBranchCodeBlockEvaluation\n              startBranchCodeBlockEvaluation --> evaluateSingleInstructionBlock\n            }\n            L6 --> [*]\n        }\n        L1 --> startExceptionHandlingForBlock\n        L7: For each exception handler registered on code attribute\n      startExceptionHandlingForBlock --> L7\n        state L7 {\n            BR7: Exception handler evaluation is needed?\n            [*] --> BR7\n            BR7 --> registerExceptionHandler: Yes\n            BR7 --> registerUnusedExceptionHandler: No\n            nextExceptionHandler: Go to next exception handler\n            registerExceptionHandler --> evaluateInstructionBlockAndBranches\n            evaluateInstructionBlockAndBranches --> nextExceptionHandler\n            registerUnusedExceptionHandler --> nextExceptionHandler\n        }\n        L7 --> evaluationResults\n        evaluationResults --> [*]\n    }\n    catch: Did catch?\n    L0 --> catch\n    catch -->  [*]: No\n    catch --> registerException: Yes\n  registerException --> [*]

    The lifecycle can be tracked by providing a PartialEvaluatorStateTracker to the partial evaluator through its builder. For example, when you want to get a JSON debug output regarding the evaluations made by the partial evaluator, you can do so by:

    JsonPrinter tracker = new JsonPrinter();\nPartialEvaluator partialEvaluator = PartialEvaluator.Builder.create().setStateTracker(tracker).build()\n
    "},{"location":"patternmatching.html","title":"Pattern matching","text":""},{"location":"patternmatching.html#basic-pattern-matching","title":"Basic pattern matching","text":"

    The library has powerful support to match patterns in bytecode instruction sequences. You first define the pattern as a sequence of instructions, with wildcards. For example:

    final int X = InstructionSequenceMatcher.X;\nfinal int C = InstructionSequenceMatcher.C;\n\nInstructionSequenceBuilder ____ =\nnew InstructionSequenceBuilder();\n\nInstruction[] pattern =\n____.iload(X)\n.bipush(C)\n.istore(X).__();\n\nConstant[] constants = ____.constants();\n

    You can then find that pattern in given code:

    programClassPool.classesAccept(\nnew AllMethodVisitor(\nnew AllAttributeVisitor(\nnew AllInstructionVisitor(\nnew MyMatchPrinter(\nnew InstructionSequenceMatcher(constants, pattern))))));\n

    Complete example: ApplyPeepholeOptimizations.java

    "},{"location":"patternmatching.html#replacing-patterns","title":"Replacing patterns","text":"

    Instead of just matching instruction sequences, you can also replace matched sequences by other instruction sequences, for example to optimize code or instrument code. The core classes are PeepholeEditor and InstructionSequenceReplacer. Say that you want to replace an instruction sequence \"putstatic/getstatic\" by an equivalent \"dup/putstatic\":

    final int X = InstructionSequenceReplacer.X;\n\nInstructionSequenceBuilder ____ =\nnew InstructionSequenceBuilder();\n\nInstruction[][] replacements =\n{\n____.putstatic(X)\n.getstatic(X).__(),\n\n____.dup()\n.putstatic(X).__()\n};\n\nConstant[] constants = ____.constants();\n\nBranchTargetFinder  branchTargetFinder  = new BranchTargetFinder();\nCodeAttributeEditor codeAttributeEditor = new CodeAttributeEditor();\n\nprogramClassPool.classesAccept(\nnew AllMethodVisitor(\nnew AllAttributeVisitor(\nnew PeepholeEditor(branchTargetFinder, codeAttributeEditor,\nnew InstructionSequenceReplacer(constants,\nreplacements[0],\nconstants,\nreplacements[1],\nbranchTargetFinder,\ncodeAttributeEditor)))));\n

    You can define multiple patterns and their respective replacements in one go, with the wrapper InstructionSequencesReplacer.

    Complete example: ApplyPeepholeOptimizations.java

    "},{"location":"reading.html","title":"Reading classes","text":""},{"location":"reading.html#streaming-classes-from-a-jar-file","title":"Streaming classes from a jar file","text":"

    You can read classes from class files and various types of (nested) jar files or jmod files, with some convenient utility classes and visitors. For example, you can read all classes from all jar files in a given directory and print them out in a streaming fashion, while they are read, without collecting their representations:

    DataEntrySource source =\nnew DirectorySource(\nnew File(inputDirectoryName));\n\nsource.pumpDataEntries(\nnew FilteredDataEntryReader(new DataEntryNameFilter(new ExtensionMatcher(\".jar\")),\nnew JarReader(\nnew ClassFilter(\nnew ClassReader(false, false, false, false, null,\nnew ClassPrinter())))));\n

    Note the constructor-based dependency injection, to create a chain of visitor classes. We typically use a slightly unconventional indentation to make this construct easy to read.

    Complete example: PrintClasses.java

    "},{"location":"reading.html#streaming-classes-from-a-dexapk-file","title":"Streaming classes from a dex/apk file","text":"

    With the addition of proguard-core-android, you can read classes from dex/apk files just like you would with jar files. A small example showing how to use DexClassReader() to read classes from a dex/apk file:

    DataEntrySource source = new DirectorySource(\nnew File(inputDirectoryName));\n\nDataEntryReader classReader =\nnew NameFilteredDataEntryReader(\"**.class\",\nnew ClassReader(false, false, false, false, null,\nnew ClassNameFilter(\"**\", null)));\n\n// Convert dex files to a jar first\nclassReader =\nnew NameFilteredDataEntryReader(\"classes*.dex\",\nnew DexClassReader(true,\nnew ClassPrinter()),\nclassReader);\n\nsource.pumpDataEntries(classReader);\n

    Do note that in order to use dex/apk file reading functionalities within your project, you must import proguard-core-android in the build.gradle file:

    build.gradle

    dependencies {\n  ...\n  implementation project('com.guardsquare:proguard-core')\n  implementation project('com.guardsquare:proguard-core-android')\n  ...\n}\n

    A complete example for reading from dex, apk and jar files can be found in: JarUtil.java

    "},{"location":"reading.html#writing-out-streamed-classes","title":"Writing out streamed classes","text":"

    You can read classes, optionally perform some small modifications, and write them out right away, again in a streaming fashion.

    JarWriter jarWriter =\nnew JarWriter(\nnew ZipWriter(\nnew FixedFileWriter(\nnew File(outputJarFileName))));\n\nDataEntrySource source =\nnew FileSource(\nnew File(inputJarFileName));\n\nsource.pumpDataEntries(\nnew JarReader(\nnew ClassFilter(\nnew ClassReader(false, false, false, false, null,\nnew DataEntryClassWriter(jarWriter)))));\n\njarWriter.close();\n

    Complete example: ApplyPeepholeOptimizations.java

    "},{"location":"reading.html#collecting-classes","title":"Collecting classes","text":"

    Alternatively, you may want to collect the classes in a so-called class pool first, so you can perform more extensive analyses on them:

    ClassPool classPool = new ClassPool();\n\nDataEntrySource source =\nnew FileSource(\nnew File(jarFileName));\n\nsource.pumpDataEntries(\nnew JarReader(false,\nnew ClassFilter(\nnew ClassReader(false, false, false, false, null,\nnew ClassPoolFiller(classPool)))));\n

    Complete example: Preverify.java

    "},{"location":"reading.html#writing-out-a-set-of-classes","title":"Writing out a set of classes","text":"

    If you've collected a set of classes in a class pool, you can write them out with the same visitors as before.

    JarWriter jarWriter =\nnew JarWriter(\nnew ZipWriter(\nnew FixedFileWriter(\nnew File(outputJarFileName))));\n\nclassPool.classesAccept(\nnew DataEntryClassWriter(jarWriter));\n\njarWriter.close();\n

    Complete example: Preverify.java

    "},{"location":"releasenotes.html","title":"Release notes","text":""},{"location":"releasenotes.html#version-917","title":"Version 9.1.7","text":""},{"location":"releasenotes.html#bugfixes","title":"Bugfixes","text":"
    • Make sure injected initialization methods in interfaces have the correct access flags.
    "},{"location":"releasenotes.html#improved","title":"Improved","text":"
    • InstructionSequenceMatcher now supports matching of primitive array constants.
    • Support propagation of extra specified taints in JvmTaintTransferRelation.
    • Introduce ReflectiveModel and ReflectiveModelExecutor to simplify the creation and analysis of Models.
    "},{"location":"releasenotes.html#api-improvements","title":"API improvements","text":"
    • Rename CallVisitor to CallHandler and add extra parameters to handle calls accounting for more data.
    • Add ClassUtil.isClassInitializer(String) and ClassUtil.isInstanceInitializer(String).
    • Extend MemberCollectionFilter to accept a Set of any subtype of Member.
    "},{"location":"releasenotes.html#api-changes","title":"API changes","text":"
    • Move classes related to Model to the proguard.evaluation.value.object.model package.
    • StringSharer now uses a string pool to share strings, instead of traversing references.
    "},{"location":"releasenotes.html#api-changes-for-the-dataflow-analysis-code","title":"API changes for the dataflow analysis code","text":"

    There are several changes to the dataflow analysis code with the objective of eliminating unnecessary abstraction and make its usage easier. This includes: - Remove MemoryLocation, use JvmMemoryLocation instead. - Make JvmMemoryLocation independent of the type of value contained in the analysis' state. The type of the value now needs only to be provided when calling extractValueOrDefault. - Remove all code related to the tree heap model for taint analysis.

    "},{"location":"releasenotes.html#version-916","title":"Version 9.1.6","text":""},{"location":"releasenotes.html#java-support","title":"Java support","text":"
    • Update maximum supported Java class version to 67.65535 (Java 23).
    "},{"location":"releasenotes.html#api-changes_1","title":"API changes","text":"
    • Make CallGraph reconstruction/traversal methods generic in that they now take a Set<MethodSignature> to determine when to stop exploration
    • Delete EntryPoint class
    "},{"location":"releasenotes.html#bugfixes_1","title":"Bugfixes","text":"
    • Fix incorrect traversal direction in predecessorsContain.
    "},{"location":"releasenotes.html#version-915","title":"Version 9.1.5","text":""},{"location":"releasenotes.html#improved_1","title":"Improved","text":"
    • ExecutingInvocationUnit now supports execution of static methods with no parameters.
    "},{"location":"releasenotes.html#bugfixes_2","title":"Bugfixes","text":"
    • Prevent unknown enum value for KmVersionRequirementVersionKind exception when processing code compiled with an outdated Kotlin version.
    • Fix UnknownReferenceValue return wrong string format in getType.
    • Fix ReflectionExecutor not updating instance of StringBuilders in fallback result.
    • Fix DetailedArrayValueFactory#createArrayReferenceValue expecting an array type instead of the type of the values contained in the array.
    • Fix ExecutingInvocationUnit using both ParticularReferenceValue and DetailedArrayReferenceValue for arrays of reference types. Now DetailedArrayValueFactory is used consistently.
    "},{"location":"releasenotes.html#api-changes_2","title":"API changes","text":"
    • Executors do not support MethodSignature wildcards anymore. The assumption from ExecutorLookup is now that all the signatures supported by the executor are declared explicitly in getSupportedMethodSignatures.
    • StringExecutor, ExecutingInvocationUnit, and JvmValueBamCpaRun now need the library class pool as parameter.
    • Calls to InstructionSequenceBuilder.ldc now optionally accept a ConstantVisitor. The visitor will visit the constant that is referenced by the added instruction.
    • DetailedArrayValueFactory now takes a referenceValueFactory parameter, which determines if the value factory supports direct creation of reference arrays.
    • ParticularReferenceValue can't be used with arrays anymore.
    "},{"location":"releasenotes.html#version-914","title":"Version 9.1.4","text":""},{"location":"releasenotes.html#kotlin-support","title":"Kotlin support","text":"
    • Update Kotlin dependency to 2.0.0 final release version.
    "},{"location":"releasenotes.html#improved_2","title":"Improved","text":"
    • Add support for dynamic dispatch in ExecutorInvocationUnit. This makes it possible to execute methods based on statically observed types of objects, not only based on the type of the used variables.
    "},{"location":"releasenotes.html#api-changes_3","title":"API changes","text":"
    • Remove ExecutorMatcher and change the Executor interface so that it declares supported methods by MethodSignature wildcards instead.
    • Add @Nullable annotations to MethodSignature.
    "},{"location":"releasenotes.html#bugfixes_3","title":"Bugfixes","text":"
    • Prevent potential NullPointerException when Kotlin property metadata isVar flag does not correctly indicate the presence of a setter.
    "},{"location":"releasenotes.html#version-913","title":"Version 9.1.3","text":""},{"location":"releasenotes.html#kotlin-support_1","title":"Kotlin support","text":"
    • Add support for processing Kotlin 2.0 metadata.
    • Update to stable version of the Kotlin metadata library.
    "},{"location":"releasenotes.html#version-912","title":"Version 9.1.2","text":""},{"location":"releasenotes.html#java-support_1","title":"Java support","text":"
    • Update maximum supported Java class version to 66.65535 (Java 22).
    "},{"location":"releasenotes.html#api-changes_4","title":"API changes","text":"
    • Remove deprecated ReferenceValueFactory, ParticularReferenceValueFactory should be used instead.
    • Deprecate methods in ValueFactory taking an Object as parameter. The alternatives using ParticularObject should be used instead.
    • Executor#getMethodResult now returns a MethodResult object instead of just the return value of the analyzed method. The calling instance has been removed from the parameters array since it's already available in another argument.
    "},{"location":"releasenotes.html#improved_3","title":"Improved","text":"
    • Add support for selective parameter reconstruction to define which methods should have their calls evaluated.
    • Refactor ExecutingInvocationUnit to be customizable using executors. Improve checking whether method instance should be replaced in stack and variables.
    • Support execution of methods that operate on 1D arrays of all primitive and reference types with ReflectionExecutor.
    • Use runtime type instead of static type when possible in ExecutingInvocationUnit.
    • Introduce ParticularObject as the value tracked by ParticularReferenceValue. This makes explicit which kind of values can be tracked during the analysis, and introduces the possibility of tracking a model of the values that differ from the actual tracked object.
    • Extend capabilities of ExecutingInvocationUnit to allow executors to specify side effects not only on the instance value, but also on parameters.
    • Extend capabilities of ExecutingInvocationUnit to allow executors to specify return/instance/argument values that are not particular.
    "},{"location":"releasenotes.html#bug-fixes","title":"Bug fixes","text":"
    • Improve Kotlin MultiFileFacade metadata assertions to detect uninitialized references.
    • Fix handling of category 2 values in JvmValueTransferRelation to work correctly with ExecutingInvocationUnit.
    • Fix concurrency problems in CallGraph and ValueFactory ids.
    • Fix a bug in ReturnClassExtractor returning the last parameter type instead of null for primitive return values.
    • Fix ExecutorMethodSignatureMatcher trying to mutate an immutable map.
    • Fix TypedReferenceValue.cast() not handling null values correctly.
    "},{"location":"releasenotes.html#version-911","title":"Version 9.1.1","text":""},{"location":"releasenotes.html#bugfixes_4","title":"Bugfixes","text":"
    • Enable fix previously behind system property: fix TypedReferenceValue.generalize() not setting mayBeExtension to true when generalizing to common parent type.
    • Avoid printing PartialEvaluator messages when an ExcessiveComplexityException occurs.
    • Fix incorrect writing of flags for type parameters with name annotations.
    • Fix incorrect writing of flags for reified type parameters.
    • Fix model for types and type parameters, removing the incorrect HAS_ANNOTATION common flag.
    "},{"location":"releasenotes.html#improved_4","title":"Improved","text":"
    • Enable new PartialEvaluator error message format by default.
    • Add the ability to implement a custom renaming strategy for ClassReferenceFixer.
    • Add new MaxStackSizeComputer to compute the maximum stack size of a code attribute which is more memory efficient than the existing StackSizeComputer.
    • Add IdentifiedArrayReferenceValue.generalize() to maintain ID when applied to two instances with same ID.
    • Improve ExecutingInvocationUnit support to methods that transform a String into an array of a primitive type.
    • Add support for customizing the way method calls are processed in taint analysis.
    "},{"location":"releasenotes.html#new-code-style","title":"New Code Style","text":"

    We have changed our code style to follow the Google Java Style Guide. A new auto-formatter is now available to make contributing to ProGuardCORE easier:

    ./gradlew spotlessApply\n

    More information can be found in the Code Style section in CONTRIBUTING.md.

    "},{"location":"releasenotes.html#version-91","title":"Version 9.1","text":""},{"location":"releasenotes.html#improved_5","title":"Improved","text":"
    • Added PartialEvaluator JSON output.
    • Improve PartialEvaluator error messages when enabled with PartialEvaluator.Builder.setPrettyPrinting().
    • Improve documentation for the PartialEvaluator https://guardsquare.github.io/proguard-core/partialevaluator.html.
    "},{"location":"releasenotes.html#bug-fixes_1","title":"Bug fixes","text":"
    • Fix UnsupportedOperationException when trying to shrink Kotlin metadata from a lambda function.
    • Change behavior of array index out of bounds during partial evaluation, which is now handled as an unknown value instead of throwing an exception in the partial evaluator method.
    • Fix IllegalArgumentException when joining values with different computational type during value analysis.
    • Fix TypedReferenceValue.generalize() not setting mayBeExtension to true when generalizing to common parent type. For now only available experimentally by setting the system property proguard.pe.newextensiongeneralize.
    • Fix MultiTypeReferenceValue possibly using an imprecise type metadata (i.e., mayBeExtension, mayBeNull) in the generalized type.
    "},{"location":"releasenotes.html#api-changes_5","title":"API Changes","text":"
    • No longer consider Record attributes empty when they have no components in NonEmptyAttributeFilter. (#118)
    • Add new ProguardCoreException subclasses with more specific meanings.
    "},{"location":"releasenotes.html#version-9010","title":"Version 9.0.10","text":""},{"location":"releasenotes.html#improved_6","title":"Improved","text":"
    • TaintSink can now be configured with a predicate to filter on which TaintSources trigger it.
    • Improve performance of DynamicClassReferenceInitializer.
    • Improve performance of DynamicClassMemberReferenceInitializer.
    "},{"location":"releasenotes.html#api-changes_6","title":"API changes","text":"
    • The constructors in JvmInvokeTaintSink are now deprecated, JvmInvokeTaintSink#Builder should be used instead.
    • MultiTypedReferenceValue.generalize() now removes the null type from the set of potential types, and sets maybeNull on the other types instead.
    "},{"location":"releasenotes.html#version-909","title":"Version 9.0.9","text":""},{"location":"releasenotes.html#kotlin-support_2","title":"Kotlin support","text":"
    • Add support for processing Kotlin 1.9 metadata.
    • Update kotlinx metadata dependency to version 0.6.0.
    "},{"location":"releasenotes.html#java-support_2","title":"Java support","text":"
    • Update maximum supported Java class version to 65.65535 (Java 21).
    "},{"location":"releasenotes.html#improved_7","title":"Improved","text":"
    • Added support for adding line numbers in the CodeAttributeEditor.
    • Improve performance of ClassReferenceInitializer when initializing Kotlin type aliases.
    • Improve performance of ClassPool.removeClass.
    • Allow more configuration of ExecutingInvocationUnit by using ExecutingInvocationUnit.Builder.
    • Add a mode to ExecutingInvocationUnit to approximate reference of types not supported for the execution via reflection.
    • Implement Autocloseable in DataEntryWriter interface.
    "},{"location":"releasenotes.html#bug-fixes_2","title":"Bug fixes","text":"
    • Use program location as hash code for JvmAbstractState to allow correct use with hash sets.
    • Fix a bug in JvmTransferRelation handling arithmetic instructions returning category 2 values incorrectly.
    • Fix delegation of proguard.evaluation.value.ParticularValueFactory#createReferenceValueNull().
    "},{"location":"releasenotes.html#api-changes_7","title":"API changes","text":"
    • The key used for fields in JvmAbstractState has been updated to include the field type to disambiguate between overloaded fields.
    • Replace allNodes field in proguard.analysis.cpa.defaults.Cfa with getAllNodes method to save memory.
    • Constructor for ExecutingInvocationUnit is deprecated, use ExecutingInvocationUnit.Builder instead.
    "},{"location":"releasenotes.html#version-908","title":"Version 9.0.8","text":""},{"location":"releasenotes.html#improved_8","title":"Improved","text":"
    • Increase proguard.classfile.VersionConstants.MAX_SUPPORTED_VERSION to 64.65535 (Java 20 + preview enabled).
    • Fix tracking of IdentifiedReferenceValue IDs.
    • Add new Kotlin visitor SAM interfaces: KotlinClassVisitor, KotlinFileFacadeVisitor, KotlinMultiFileFacadeVisitor, KotlinMultiFilePartVisitor, KotlinSyntheticClassVisitor.
    "},{"location":"releasenotes.html#api-changes_8","title":"API changes","text":"
    • JvmTransferRelation has been refactored to model IINC in a separate computeIncrement method.
    • The ProcessingFlag.DONT_PROCESS_KOTLIN_MODULE value was changed from 0x00002000 to 0x00008000.
    • Remove fromClassPool suffixes in CfaUtil methods.
    • Refactor CodeLocation to only take the signature and offset into consideration.
    • IdentifiedReferenceValue id field changed from int to Object.
    • ParticularValueFactory.ReferenceFactory replaced by ParticularReferenceValueFactory.
    • Add ValueFactory.createReferenceValue(String type, Clazz referencedClass, boolean mayBeExtension, boolean maybeNull, Clazz creationClass, Method creationMethod, int creationOffset) to allow creating references identified by their creation site.
    • Add JvmCfaReferenceValueFactory to create references identified by the JvmCfaNode creation site.
    "},{"location":"releasenotes.html#upgrade-considerations","title":"Upgrade considerations","text":"

    Identified and particular references can now be identified by any Object instead of a simple int. However, this means that code which compared the IDs may need to be modified. For example, the following code should be changed:

        public static boolean equal(IdentifiedReferenceValue a, IdentifiedReferenceValue b) {\nreturn a.id == b.id;\n}\n

    It should use the equals method instead.

        public static boolean equal(IdentifiedReferenceValue a, IdentifiedReferenceValue b) {\nreturn a.id.equals(b.id);\n}\n

    The ParticularReferenceValueFactory identifies references with integers by default:

    ValueFactory valueFactory = new ParticularReferenceFactory(new ParticularReferenceValueFactory());\nValue a = valueFactory.createReferenceValue(\"Ljava/lang/String;\", clazz, false, false);\n// a.id will be an integer.\n

    Any Object can be used as an ID using the createReferenceValueForId method:

    String objectId = \"myId\";\nValueFactory valueFactory = new ParticularReferenceFactory(new ParticularReferenceValueFactory());\nValue a = valueFactory.createReferenceValueForId(\"Ljava/lang/String;\", clazz, false, false, objectId);\n// a.id will be objectId\n
    "},{"location":"releasenotes.html#version-907","title":"Version 9.0.7","text":""},{"location":"releasenotes.html#improved_9","title":"Improved","text":"
    • Add JvmShallowHeapModel for selective heap modeling.
    "},{"location":"releasenotes.html#version-907_1","title":"Version 9.0.7","text":""},{"location":"releasenotes.html#improved_10","title":"Improved","text":"
    • Don't report warnings for missing Kotlin default implementation classes when initializing with ClassReferenceInitializer.
    • Only link matching methods in Kotlin file facades with MethodLinker.
    • Extend the LimitedHashMap parameterization with an element exclusion selector.
    • Add the possibility to add a predicate to taint sources and sinks for selective response to calls.
    "},{"location":"releasenotes.html#bug-fixes_3","title":"Bug fixes","text":"
    • Fix the reduce operator producing a wrong JvmAbstractState for the composite taint analysis.
    • Fix potential expected Precise Reference runtime verifier error.
    • Don't report warnings for missing Kotlin default implementation classes when initiazing with ClassReferenceInitializer.
    "},{"location":"releasenotes.html#api-improvements_1","title":"API Improvements","text":"
    • Add KotlinMetadataAsserter to check the integrity of Kotlin metadata.
    • Add JvmReturnTaintSink to support return instruction sinks in taint analysis.
    • Use method signatures instead of fully qualified names in taint sources and sinks.
    "},{"location":"releasenotes.html#api-changes_9","title":"API changes","text":"
    • JvmTaintSink has been generalized, use JvmInvokeTaintSink to have the old functionalities.
    "},{"location":"releasenotes.html#version-906","title":"Version 9.0.6","text":""},{"location":"releasenotes.html#improved_11","title":"Improved","text":"
    • Add support for limiting the size of the CPA tree heap model with LimitedHashMaps.
    "},{"location":"releasenotes.html#bug-fixes_4","title":"Bug fixes","text":"
    • Fix ldc_w method in the InstructionSequenceBuilder generating a ldc instruction instead of a ldc_w.
    "},{"location":"releasenotes.html#api-improvements_2","title":"API Improvements","text":"
    • Add referencedDefaultMethodAccept to KotlinFunctionMetadata model.
    "},{"location":"releasenotes.html#version-905","title":"Version 9.0.5","text":""},{"location":"releasenotes.html#improved_12","title":"Improved","text":"
    • Replace proguard-assembler dependency in test fixtures with Maven Central version.
    "},{"location":"releasenotes.html#bug-fixes_5","title":"Bug fixes","text":"
    • Do not add interprocedural CFA edges for methods missing intraprocedural CFA.
    "},{"location":"releasenotes.html#version-904","title":"Version 9.0.4","text":""},{"location":"releasenotes.html#improved_13","title":"Improved","text":"
    • Allow class sub-hierarchy re-initialization for the optimized implementation of ClassSubHierarchyInitializer.
    • Enable providing distinct abort operators for the main and trace reconstruction CPAs.
    • Add a heap model for taint CPA supporting tainting of whole objects.
    • Call API: Add a few utilities and fix inconsistent call argument count getter behavior.
    • Only change the Kotlin metadata version if the original version is unsupported.
    • Add support for Kotlin context receivers in Kotlin metadata.
    • Add support for reading & writing Kotlin 1.8 metadata.
    "},{"location":"releasenotes.html#api-improvements_3","title":"API Improvements","text":"
    • Add referencedDefaultImplementationMethodAccept to KotlinFunctionMetadata model class.
    • Deprecated referencedMethodAccept(Clazz, MemberVisitor) in favour of referencedMethodAccept(MemberVisitor) in KotlinFunctionMetadata model class.
    • Add TransformedStringMatcher.
    • Add ClassFeatureNameCollector.
    • Add var-arg constructor to ClassPath.
    • Add DataEntryClassInfoFilter.
    • Add NamedDataEntry.
    • Refactor CodeLocation#getClassName as getExternalClassName to comply with the types naming convention.
    • Make TypedReferenceValue.ALLOW_INCOMPLETE_CLASS_HIERARCHY private, add a getter TypedReferenceValue.allowsIncompleteClassHierarchy() instead.
    "},{"location":"releasenotes.html#bug-fixes_6","title":"Bug fixes","text":"
    • Fix side effect on DetailedArrayReferenceValue modifying values at previous offsets on array store instructions during PartialEvaluator execution.
    • Fix JvmTransferRelation to produce a successor in case of missing interprocedural call edge (e.g., in case of incomplete call resolution).
    • Fix call resolution for invokedynamic (issue #63). There might now be calls with incomplete target information. By default, these calls will not be distributed to visitors, but this can be enabled by setting the skipIncompleteCalls option in the call resolver.
    • Fix leading $ being stripped from inner classes by the ClassReferenceFixer. This prevents classes with names like Foo$$Bar incorrectly having their simple name changed from $Bar to Bar.
    "},{"location":"releasenotes.html#version-903","title":"Version 9.0.3","text":""},{"location":"releasenotes.html#java-support_3","title":"Java support","text":"
    • Update maximum supported Java class version to 63.65535 (Java 19 ea). (PGD-247)
    "},{"location":"releasenotes.html#improved_14","title":"Improved","text":"
    • Add utility to produce dot-graphs for control flow automatons (CfaUtil.toDot(cfa), example VisualizeCfa).
    • Add support for heap slicing on call sites and heap reconstruction on return sites in dataflow analysis heap tree model.
    • Add support for differential map representation to be used in the data flow analysis.
    "},{"location":"releasenotes.html#api-improvements_4","title":"API Improvements","text":"
    • Split ProgramLocationDependentTransferRelation into forward and backward variants.
    • Add ClassPoolClassLoader utility for loading ProGuardCORE classes.
    • Add builders for CPA runs.
    "},{"location":"releasenotes.html#version-902","title":"Version 9.0.2","text":""},{"location":"releasenotes.html#improved_15","title":"Improved","text":"
    • JvmMemoryLocationTransferRelation does not rely anymore on a pre-computed abstract reachability graph.
    "},{"location":"releasenotes.html#improvements-to-kotlin-metadata-initialization","title":"Improvements to Kotlin metadata initialization","text":"

    Several improvements to Kotlin metadata initialization now allow building the Kotlin metadata model for library classes (LibraryClass):

    • KotlinMetadataInitializer provides a new public method initialize(Clazz, int, int[], String[], String[], int, String, String) to initialize the Kotlin metadata model for a given class.
    • ClassReader can now build the Kotlin metadata model by setting includeKotlinMetadata to true.
    • LibraryClassReader can now read the Kotlin metadata annotation and provide the components to a consumer.
    • An UnsupportedKotlinMetadata type is now assigned by the KotlinMetadataInitializer if the Kotlin metadata model could not be initialized correctly.
    "},{"location":"releasenotes.html#version-901","title":"Version 9.0.1","text":""},{"location":"releasenotes.html#improved_16","title":"Improved","text":"
    • ExecutingInvocationUnit now loads values from static final fields.
    • Initialize Kotlin lambda method references when the JVM method name is <anonymous>.
    • Add the possibility of limiting the number of CodeAttributes contributing into CFA.
    • Add the possibility of limiting the number of CodeAttributes considered by the CallResolver.
    "},{"location":"releasenotes.html#bug-fixes_7","title":"Bug fixes","text":"
    • Fix wrong handling of array types in ExecutingIvocationUnit and ParticularReferenceValue.
    • ParticularReferenceValue sanity checks now take inheritance into consideration, improving call analysis.
    • Prevent missing semicolon leading to an infinite loop in ClassUtil#internalMethodParameterCount.
    • Make category 2 CPA taint sources affect only the most significant byte abstract state.
    • Fix inconsistent usage of type names in the context of the PartialEvaluator that could result in trying to create an internal type string from a string that was already an internal type.
    • Fix initialization of Kotlin callable references when using -Xno-optimized-callable-references compiler option.
    • Fix createCache() delegation in ArgBamCpaRun
    "},{"location":"releasenotes.html#upgrade-considerations_1","title":"Upgrade considerations","text":""},{"location":"releasenotes.html#type-name-convention","title":"TYPE NAME CONVENTION","text":"

    PGC has different representation for type string variables:

    • External class name: com.guardsquare.SomeClass
    • Internal class name: com/guardsquare/SomeClass
    • Internal type (or just type): Lcom/guardsquare/SomeClass; (for arrays e.g. [I, [Ljava/lang/Object;)
    • Internal class type: com/guardsquare/SomeClass (for arrays this is their internal type e.g. [I, [Ljava/lang/Object;)

    See proguard.classfile.util.ClassUtil for useful methods to convert between the different representations.

    Since internal class name and type were used ambiguously, from version 9.0.1 the internal type is used consistently whenever we have a variable named type.

    Since this was not the case, this update might cause some type variables switching from the internal class name notation to the internal type notation, potentially breaking some logic if types are used by an external application using proguard-core.

    "},{"location":"releasenotes.html#version-90-april-2022","title":"Version 9.0 (April 2022)","text":""},{"location":"releasenotes.html#configurable-program-analysis-cpa","title":"Configurable program analysis (CPA)","text":"

    CPA is a formalism for data flow analysis allowing seamless composition of various analyses and model checking techniques. Thus, it adds a framework for systematic development and extension of static analyses in a uniform structured way.

    Taint analysis is the first ProGuardCORE CPA. Its goal is to detect data flow between source and sink method calls, which is useful for detecting bugs and security flaws.

    The Taint Analysis manual page provides more information.

    • Add configurable program analysis (CPA) for interprocedural data flow analysis development.
    • Add taint analysis.
    "},{"location":"releasenotes.html#bug-fixes_8","title":"Bug fixes","text":"
    • Prevent linking a final method with a shadowing method in a subclass.
    • Force Call#getArgumentCount() to be correct even if the actual argument values could not be calculated or have been cleared.
    • Reset ExecutingInvocationUnit parameters array even when an exception happens.
    "},{"location":"releasenotes.html#version-807","title":"Version 8.0.7","text":""},{"location":"releasenotes.html#java-support_4","title":"Java support","text":"
    • Update maximum supported Java class version to 62.65535 (Java 18 ea).
    "},{"location":"releasenotes.html#improved_17","title":"Improved","text":"
    • Add support for Kotlin property synthetic delegate methods.
    • Add ability to pass KotlinMetadataVersion to KotlinMetadataWriter / KotlinModuleWriter.
    "},{"location":"releasenotes.html#version-806","title":"Version 8.0.6","text":""},{"location":"releasenotes.html#improved_18","title":"Improved","text":"
    • Add support for writing out zip64 archives.
    • Improve speed for ClassPool.contains method.
    "},{"location":"releasenotes.html#version-805","title":"Version 8.0.5","text":""},{"location":"releasenotes.html#improved_19","title":"Improved","text":"
    • Upgrade log4j2 dependency to v2.17.1 in response to CVE-2021-44832.
    • Add support for reading and writing Kotlin 1.6 metadata.
    "},{"location":"releasenotes.html#bug-fixes_9","title":"Bug fixes","text":"
    • Fix CallResolver erroneously creating call edges to unimplemented interface methods.
    • Make the DominatorCalculator skip methods with an empty CodeAttribute.
    • Prevent updating Kotlin function names with mangled JVM method names in ClassReferenceFixer.
    • Initialize Kotlin default implementation classes of annotation classes correctly in ClassReferenceInitializer.
    • Correctly initialize Java Record component attributes in ClassReferenceInitializer.
    "},{"location":"releasenotes.html#api-changes_10","title":"API changes","text":"
    • KotlinInterfaceToDefaultImplsClassVisitor replaced by KotlinClassToDefaultImplsClassVisitor.
    • Deprecate Kotlin class metadata flag IS_INLINE and replaced with IS_VALUE.
    • Convert to/from Kotlin unsigned integers in Kotlin annotation unsigned type arguments.
    • Initialize array dimension in Kotlin annotation ClassValue type arguments.
    • Add support for Kotlin inline class underlying type to Kotlin metadata model.
    • Add support to MemberDescriptorReferencedClassVisitor for visiting referenced Kotlin inline class parameters.
    "},{"location":"releasenotes.html#version-804","title":"Version 8.0.4","text":""},{"location":"releasenotes.html#improved_20","title":"Improved","text":"
    • Upgrade log4j2 dependency to v2.17 in response to CVE-2021-45105.
    "},{"location":"releasenotes.html#api-improvements_5","title":"API Improvements","text":"
    • Add KotlinMetadataVersionFilter to filter classes based on the version of the attached metadata.
    "},{"location":"releasenotes.html#version-803","title":"Version 8.0.3","text":""},{"location":"releasenotes.html#improved_21","title":"Improved","text":"
    • Upgrade log4j2 dependency in response to CVE-2021-45046.
    "},{"location":"releasenotes.html#version-802","title":"Version 8.0.2","text":""},{"location":"releasenotes.html#improved_22","title":"Improved","text":"
    • Upgrade log4j2 dependency in response to CVE-2021-44228.
    "},{"location":"releasenotes.html#api-improvements_6","title":"API Improvements","text":"
    • Add call resolving and graph traversal features to enable interprocedural control flow analyses.
    "},{"location":"releasenotes.html#bug-fixes_10","title":"Bug fixes","text":"
    • Fix potential StringIndexOutOfBoundsException while trimming attribute value spaces in SignedJarWriter.
    • Fix referencedClass of Values generated by the ExecutingInvocationUnit.
    • Fix potential StackOverflowError when using an AttributeVisitor to visit runtime invisible type annotations.
    • Fix potential StringIndexOutOfBoundsException in KotlinCallableReferenceInitializer.
    • Fix potential NullPointerException in KotlinInterClassPropertyReferenceInitializer.
    • Fix wrong offset for complementary branch instruction when widening branch instructions in InstructionWriter.
    • Fix potential ClassFormatError due to adding multiple annotation attributes when processing Kotlin code.
    • Fix potential NullPointerException due to missing classes in ClassReferenceInitializer.
    • Prevent making package-private final methods that are shadowed protected.
    "},{"location":"releasenotes.html#version-801","title":"Version 8.0.1","text":""},{"location":"releasenotes.html#api-improvements_7","title":"API Improvements","text":"
    • Add LibraryClassBuilder and LibraryClassEditor classes to create and edit a LibraryClass.
    • Add additional constructors to LibraryClass.
    "},{"location":"releasenotes.html#bug-fixes_11","title":"Bug fixes","text":"
    • Fix potential NullPointerException when initializing Kotlin callable references.
    • Prevent requiring --enable-preview on a JVM for Java 16 class files (write class file version 60.0 instead of 60.65535).
    • Fix potential NullPointerException when visiting referenced methods of Kotlin functions.
    "},{"location":"releasenotes.html#version-800","title":"Version 8.0.0","text":""},{"location":"releasenotes.html#java-support_5","title":"Java support","text":"
    • Update maximum supported Java class version to 61.0 (Java 17).
    "},{"location":"releasenotes.html#kotlin-support_3","title":"Kotlin support","text":"
    • Add support for processing Kotlin 1.5 metadata.
    • Update kotlinx metadata dependency to version 0.2.
    "},{"location":"releasenotes.html#api-improvements_8","title":"API Improvements","text":"
    • Add WarningLogger class to allow using a custom Log4j2 logger.
    • Add Kotlin metadata model classes and visitors for Kotlin annotations.
    • Add Kotlin metadata model enum for KmVariance.
    • Add Kotlin metadata model enum for KmVersionRequirement(Kind|Level).
    • Add Kotlin metadata model enum for KmEffect(Type|InvocationKind).
    • Add Kotlin metadata flag IS_FUN for functional interfaces.
    • Add Kotlin metadata flag HAS_NON_STABLE_PARAMETER_NAMES for Kotlin callables.
    • Add error handler callback to KotlinMetadataInitializer.
    • Add error handler callback to KotlinMetadataWriter.
    • Add error handler callback to KotlinModuleReader.
    • Add error handler callback to KotlinModuleWriter. Add Kotlin metadata flag IS_SECONDARY for constructors.
    • Implement ClassVisitor in KotlinMetadataInitializer to allow easier initialization of Kotlin metadata.
    • Implement ClassVisitor in KotlinMetadataWriter to allow easier writing of Kotlin metadata.
    "},{"location":"releasenotes.html#api-changes_11","title":"API changes","text":"
    • KotlinTypeParameterVistor#visitClassParameter(Clazz, KotlinMetadata, KotlinTypeParameterMetadata) now has the correct signature: KotlinTypeParameterVistor#visitClassParameter(Clazz, KotlinClassKindMetadata, KotlinTypeParameterMetadata).
    • Rename AllKotlinPropertiesVisitor to AllPropertyVisitor.
    • Rename AllConstructorsVisitor to AllConstructorVisitor.
    • Rename AllFunctionsVisitor to AllFunctionVisitor.
    • Remove `KotlinValueParameterVisitor.onNewFunctionStart()' method.
    • Deprecate Kotlin metadata flag IS_PRIMARY for constructors.
    "},{"location":"releasenotes.html#version-711","title":"Version 7.1.1","text":""},{"location":"releasenotes.html#api-improvements_9","title":"API improvements","text":"
    • Add KotlinTypeParameterFilter to allow filtering easily when visiting type parameters.
    • Add KotlinValueParameterFilter to allow filtering easily when visiting value parameters.
    "},{"location":"releasenotes.html#bug-fixes_12","title":"Bug fixes","text":"
    • Fix AllTypeParameterVisitor so that it visits type parameters defined in any kind of declaration container.
    • Fix AllTypeParameterVisitor so that it visits type parameters of type aliases.
    • Fix potential NullPointerException when initializing a Kotlin default implementation class that does not contain an initialized jvmSignature.
    • Add missing equals method to ParticularReferenceValue.
    • Fix incorrect handling of InterruptedException in ParallelAllClassVisitor.
    • Fix potential ZipOutput alignment issue when writing large uncompressed zip entries.
    • Fix potential ZipOutput synchronization issue when writing uncompressed zip entries.
    • Fix potential NullPointerException when comparing strings with FixedStringMatcher.
    • Fix potential NullPointerException when comparing strings with MatchedStringMatcher.
    • Fix initialization of Kotlin callable references when using Kotlin >= 1.4.
    "},{"location":"releasenotes.html#version-71-june-2021","title":"Version 7.1 (June 2021)","text":""},{"location":"releasenotes.html#java-support_6","title":"Java support","text":"

    ProGuardCORE 7.1 now supports Java versions 14, 15 and 16:

    • Add support for reading & writing Java 14, 15 and 16 class files.
    • Add support for Java 14 sealed classes (permitted subclasses attributes).
    • Add support for record attributes (previewed in Java 15/16, targeted for Java 17).
    "},{"location":"releasenotes.html#improved-code-analysis","title":"Improved code analysis","text":"
    • The partial evaluator can now be used to reconstruct the specific values of String, StringBuilder and StringBuffer type objects. See analyzing code manual page for more information.
    • The partial evaluator will now throw an IncompleteClassHierarchyException instead of IllegalArgumentException when an incomplete hierarchy is encountered.
    • The partial evaluator will now throw an ExcessiveComplexityException if an instruction is visited more than stopAnalysisAfterNEvaluations times.
    • Potentially throwing ldc instructions are now taken into account during partial evaluation, improving the accuracy of code analysis.
    • Add support for multiple possible types during partial evaluation.
    "},{"location":"releasenotes.html#performance-improvements","title":"Performance improvements","text":"
    • Improve efficiency of building classes, methods and constant pools.
    "},{"location":"releasenotes.html#api-improvements_10","title":"API improvements","text":"
    • Add ClassRenamer to allow renaming classes and members easily.
    "},{"location":"releasenotes.html#bug-fixes_13","title":"Bug fixes","text":"
    • Add missing method reference in injected static initializer instructions.
    • Add missing dimensions argument to CompactCodeAttributeComposer.multianewarray.
    • Fix potential StackOverflowException when comparing multi-typed reference values.
    • Fix handling of Kotlin nested class names which contain $.
    • Mark Module, ModuleMainClass and ModulePackages attributes as required.
    • Fix potential ClassCastException in ConstructorMethodFilter.
    • Fix potential NullPointerException for module classes in ClassPrinter.
    • Fix storage and alignment of uncompressed zip entries.
    • Fix processing of constant boolean arrays.
    • Fix adding branch instructions with labels in CompactCodeAttributeComposer.
    • Fix handling of array dereferencing in MultiTypedReferenceValue.
    • Fix AllKotlinAnnotationVisitor so that it visits type alias annotations defined in any kind of declaration container.
    • Move initialization of Kotlin declaration container's ownerClassName field from ClassReferenceInitializer to KotlinMetadataInitializer.
    "},{"location":"releasenotes.html#version-70-jan-2020","title":"Version 7.0 (Jan 2020)","text":"Version Issue Module Explanation 7.0.1 DGD-2382 CORE Fixed processing of Kotlin 1.4 metadata annotations. 7.0.1 DGD-2390 CORE Fixed storage and alignment of uncompressed zip entries. 7.0.1 DGD-2338 CORE Fixed processing of constant boolean arrays. 7.0.1 CORE Fixed adding branch instructions with labels in CompactCodeAttributeComposer. 7.0.0 CORE Initial release of Kotlin support. 7.0.0 PGD-32 CORE Added support for Java 14 class files. 7.0.0 DGD-1780 CORE Removed dependency on internal sun.security API. 7.0.0 DGD-1800 CORE Fixed obfuscation of functional interfaces with abstract Object methods. 7.0.0 CORE Initial release, extracted from ProGuard."},{"location":"taintcpa.html","title":"Taint analysis with CPA","text":""},{"location":"taintcpa.html#taint-analysis-with-cpa","title":"Taint analysis with CPA","text":"

    Taint analysis aims for detecting a data flow between taint sources and sinks. Configurable program analysis (CPA) is a formalism suitable for integrating multiple data flow analyses in one tool. Taints can be traced in few simple steps.

    "},{"location":"taintcpa.html#modeling-the-control-flow","title":"Modeling the control flow","text":"

    A control flow automaton (CFA) is a graph with nodes being bytecode offsets and edges being instructions or calls connecting them. You can create a CFA from the program class pool:

    // Create the control flow automaton (CFA).\nJvmCfa cfa = CfaUtil.createInterproceduralCfaFromClassPool(programClassPool);\n
    "},{"location":"taintcpa.html#defining-taint-sources","title":"Defining taint sources","text":"

    Every taint analysis data flow starts from a taint source. Any Java method can be a taint source. You have several options of how a taint source can behave. A source may:

    • taint the calling instance,
    • return the taint,
    • taint its actual parameters of nonprimitive types,
    • taint static fields.

    For creating a taint you need its fully qualified name and the expected tainting pattern. Let us create a simple taint source returning a tainted string:

    // Create a taint source.\nTaintSource source = new TaintSource(\"LMain;source()Ljava/lang/String;\", // the fully qualified name of a source method\nfalse,                              // whether the source taints the calling instance\ntrue,                               // whether the source taints its return\nCollections.emptySet(),             // a set of tainted arguments\nCollections.emptySet());            // a set of tainted global variables\n
    "},{"location":"taintcpa.html#defining-taint-sinks","title":"Defining taint sinks","text":"

    Taint sinks are the counterpart of taint sources sensitive to a taint. A taint sink may be sensitive to

    • the calling instance,
    • actual parameters,
    • static fields.

    Given the fully qualified name and the sensitivity model you can straightforwardly create a taint sink like the one sensitive to its only argument:

    // Create a taint sink.\nJvmTaintSink sink = new JvmTaintSink(\"LMain;sink(Ljava/lang/String;)V\", // the fully qualified name of a sink method\nfalse,                             // whether the sink is sensitive to the calling instance\nCollections.singleton(1),          // a set of sensitive arguments\nCollections.emptySet());           // a set of sensitive global variables\n

    Note: The argument enumeration for both taint sources and taint sinks starts from one and does not depend on whether the method is static. The calling distance is handled by a separate boolean constructor parameter.

    "},{"location":"taintcpa.html#setting-up-a-cpa-run","title":"Setting up a CPA run","text":"

    CPA runs encapsulate the initialization of CPA components and allow configuring the analysis. The CPA run needs to know in which method the analysis needs to start and how deep the call stack for the interprocedural analysis should be. All calls overflowing the stack, as well as all library methods, are approximated intraprocedurally as propagating the taint from their calling instance and arguments into the return value. You can create a CPA run for analyzing Main.main(String args) with an unlimited call stack as follows:

    // Create the CPA run.\nJvmTaintMemoryLocationBamCpaRun cpaRun = new JvmTaintMemoryLocationBamCpaRun(cfa,                                          // a CFA\nCollections.singleton(source),                // a set of taint sources\nnew MethodSignature(\"Main\",\n\"main\",\n\"([Ljava/lang/String)V\"), // the signature of the main method\n-1,                                           // the maximum depth of the call stack analyzed interprocedurally.\n// 0 means intra-procedural analysis.\n// < 0 means unlimited depth.\nTaintAbstractState.bottom,                    // a cut-off threshold\nCollections.singleton(sink));                 // a collection of taint sinks\n
    "},{"location":"taintcpa.html#running-the-analysis-and-obtaining-witness-traces","title":"Running the analysis and obtaining witness traces","text":"

    The analysis execution can be done in a single line together with generating witness traces:

    // Run the analysis and get witness traces.\nSet<List<JvmMemoryLocation>> traces = cpaRun.extractLinearTraces();\n
    "},{"location":"taintcpa.html#interpreting-the-analysis-result","title":"Interpreting the analysis result","text":"

    The result of the analysis is a set of witness traces, if there is a data flow detected. A witness trace is a list of memory locations at specific program locations. For instance, the class below

    // Run the analysis and get witness traces.\npublic class Main\n{\npublic static void main()\n{\nsink(callee());\n}\n\npublic static String callee()\n{\nreturn source();\n}\n}\n

    would generate a witness trace consisting of two top stack locations, one after the taint source in callee() and another before the call to sink(String s):

    [JvmStackLocation(0)@LMain;main()V:3, JvmStackLocation(0)@LMain;callee()Ljava/lang/String;:3]\n

    Note that the traces returned by the CPA run go from the taint sink to the taint source. There are four types of memory locations:

    • stack locations identified by their offsets from the operand stack top,
    • local variable locations identified by their indices in the local variable array,
    • static field locations identified by their fully qualified names,
    • heap locations identified by their abstract references.

    Complete example: AnalyzeTaints.java

    "},{"location":"api/legal/jquery.html","title":"Jquery","text":""},{"location":"api/legal/jquery.html#jquery-v371","title":"jQuery v3.7.1","text":""},{"location":"api/legal/jquery.html#jquery-license","title":"jQuery License","text":"
    jQuery v 3.7.1\nCopyright OpenJS Foundation and other contributors, https://openjsf.org/\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n
    "},{"location":"api/legal/jqueryUI.html","title":"jqueryUI","text":""},{"location":"api/legal/jqueryUI.html#jquery-ui-v1132","title":"jQuery UI v1.13.2","text":""},{"location":"api/legal/jqueryUI.html#jquery-ui-license","title":"jQuery UI License","text":"
    Copyright jQuery Foundation and other contributors, https://jquery.org/\n\nThis software consists of voluntary contributions made by many\nindividuals. For exact contribution history, see the revision history\navailable at https://github.com/jquery/jquery-ui\n\nThe following license applies to all parts of this software except as\ndocumented below:\n\n====\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n====\n\nCopyright and related rights for sample code are waived via CC0. Sample\ncode is defined as all source code contained within the demos directory.\n\nCC0: http://creativecommons.org/publicdomain/zero/1.0/\n\n====\n\nAll files located in the node_modules and external directories are\nexternally maintained libraries used by this software which have their\nown licenses; we recommend you read them, as their terms may differ from\nthe terms above.\n
    "},{"location":"api/legal/jszip.html","title":"Jszip","text":""},{"location":"api/legal/jszip.html#jszip-v371","title":"JSZip v3.7.1","text":"

    JSZip is dual licensed. You may use it under the MIT license or the GPLv3 license.

    "},{"location":"api/legal/jszip.html#the-mit-license","title":"The MIT License","text":"
    Copyright (c) 2009-2016 Stuart Knightley, David Duponchel, Franz Buchinger, Ant\u00f3nio Afonso\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n
    "},{"location":"api/legal/jszip.html#gpl-version-3","title":"GPL version 3","text":"
                        GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n
    "},{"location":"api/legal/pako.html","title":"Pako","text":""},{"location":"api/legal/pako.html#pako-v10","title":"Pako v1.0","text":""},{"location":"api/legal/pako.html#pako-license","title":"Pako License","text":"
    \nCopyright (C) 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n(C) 1995-2013 Jean-loup Gailly and Mark Adler\n(C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n\nThis software is provided 'as-is', without any express or implied\nwarranty. In no event will the authors be held liable for any damages\narising from the use of this software.\n\nPermission is granted to anyone to use this software for any purpose,\nincluding commercial applications, and to alter it and redistribute it\nfreely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you must not\nclaim that you wrote the original software. If you use this software\nin a product, an acknowledgment in the product documentation would be\nappreciated but is not required.\n2. Altered source versions must be plainly marked as such, and must not be\n misrepresented as being the original software.\n3. This notice may not be removed or altered from any source distribution.\n\n
    "}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 000000000..0f8724efd --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz new file mode 100644 index 000000000..8ca331027 Binary files /dev/null and b/sitemap.xml.gz differ diff --git a/taintcpa.html b/taintcpa.html new file mode 100644 index 000000000..dccc5340c --- /dev/null +++ b/taintcpa.html @@ -0,0 +1,845 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Taint analysis with CPA - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + + + +
    +
    + + + + + + + +

    Taint analysis with CPA

    + +

    Taint analysis with CPA

    +

    Taint analysis aims for detecting a data flow between taint sources and sinks. +Configurable program analysis (CPA) is a formalism suitable for integrating multiple +data flow analyses in one tool. Taints can be traced in few simple steps.

    +

    Modeling the control flow

    +

    A control flow automaton (CFA) is a graph with nodes being bytecode offsets and +edges being instructions or calls connecting them. You can create a CFA from +the program class pool:

    +
    // Create the control flow automaton (CFA).
    +JvmCfa cfa = CfaUtil.createInterproceduralCfaFromClassPool(programClassPool);
    +
    + +

    Defining taint sources

    +

    Every taint analysis data flow starts from a taint source. Any Java method can be a taint source. +You have several options of how a taint source can behave. A source may:

    +
      +
    • taint the calling instance,
    • +
    • return the taint,
    • +
    • taint its actual parameters of nonprimitive types,
    • +
    • taint static fields.
    • +
    +

    For creating a taint you need its fully qualified name and the expected tainting pattern. +Let us create a simple taint source returning a tainted string:

    +
    // Create a taint source.
    +TaintSource source = new TaintSource("LMain;source()Ljava/lang/String;", // the fully qualified name of a source method
    +                                     false,                              // whether the source taints the calling instance
    +                                     true,                               // whether the source taints its return
    +                                     Collections.emptySet(),             // a set of tainted arguments
    +                                     Collections.emptySet());            // a set of tainted global variables
    +
    + +

    Defining taint sinks

    +

    Taint sinks are the counterpart of taint sources sensitive to a taint. A taint sink may be sensitive to

    +
      +
    • the calling instance,
    • +
    • actual parameters,
    • +
    • static fields.
    • +
    +

    Given the fully qualified name and the sensitivity model you can straightforwardly create a taint sink +like the one sensitive to its only argument:

    +
    // Create a taint sink.
    +JvmTaintSink sink = new JvmTaintSink("LMain;sink(Ljava/lang/String;)V", // the fully qualified name of a sink method
    +                                     false,                             // whether the sink is sensitive to the calling instance
    +                                     Collections.singleton(1),          // a set of sensitive arguments
    +                                     Collections.emptySet());           // a set of sensitive global variables
    +
    + +

    Note: The argument enumeration for both taint sources and taint sinks starts from one +and does not depend on whether the method is static. The calling distance is handled by +a separate boolean constructor parameter.

    +

    Setting up a CPA run

    +

    CPA runs encapsulate the initialization of CPA components and allow configuring the analysis. +The CPA run needs to know in which method the analysis needs to start and how deep the call stack +for the interprocedural analysis should be. All calls overflowing the stack, as well as all +library methods, are approximated intraprocedurally as propagating the taint from their +calling instance and arguments into the return value. You can create a CPA run for analyzing +Main.main(String args) with an unlimited call stack as follows:

    +
    // Create the CPA run.
    +JvmTaintMemoryLocationBamCpaRun cpaRun = new JvmTaintMemoryLocationBamCpaRun(cfa,                                          // a CFA
    +                                                                             Collections.singleton(source),                // a set of taint sources
    +                                                                             new MethodSignature("Main",
    +                                                                                                 "main",
    +                                                                                                 "([Ljava/lang/String)V"), // the signature of the main method
    +                                                                             -1,                                           // the maximum depth of the call stack analyzed interprocedurally.
    +                                                                                                                           // 0 means intra-procedural analysis.
    +                                                                                                                           // < 0 means unlimited depth.
    +                                                                             TaintAbstractState.bottom,                    // a cut-off threshold
    +                                                                             Collections.singleton(sink));                 // a collection of taint sinks
    +
    + +

    Running the analysis and obtaining witness traces

    +

    The analysis execution can be done in a single line together with generating witness traces:

    +
    // Run the analysis and get witness traces.
    +Set<List<JvmMemoryLocation>> traces = cpaRun.extractLinearTraces();
    +
    + +

    Interpreting the analysis result

    +

    The result of the analysis is a set of witness traces, if there is a data flow detected. +A witness trace is a list of memory locations at specific program locations. For instance, +the class below

    +
    // Run the analysis and get witness traces.
    +public class Main
    +{
    +    public static void main()
    +    {
    +        sink(callee());
    +    }
    +
    +    public static String callee()
    +    {
    +        return source();
    +    }
    +}
    +
    + +

    would generate a witness trace consisting of two top stack locations, one after the taint source in +callee() and another before the call to sink(String s):

    +
    [JvmStackLocation(0)@LMain;main()V:3, JvmStackLocation(0)@LMain;callee()Ljava/lang/String;:3]
    +
    + +

    Note that the traces returned by the CPA run go from the taint sink to the taint source. +There are four types of memory locations:

    +
      +
    • stack locations identified by their offsets from the operand stack top,
    • +
    • local variable locations identified by their indices in the local variable array,
    • +
    • static field locations identified by their fully qualified names,
    • +
    • heap locations identified by their abstract references.
    • +
    +

    Complete example: AnalyzeTaints.java

    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file